Linux: личный опыт в этом году

08.11.2017

Хочу поделиться своим опытом тестирования дистрибутивов Linux в медленно уходящем 2017 году. Напомню, что мой профиль использования — это классическое настольное применение, также известное как desktop computing. Если говорить конкретно, то свою тестовую машину я использую для интернет-сёрфинга, проигрывания медиа-контента, каталогизации фотографий, а также для написания, сканирования и печати документов. Существенный момент: я регулярно пишу обзоры новинок открытого ПО, которые вы можете читать в журнале Linux Format, поэтому для меня жизненно важно иметь возможность устанавливать самые новые программы. Если есть готовые бинарные сборки — хорошо, нет — не беда, я могу и сам собрать что угодно из Github.com.

С точки зрения «железа», использовалась следующая конфигурация:

  • Intel Core i3 2105 с материнской платой DH67BL-B3;
  • Встроенная графика Intel HD 3000 Graphics;
  • 8 Гб ОЗУ (DDR3/1333)
  • Intel SSD 120GB

В качестве подопытных операционных систем выступали интересующие меня дистрибутивы Linux: openSUSE 42.3, elementaryOS 0.4.1, Rosa Fresh R9, Mageia 6. Каждая из этих систем прожила в моём компьютере не менее 2 месяцев и оценивалась с точки зрения удобства, функциональности и эстетики. Ниже я поделюсь своими впечатлениями о каждой из них.

openSUSE 42.3

Данный дистрибутив имеет массу преимуществ для тех, кто по тем или иным причинам, предпочитает RPM-системы. Здесь есть очень удобный и надёжный инсталлятор от Suse Enterprise Linux (SLE) и довольно толковый центр управления YaST. Я сознательно выбрал более консервативную и стабильную версию Leap вместо всегда супер-свежей Tumbleweed по простой причине: в Leap я могу подключить дополнительные репозитории и обновить множество компонентов до самых свежих версий, получив на выходе нечто похожее на Tumbleweed. Но при этом, если что-то пойдёт не так, я всегда могу временно отключить такие репозитории и откатиться обратно. Не стоит забывать, что команда ‘zypper dup’ не столько обновляет пакеты, сколько приводит их в соответствие с текущим набором включённых репозиториев, то есть, её можно использовать и для даунгрейда (отката). Я установил новые версии для Qt5, KF5, KDE, KDE Extras, настроил себе более свежий компилятор GCC 7, перешёл на свежую версию ядра. У меня появилась самая новая версия рабочего стола KDE Plasma 5, которая автоматически обновлялась почти без моего участия. В openSUSE имеется отличная интеграция PackageKit и Zypper, поэтому для установки обновлений достаточно пару раз щёлкнуть мышью по значку в системном лотке. Даже пароль вводить не нужно!

opensuse1
Что и говорить, обновления в openSUSE ставить легко и приятно, однако за последствия никто не отвечает…

Однако, со временем стали вылезать недостатки такой системы: приверженность самым новым версиям вышла мне боком. То и дело после очередного обновления что-нибудь отваливалось или начинало работать не так. Либо Segmentation fault, либо частые падения самой оболочки Plasma (да, она всё ещё падает иногда!), либо временная потеря функциональности (Virtualbox может не работать с самым новым ядром). Проблемы можно обычно решить с помощью маневрирования с репозиториями, но со временем, опять же, дистрибутив превращается в гремучую смесь пакетов от разных поставщиков. Поддерживать стабильность вручную оказалось довольно трудозатратно. Всё таки, openSUSE Leap наиболее надёжен именно в своём изначальном виде, со стандартным набором репозиториев (плюс можно безболезненно использовать Packman), но тогда он теряет важную для меня особенность — свежесть пакетов. Оставаться на Qt 5.6 и GCC 4.8 для меня неприемлемо: я знаю дюжину проектов на Github, которые нельзя скомпилировать с этим устаревающим инструментарием.

Есть и ещё одна особенность проекта openSUSE, которая меня расстраивает. Дело в том, что инфраструктура проекта работает слишком уж нестабильно и непредсказуемо. По выходном где-то раз в месяц останавливается сервис software.opensuse.org, якобы на «плановые работы». Несколько раз я сталкивался с неработающим сервисом OBS и по будним дням – вместо страницы поиска пакетов вылетал Error 404. У openSUSE имеется два датацентра: один в Нюрнберге (Германия) и второй где-то в США. Стабильность работы обоих отражает общую картину с обеспечением качества (quality assurance, QA) в openSUSE – лично я не вижу ни стабильности, ни качества, но зато воочию наблюдаю постоянно прерывающийcя uptime.

opensuse2

При «настольном» использовании система обрастает репозиториями как снежный ком. Ну, по крайней мере, у меня 🙂

По этим причинам я в итоге принял решение перенести openSUSE 42.3 в виртуальную среду VirtualBox и использовать этот дистрибутив по мере надобности. Мне по-прежнему нравится очень удобная функция Zypper, позволяющая мигом установить все зависимости для сборки того или иного пакета:

sudo zypper --si d <package>

Пользовательская аудитория у openSUSE всё ещё значительная, и в частных репозиториях на OBS можно найти очень много интересных программ, которые уже кто-то успел собрать.

elementaryOS 0.4 «Loki»

Это один из самых популярных отпрысков Ubuntu. Система очень хорошо себя зарекомендовала у новичков в мире Linux, и вполне заслуженно, как мне кажется. Система elementaryOS 0.4 «Loki» основана на Ubuntu 16.04 LTS и отличается повышенной стабильностью, надёжностью и увеличенным сроком поддержки. Последнее особенно удобно: можно один раз установить Loki в качестве запасной ОС и вспомнить о ней пару лет спустя. После установки всех накопившихся обновлений с системой не случится ничего страшного, всё продолжит работать как часы. Вроде бы, ничего особенного, но многие другие Linux не переносят такого к себе отношения. Очень круто и удобно то, что elementaryOS полностью совместима с Ubuntu, а значит я могу подключить любой PPA-репозиторий для Ubuntu, и он гарантированно будет работать. Де-факто Ubuntu является наиболее распространённым дистрибутивом Linux в мире, и для него создано множество таких частных PPA-источников. Почти любая Linux-версия какой-либо программы имеется в уже собранном виде в чьём-то PPA, а значит мне не нужно возиться со сборкой исходников. Это удобно.

Одной из причин, почему я использую elementaryOS, а не саму Ubuntu, является рабочий стол Pantheon, который является оригинальной разработкой проекта elementary. Он основан на библиотеках GTK3 и Granite, и включает в себя отдельные элементы Gnome 3 (хотя их тут немного). Pantheon очень быстр и по своему поведению напоминает пресловутую macOS, как внешне, так и идеологически.

eos1

Вроде бы всё чисто и аккуратно, но активная вкладка в браузере очень слабо выделена, из-за чего работать неудобно. В дизайне elementaryOS не очень хорошо обстоят дела с контрастностью элементов.

Несмотря на то, что я не являюсь поклонником Debian и deb-дистрибутивов, наличие на компьютере elementaryOS для меня полезно, так как на свете существует некоторое число программ, которые очень легко установить в Ubuntu-подобных ОС, и очень трудно собрать где-либо ещё. Хороший пример: игра Machines vs. machines, которая опирается на QML-модули к Qt5, написанные в Canonical специально для Ubuntu. Это также относится к целому пласту программ, написанных в то время, когда в Canonical ещё делал ставку на Unity и Mir, и разрабатывал много специфических для Ubuntu компонентов. Другой пример – замечательный каталогизатор заметок Outwiker, который очень легко поставить из PPA и довольно муторно собирать вручную.

elementaryOS 0.4 могла бы быть идеальной настольной системой, но увы, она имеет свои недостатки, которые раскрываются после первых дней интенсивного использования. Во-первых, не все компоненты от Ubuntu 16.04 можно заменить более свежими версиями, и если программа требует самую новую GTK3, то мне гораздо проще накатить новейшую Fedora и собрать всё там, вместо ломания стабильной, но устаревшей GTK3 в elementaryOS. Во-вторых, кажущееся удобство рабочего окружения оборачивается совершенно дикими проблемами при каждодневной работе. Копирование файлов в Pantheon-files, каталогизация фотографий штатным приложением, веб-сёрфинг в Midori и Epiphany (Gnome Web) – всё это очень неудобно. Мало функций, мало настроек, невозможно что-либо изменить и перенастроить. Дополнительное наблюдение, которое, впрочем, относится не столько к elementaryOS 0.4, сколько ко всем рабочим окружениям на GTK3 – это крайне скудная и ограниченная функциональность прикладных программ. Я уже писал заметку о возмутительно убогом индикаторе погоды от проекта elementary, но с остальными приложениями из нового elementary AppCenter ситуация та же. Когда я подбираю свободные приложения для своей рубрики в журнале, я всегда отмечаю убожество и ограниченность программ на GTK3. Почти все они примитивны до безобразия, и при том часто ещё и нестабильно работают. Напротив, самые лучшие, развитые и функциональные приложения часто написаны на C++ и имеют интерфейс на Qt. Такое вот наблюдение 🙂

Наконец, я отмечаю всё возрастающую жадность разработчиков elementaryOS в отношение пользовательских донатов. Принцип Pay what you want – пример отвратительной жадности и истончающейся связи этих ребят с реальностью. Они заставляют ничем не виноватых людей чувствовать себя нищебродами каждый раз когда требуется скачать из AppCenter «условно-бесплатную» программу (с лицензией GPLv3, между прочим). Разумеется, это вовсе не означает что весь дистрибутив Loki 0.4 из-за этого плох.

eos2

Мы напишем недопрограмму на Vala и GTK3, а вы нам дадите немного денег. Видимо, в мире хипстеров растёт напряжение из-за недостатка донатов…

В итоге, elementaryOS живёт у меня на запасной разделе моего SSD и используется время от времени, в зависимости от задач и настроения.

Rosa Fresh R9

Мои отношения с этим российским дистрибутивом начались в 2012 году, когда в мае проект Rosalab презентовал версию Rosa Marathon. Этот релиз планировали поддерживать и обновлять аж 5 лет, что являлось прямым ответом на Ubuntu 12.04 LTS от британской Canonical. Увы, история Rosa Linux продолжила своеобразное «хождение по мукам» своего прародителя – французской Mandriva Linux. В 2011-2013 годах Rosa имела мощную финансовую подпитку от фонда NGI, организованным бывшим министром связи РФ Леонидом Рейманом. У компании имелся шикарный офис в Сколково и большой штат сотрудников. Именно в это время под руководством UX-дизайнера Кирилла Монахова был создан прекрасный набор фирменных значков Rosa и куча интересных модификаций для KDE. Многое из этого используется в дистрибутиве до сих пор.

Rd2012-new-icons

Отличная фирменная тема значков — это именно то, что меня всегда привлекало во внешнем виде Rosa Linux

Любопытно, что «тучные» годы Rosa Lab совпали с волной неистовой критики дистрибутива со стороны анонимусов и прочих человекоподобных с сайта Linux.org.ru. Дистрибутив ненавидели за то, что под него якобы попилили неисчислимые суммы бюджетных денег, а также за то, что он русский, а всё русское по определению толковым быть не может. Время показало, что оба обвинения были напрасными. С некоторых пор Rosa Linux существует под крылом НТЦ ИТ «Роса», имеет очень скромный штат сотрудников (не знаю, сколько их там точно, но вряд ли больше 10-15 человек) и в основном развивается за счёт образовавшегося сообщества. Интересно, что в наши дни у дистрибутива вполне неплохая репутация у Интернет-пользователей, никто Росу больше не ненавидит, но зато и будущее дистрибутива немного туманно: лично я боюсь, что проект может в любой момент умереть, и сообщество просто не справится с его поддержкой (например, кто-то должен оплачивать размещение сборочной среды ABF в датацентре).

После Rosa Marathon стартовала проект Rosa Fresh – версия дистрибутива с полускользящим режимом поддержки и обновления. «Полу-» означает, что в рамках базовой платформы у вас есть полноценная роллинг версия, а для перехода между платформами всё же рекомендуется устанавливать систему с нуля. Были выпущены две базовых платформы: 2014.1 и 2016.1, последняя является актуальной на данный момент.

Итак, какими особенностями обладает Rosa Fresh R9, основанная на платформе 2016.1?

  • Интеграцией дополнительных инструментов настройки (drak-приложений, унаследованных от Mandriva) в стандартный центр настройки KDE Plasma. Для сторонних программ сделаны соответствующие KCM-обёртки;
  • Свежими версиями рабочих окружений и прикладных программ. Версии пакетов в Rosa могут немного отставать от upstream, но зато в дистрибутиве организовано более толковое и тщательное тестирование новых функций. Если новая версия Plasma 5 несёт в себе регрессии и новые ошибки, пользователи Rosa получат её позднее, когда ошибки будут исправлены в корректирующих минорных релизах. Это не очень удобно для тех кому нужен bleeding edge (таким лучше подойдёт Manjaro или тот же Tumbleweed), но зато обеспечивает отличную стабильность системы. Однажды установленная Rosa Fresh может работать годами без сбоев;
  • Наличием огромного количества дополнительного ПО в репозитории Contrib. Стандартная поставка Rosa уже включает задействованный репозиторий Contrib, который по своему «богатству» не уступает, а иногда и превосходит знаменитый AUR от проекта Arch Linux. Я говорю сейчас не о формальном количестве пакетов, а о наличии всяких редких штук, вроде VoltAir, OilWar, Softmaker Freeoffice, которые сложно найти где-то ещё в готовом виде. В отличие от россыпи PPA-репозиториев в Ubuntu или частных OBS в openSUSE, содержимое Contrib централизованно пересобирается и тестируется средствами сборочной фермы ABF, что положительно сказывается на стабильности программ;
rosa2

Хотите поиграть в эту игру? Ставьте Rosa Fresh!

  • Возможностью скачать свежий промежуточный образ системы вместо того, чтобы накатывать огромный пласт обновлений поверх оригинального релизного образа. Это не полноценные nightly builds, но очень близко к ним. Это именно то, чего мне так не хватает в других дистрибутивах, особенно когда под рукой нет быстрого безлимитного Интернета (бывает и такое!);
  • Наличием дружного и адекватного сообщества на официальном форуме проекта. Активность там умеренная, и, к примеру, сообщество Ubuntu будет гораздо многочисленнее и более разговорчивым, однако форум Росы гораздо толковее, чем форум openSUSE, и бесконечно лучше того, что происходит в русском сообществе elementaryOS (напомню: ребята там зачем-то специально забросили свой форум и переместились в Telegram-канал, где быстро скатились в привычный для телеграма шлак).
rosa1

В разделе «Системное администрирование» содержатся инструменты, которые в других дистрибутивах разбросаны где попало.

В Росе довольно удобно заниматься сборкой программ из исходного кода, так как, с одной стороны, у нас есть здесь практически все инструменты и библиотеки для сборки (актуальных версий), а с другой, имеется довольной развитый инструментарий URPM, который содержит все неоходимые мне функции. Например, аналогом “zypper –si d” здесь выступает “urpmi –buildrequires”, а вместо “zypper dup” можно использовать “urpm-reposync”.

Разумеется, у Росы имеются и недостатки. Помимо неустойчивого положения дистрибутива и непонятных перспектив (а точнее – молчания со стороны НТЦ ИТ «Роса»), я бы отметил довольно архаичный инсталлятор и заброшенность прежних разработок (например, проигрыватель Rosa Media Player больше не развивается). Но в реальной эксплуатации это всё мелочи.

Rosa R9 является сейчас моей основной системой, и она меня полностью устраивает. Мне нравится то, что инфраструктура сборки этого дистрибутива находится на территории России, и помимо моей личной позиции, тут есть и практическая сторона: никакой тропический ураган или санкции США на реэкспорт ПО не могут повлиять на доступность Росы. Если вопрос с «американскими сервисами» был чисто политическим и никак не отразился в итоге на доступе к ним в РФ, то в конце августа этого года я лично столкнулся с тем, что моя Russian Fedora Remix 26 (какая ирония!) не могла достучаться до списка зеркал именно тогда, когда мне срочно нужно было сделать “sudo dnf update” – в это время в городке Ралейф бушевал ураган «Харви», который на несколько часов обесточил датацентр Red Hat. После этого я задумался: хочу ли я, чтобы мою работу с Linux определяли ураганы в стране вероятного противника? 😉

Mageia 6

Напоследок напишу немного о Mageia Linux. Это ещё один потомок почившей Mandriva Linux и в некотором смысле конкурент Rosa Linux. Я никогда особо интенсивно не использовал Mageia, так как в данном дистрибутиве исторически всегда наблюдались разброд, шатания и срывы сроков. Но я добросовестно прожил некоторое время с Mageia 6, так как в ней имеется портированный из Fedora пакетный менеджер DNF. С моей точки зрения, DNF является более перспективной технологией, чем URPM, и мне очень жаль, что в Росе пока нет DNF. Я пробовал портировать его самостоятельно, но это оказалось трудным заданием, и пока что я застрял где-то на сборке библиотеки Hawkey. В общем, я снимаю шляпу перед разработчиками Mageia за то, что они проделали отличную работу. Более того, в Mageia имеется графический интерфейс для DNF под названием Dnfdragora. Эта программа использует libYui и может интегрироваться с GTK3, Qt5 и ncurses. Такие штуки вызывают у меня зависть и восхищение!

mageia

Современный и быстрый менеджер пакетов, плюс отличный интерфейс к нему — это, безусловно, сильный ход разработчиков Mageia.

Что касается самого дистрибутива, то для начала я советую прочитать обзор от Dedoimedo. Сразу скажу, что с выводами этого уважаемого автора с согласен лишь отчасти. В принципе, Mageia 6 вполне можно использовать в качестве основной системы, особенно если вам нужен проприетарный драйвер Nvidia, однако я легко могу перечислить и недостатки данного дистрибутива:

  • Крайне скудное наполнение стандартных репозиториев (и небогатый выбор сторонних). Я уже как-то привык, что QtCurve, Kvantum, Cool Retro Term можно поставить сразу из репозиториев в Росе. В Магее так нельзя, увы;
  • Старые версии программ. Версия с Plasma 5 использует устаревший набор KDE Applications 16.12, которому скоро стукнет год. Остальные программы обновляются тоже крайне избирательно;
  • Странная приверженность к неудачным пережиткам Mandriva, например к Netapplet. Чтобы понять всю ущербность Netapplet по сравнению с NetworkManager (стандарт в большинстве другим дистрибутивов Linux), достаточно сравнить поведение Mageia и Rosa в VirtualBox: если на хосте меняются сетевые настройки, то NetworkManager в гостевой системе заметит это и автоматически перенастроится, а NetApplet в Mageia просто потеряет сеть до тех пор пока вы не сделаете “# service network restart”. Кстати, в Mageia почему-то нет sudo в стандартной поставке;
  • Довольно много багов. Например, смена языка и системной локали удивительным образом не влияет на некоторые программы. И таких мелочей в системе хватает.

В общем, если бы не DNF, то Mageia 6 вообще не стоило бы рассматривать.

В итоге, опыт использования подсказывает мне, что среди настольных дистрибутивов наиболее сбалансированным вариантом является Rosa R9 (а скоро уже выйдет и R10). Если вы по какой-то причине не любите Plasma 5, то можно использовать отдельную редакцию Росы с рабочим столом Gnome 3. В зависимости от вкуса, предпочтений и привычек вполне достойно установить Ubuntu 16.04 или elementaryOS 0.4, но использовать openSUSE Leap или Mageia скорее всего не стоит: количество ошибок и трудностей со временем приведёт к разочарованию.

Спасибо, что дочитали до конца. Подписывайтесь, ставьте лайки, и всё такое…

Реклама

Решение проблемы с долгой перезагрузкой в openSUSE

27.08.2017

Этот баг долго не давал мне покоя, ещё с версии 42.1. Суть в том, что при выключении или перезагрузке система замирала на консольном приглашении на 60-90 секунд, и лишь потом выключалась. Поиск в Google, конечно же, выдавал кучу подобных жалоб от других людей, вместе с советами по решению проблемы. Но мне ничего не помогало: ни отключение служб, ни ручное отмонтирование разделов, ни ручное завершение всех процессов.

Наконец, мне удалось выяснить, что дело было в кривизне Systemd 228, используемой в openSUSE Leap. Мне помог рецепт, описанный тут. Быстрое решение выглядит так:

The bug can be worked around by creating a file /etc/sysctl.d/50-coredump.conf with the following contents:

kernel.core_pattern=core

That causes the kernel to write coredumps directly, bypassing the buggy systemd code.

Однако, так ядро будет при определённых обстоятельствах писать большие дампы в файл на корневом разделе. Чтобы избежать этого, можно скидывать дамп ядра в /dev/null:

sudo -i

ln -s /dev/null /etc/sysctl.d/50-coredump.conf

echo '* hard core 0' >> /etc/security/limits.conf

UPD.

За последнее время мне удалось выяснить, что в некоторых случаях описанный выше метод не помогает, но зато гарантированно помогает уменьшение таймаута, который использует Systemd для ожидания завершения пользовательских процессов. Нужно всего лишь изменить файл /etc/systemd/system.conf, раскомментировав параметр DefaultTimeoutStopSec и установив ему какое-нибудь небольшое значение. Например, так:

#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=5s
#DefaultRestartSec=100ms
#DefaultStartLimitIntervalSec=10s
#DefaultStartLimitBurst=5

Теперь больше никаких задержек при перезагрузке или выключении!


2GIS для Linux жив!

31.01.2017

Когда-то, в ноябре 2014 года, разработчики «Дубльгиса» выпустили новенькую бета-версию своего справочника для Linux. Там был чистый интерфейс на Qt5 и QML, плавная работа, возможность скачать карту любого города России и некоторых других стран… Красота! Однако же, дальше беты дело не пошло, и вскоре сайт, посвящённый новой версии 2GIS, закрылся, а разработка перспективного справочника в формате ПК-версии была прекращена. Но репозиторий со сборками дубльгиса для Ubuntu продолжал жить, и он работает до сих пор. В openSUSE имеется несколько частных репозиториев с rpm-пакетами 2GIS. В подобном пакете, на самом деле, содержится не сама программа, а скрипт, который вытягивает deb-пакет из сети и перепаковывает его чем-то вроде alien. В openSUSE 13.2 и 42.1 такой трюк работал без сучка и задоринки, но уже в 42.2 программа перестала запускаться:

2gis0.png

Очевидно, что приложение, собранное под старую версию Ubuntu 14.04, уже не может запускаться в более новых версиях Linux. Забавно, что неосиляторы с Гиктаймса в подобной ситуации сдались ещё раньше: на этапе установки пакета. Однако я не первый раз запускаю проприетарный софт в Linux и знаю, что большинство подобных программ (XnRetro, Dropbox, Skype и т.п.) поставляются с собственным набором некоторых системных библиотек. Всегда можно попробовать удалить одну или несколько таких библиотек и посмотреть как программа попытается использовать общесистемные. Короче говоря, если избавиться от файла /usr/lib/2GIS/v4/lib/libpthread.so.0, то Дубльгис прекрасно запускается и работает:

2gis.png

 

 


KDE и перспективный формат FLIF

27.01.2017

comparison

В номере №205 журнала Linux Format я писал о новом графическом формате FLIF (Free Lossless Image Format), который превосходит PNG и WebP по сжатию данных без потерь. В комплекте с исходным кодом FLIF (т.н. reference implementation) имеются библиотеки кодировщика и декодера, сам кодировщик, а также простейшее средство просмотра — консольная программа viewflif. С таким минимальным набором вполне можно работать, однако формат, по сути, в этом случае выполняет роль архиватора: ни листать, ни редактировать FLIF-файлы без предварительной конвертации нельзя. Правда, есть ещё набор консольных утилит ImageMagick, который с некоторых пор поддерживает формат FLIF. Приличных графических программ просмотра, которые были бы основаны на ImageMagick, в природе нет, к тому же, большинство готовых сборок ImageMagick собраны без поддержки FLIF и не могут его читать. Хотите поддержку — собирайте из исходного кода сами.

На этом фоне Qt FLIF Plugin оказался глотком свежего воздуха. Данная разработка сделана датским программистом Себастьяном Валем (Sebastian Wahl), который ведёт свой блог и увлекается алгоритмами сжатия изображений. Суть Qt FLIF Plugin проста: в вашем распоряжении появляется разделяемая библиотека libflif.so (не путать с одноимённой библиотекой из состава самого кодировщика FLIF!), которая может быть использована любыми Qt-приложениями, поддерживающими QImageIOPlugins, например Gwenview, Kolourpaint и многими другими. Автор плагина также написал свой собственный минималистичный просмотрщик графических файлов, вполне неплохой!

Итак, для сборки нам потребуется слегка подредактировать файл project.pro, добавив туда строку CONFIG += c++14:

flif1.png

Если этого не сделать, то проект просто не соберётся современными версиями GCC. Затем нужно убедиться в том, что заголовочные файлы FLIF лежат в нужном месте — между прочим, их нужно заранее вручную положить в /usr/include/FLIF:

flif2.png

Далее командуем make и ждём несколько секунд. Получившуюся библиотеку нужно проверить на успешную линковку с кодировщиком FLIF (дело в том, что плагин почему-то иногда не линкуется):

flif3.png

Дальше, нужно установить саму библиотеку, скопировать .desktop-файлы и зарегистрировать соответствующий тип файла для share MIME database. Следующие команды я выполнял из директории ~/qt_flif_plugin/configuraton:
sudo cp ../libflif.so /usr/lib64/qt5/plugins/imageformats/
sudo cp qimageioplugins/x-flif.desktop /usr/share/kservices5/qimageioplugins/
sudo cp imagethumbnail-flif.desktop /usr/share/kservices5/
sudo cp x-flif.xml /usr/share/mime/packages/
sudo /usr/bin/update-mime-database /usr/share/mime

Результат будет заметен сразу же. Во-первых, заработает генератор миниатюр в файловом менеджере Dolphin:

flif4.png

Во-вторых, можно будет смотреть FLIF-файлы в Gwenview, стандартной программе просмотра из набора KDE:

flif5.png

На данный момент можно использовать лишь версию Gwenview 16.08 или более старую, так как из-за этого коммита программа, начиная с версии 16.12, содержит другой механизм поддержки сторонних форматов. Но это уже вопрос к автор FLIF-плагина — надеюсь, он обновит свой код когда-нибудь. Меня же очень радует сжатие, которое обеспечивает FLIF. Только посмотрите:

flif6.png

 


Скоро выйдут Fedora 25 и openSUSE 42.2

09.11.2016

Релиз Fedora 25 запланирован на 15 ноября, а openSUSE 42.2 — на день позже. На самом деле, оба этих дистрибутива я тестирую уже около месяца, установив ещё бета-версии. У меня есть некоторые наблюдения, которыми я хочу поделиться.

Fedora

25

Это очень достойный и довольно стабильный дистрибутив, который прекрасно подойдёт для домашнего использования, если вы возьмёте не официальную версию, а сборку от проекта Russian Fedora — в ней уже добавлены дополнительные репозитории, кодеки и прочие штуки, которые в обычной Федоре нужно проделывать вручную. Даже если вы не собираетесь использовать Федору как основную систему, её всегда полезно иметь где-нибудь под рукой (в виртуальной машине или на отдельном жёстком диске/разделе), потому что Федора — это всегда самая новая версия рабочего стола Gnome, передовая и самая стабильная работа новой графической системы Wayland, надёжная и стабильная поддержка UEFI и Secureboot в инсталляторе, огромный выбор стороннего ПО через систему Fedora Copr и многое другое.

Вместе с тем, пользоваться Fedora 25 Beta как основной системой затруднительно, потому что многие проекты в Copr пока не делают сборок для версии 25, многие инструменты, вроде Fedy, тоже пока поддерживают только версии Fedora вплоть до 24-й. Короче говоря, надо просто немного подождать.

В середине октября моя Russian Fedora 25 Beta вдруг перестала обновляться и вообще видеть сервера обновлений. Я догадался заглянуть на страницу состояния инфраструктуры Федоры и увидел там много красного цвета. Инфраструктура всего проекта «лежала» примерно 2 часа по вине урагана «Матфей», который вызвал наводнения и обрыв электропередач в местечке Raleigh, где и расположен дата-центр Fedora Project. Казалось бы, Fedora умеет искать местные зеркала своих репозиториев во всех частях мира, однако сам список зеркал всё равно сначала подтягивается из США. Так что при использовании стандартных настроек пакетного менеджера DNF, работоспособность Russian Fedora всё равно критично зависит от американских серверов.

openSUSE

plasma-5-8-widgets

Предыдущий релиз 42.1 мне откровенно не понравился — он был очень «сырым» и стал более-менее хорошим только через пару-тройку месяцев, когда большинство проблем разработчики наконец решили. Я использую openSUSE ещё со времён версии 10.2 и могу сказать, что за прошедшее время было много как хороших, так и неудачных релизов —  в этом смысле проект openSUSE остаётся непредсказуемым. Правы были те пользователи, которые не стали обновляться до Leap 42.1 и остались на отличных версиях 13.1 и 13.2. Но похоже, что грядущий выпуск 42.2 получится исключительно удачным. За месяц активного использования я остался очень доволен качеством и производительностью системы. Пожалуй, стоит перечислить достоинства и некоторые выявленные недостатки в openSUSE 42.2.

Достоинства:

  • Традиционно лучший инсталлятор из виденных мною. Логичный, удобный, стабильный — оно и не мудрено, ведь готовили его изначально для платной версии SUSE SLE:
  • Приятный в использовании и очень производительный рабочий стол Plasma5;
  • Огромный набор дополнительного ПО в системе openSUSE Build Service (OBS). Здесь много энтузиастов из сообщества openSUSE поддерживают свои сборки пакетов, и тут есть практически всё;
  • Пакетный менеджер Zypper, который, на мой взгляд, гораздо мощнее любого apt или urpm*. На моей практике мне удавалось легко и изящно откатывать систему к предыдущему состоянию после обновления из «левых» репозиториев, используя Zypper. Сломать пакетную систему в openSUSE практически нереально — даже загубленную систему всегда можно вернуть в строй, вычистив её от ненужных наслоений;
  • Интересные возможности бэкапа и версионирования системы благодаря файловой системе Btrfs. В последний раз я тестировал Btrfs ещё с openSUSE 13.1, и тогда меня неприятно удивила низкая производительность этой ФС на десктопе. С тех пор я всегда форматировал корневой раздел для openSUSE в ext4, но недавно я решил поставить 42.2 RC на отдельный жёсткий диск и оставил в инсталляторе настройки по умолчанию — они-то и предлагают всегда Btrfs. В итоге, установленная система показалась мне очень быстрой, и теперь мне больше не хочется менять Btrfs на ext4. Кстати, недавние тесты показывают, что Btrfs не так уж и отстаёт от конкуренток;
  • Самый удобный способ установки обновлений, что я когда-либо видел. В системном лотке Plasma5 сидит значок обновлений, который подаёт сигнал о новых версиях пакетов. Достаточно всего двух щелчков мыши — и обновления тут же скачиваются и устанавливаются!

Недостатки:

По мелочи всегда набираются ошибки, которые хоть и не сильно влияют на общее впечатления о системе, но раздражают. Так, при выходе (log out) из Plasma5 эта самая Плазма сначала замирает на пару секунд, потом с ошибкой перезапускается, и лишь после этого сеанс завершается. Есть надежда, что это исправят в ближайших выпусках Plasma 5.8.х, так что нужно просто подождать обновлений. В остальном, некоторые программы всё равно приходится собирать вручную (KEncFS, KNemo), но их немного. Русификация Plasma5 в целом на «четвёрку» — чуть похуже чем в Rosa Fresh, но мелкие огрехи не сильно портят жизнь.

Самое главное — openSUSE 42.2 ещё до своего выхода оказался очень стабильным и пригодным для использования дистрибутивом, который я могу рекомендовать всем, кто интересуется Linux.


Некоторые исправления для OpenSUSE 42.1

12.01.2016

1. При загрузке ядра система зависает намертво и… через 20 минут всё таки грузится. В 13.2 наблюдал такое на ядре kernel-desktop и лечил это тогда переходом на kernel-default. В OpenSUSE 42.1 нет в образе такого выбора ядер, а новый kernel-default стал зависать при загрузке именно так. Решение нашлось очень простое: к параметрам загрузки ядра нужно добавить dis_ucode_ldr. Нашёл тут.

2. На некоторых машинах система время от времени зависает сама и без видимых причин. В dmesg такое:

[   35.962355] systemd-journald[525]: File /var/log/journal/fde0e1438648364a342657f95654294e/user-1000.journal corrupted or uncleanly shut down, renaming and replacing.

Заметил, что проблема имеется только тогда, когда /var примонтирован на отдельном разделе (именно так предлагается по умолчанию при установке 42.1). Удалось вылечить следующим образом:

su -
rm -rf /var/log/*
systemctl daemon-reload
reboot

Из того, что пока не удалось починить:

  1. При обновлении/установки ядра, создание initrd и обновление загрузчика занимает очень много времени (у меня — 40 минут). Опять же — только на некоторых конфигурациях, когда в системе определённое сочетание дисков с MBR и GPT.
  2. В Plasma 5 полная неразбериха в системном лотке. К тому же так и не починено отображение значка Dropbox. Xembed-sni-proxy не помогает.

В целом, OpenSUSE 42.1 — один из самых глючных и небрежно сделанных релизов OpenSUSE, что, безусловно, расстраивает. Я рассчитывал на качественную сборку KDE Plasma 5, но пока получается, что лучше всего Plasma 5 собрана в Rosa Desktop Fresh R6. Кстати, свежий образ системы «на посмотреть» можно взять тут.

 


Ставим Popcorn-Time в OpenSUSE

26.09.2015

Любопытно, но готового пакета с Popcorn-Time для OpenSUSE не нашлось во всей OBS. В сети имеется установочный скрипт, который по идее должен ставить приложение, но скрипт, увы, устарел и больше не работает. Если вы хотите поставить Popcorn-Time вручную, то это сделать совсем не сложно. Но гораздо удобнее всё же воспользоваться обновлённым скриптом, который я сделал. Скрипт протестирован на OpenSUSE 13.2 64 bit.

Скачать.