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 скорее всего не стоит: количество ошибок и трудностей со временем приведёт к разочарованию.

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

Реклама

Стеганография для всех

14.07.2017

Я часто пропадаю в бездонных глубинах Гитхаба. Там темно, уютно, и иногда попадаются довольно интересные штуки, про которые просто так никто и нигде не пишет. Сегодня я хочу показать проект Doublespeak, который представляет собой простую и незамысловатую веб-страницу на HTML, CSS и Javascript. Однако интерес представляет сам способ применения Doublespeak. Перед нами средство скрытой передачи данных, иначе — стеганографии. Для того, чтобы спрятать один текст внутри другого, Doublespeak использует четыре невидимых символа из таблицы Юникода, а именно U+200B, U+200C, U+200D и U+FEFF. Это невидимый пробел, невидимый неразрывный пробел и два невидимых компоновщика. По всей видимости, они нужны для более аккуратной вёрстки текста, однако один программист из Санта-Клары решил использовать их для четвертичной кодировки текста. Выглядит это волшебно: добавив к видимому тексту секретное послание, вы можете копировать и вставлять этот текст сколь угодно раз в (почти) любых приложениях, на разных операционных системах. Заподозрить неладное можно только посмотрев на размер файла, в котором сохранён этот «особый» текст: закодированное послание занимает в 4 раза больше байтов, чем тот же текст в обычном виде. Поэтому размер итогового текста в байтах можно рассчитать по формуле x+4y, где x — размер видимого текста, а y — размер невидимого текста. Вряд ли кто-то станет заморачиваться этим, особенно если речь идёт об использовании мессенджеров, поэтому данный вид стеганографии можно считать рабочим.


Погода и донаты

19.05.2017

Поводом для этой заметки послужил выпуск операционной системы elementaryOS Loki 0.4.1, вобравший множество доработок последних месяцев.

У меня сложилось противоречивое отношение к этой системе ещё в момент выхода предыдущей крупной версии, Freya 0.3. С тех пор противоречия только усугубились 🙂

С одной стороны, нельзя не отметить традиционно высокую производительность рабочего стола Pantheon и ряд очевидно удачных находок: прекрасный терминал, отличный вывод уведомлений, удобный почтовый клиент и т.п. Я сам одно время пользовался elementaryOS в качестве основной системы, и написал тогда ставшие очень популярными заметки о всяких интересных штуках. Однако, помимо ошибок и недоработок самой системы, есть вещи, которые раздражают особенно.

В elementaryOS 0.4.1 дебютировал обновлённый AppCenter (Центр приложений), на разработку которого был объявлен сбор денег. Сбор завершился успешно, но теперь разработчики не оставляют попыток совершенно бесстыдно привлечь деньги через «добровольные пожертвования пользователей» (и это уже не первый раз!). Всё бы ничего, но нам предлагают задонатить приложения, функциональность которых не просто стремится к нуля, но и порой уходит в минус.  Нас теперь встречает такое:

loki_sucks1

 

Магазин открытый, программы (практически все) распространяются по лицензии GPL2/3, то есть их исходный код доступен всем. Но нам предлагают заплатить, кто сколько сможет. Некоторые приложения изначально помечены кнопкой «Бесплатно», за другие же по умолчанию просят небольшие суммы. Например, за стильный индикатор текущей погоды просят символический 1 доллар:

loki_sucks2

В выпадающем меню рядом с ценой можно изменить размер пожертвования: например, вам может показаться исходная сумма унизительно маленькой, и вы захотите увеличить платёж до 5, 10 или любого другого количества долларов. Для того чтобы просто установить приложения, вам каждый раз придётся расписываться в собственной жадности и вводить нищебродский 0:

loki_sucks3

Наконец, программа Nimbus установлена и запущена. Чем же она примечательна? Отвечу сразу: экстремально низким соотношением цена/качество. Это приложение просто вычисляет ваше расположение по IP-адресу и показывает для него температуру в Фаренгейтах, всего-то…

loki_sucks4

Программа Nimbus написана Даниэлем Форе, одним из создателей проекта elementaryOS. В ней нет абсолютно никаких настроек. Никаких! В данный момент я выхожу в Интернет через 4G-модем Мегафона, который показывает, что я в Москве, хотя я на самом деле в Петербурге. И плевать на то, что в Linux большинство других индикаторов погоды умеют показывать не просто населённый пункт, но и конкретный район в нём. Плевать на то, что в России, да в большинстве других цивилизованных стран, температуру меряют в Цельсиях… У меня просто нет слов. Ладно бы это была  обычная «элементарная» программа, но за неё вежливо просят ещё и заплатить. Даже в мире Apple, где исторически было принято платить за не самые сложные приложения, эти самые приложения были хотя бы качественными.

Для примера, я покажу, как должен выглядеть индикатор и прогноз погоды здорового человека. Прежде всего, нам не нужен никакой «магазин приложений», так как в правильном рабочем окружении уже имеется встроенная функция загрузки дополнительных элементов. Я просто ввожу в поиск weather и выбираю то, что мне больше нравится:

weather1

На мой взгляд, самый лучший погодный виджет — это Weather Widget, второй пункт сверху. Его я и поставлю. Виджет можно добавить на панель, либо на рабочий стол. Внутри имеются нужные настройки:

weather2

Weather Widget может показывать погоду для любого количества мест, используя Openweathermap, либо данные из норвежской метеорологической службы YR.no. В приведённом выше примере я добавил свой район два раза, чтобы сравнивать прогноз от двух разных поставщиков. В разделе Appearance я могу настроить то, как будет выглядеть виджет на панели, установить время отображения и включить отрисовку метеограммы для yr.no:

Screenshot_20170519_132951

В разделе Units я могу установить любую комбинацию для единиц измерения:

Screenshot_20170519_133005

После настройки у меня в лотке всегда актуальная информация о погоде для моего района (а не просто города). При наведении мыши на виджет появляется всплывающее окно с дополнительной информацией (например, так удобно узнавать время восхода и захода Солнца, скорость ветра и давление):

Screenshot_20170519_133047

Если же нажать на виджет, то можно посмотреть подробную метеограмму:

Screenshot_20170519_133118

Тут есть всё что нужно: температура, давление, величина прогнозируемых осадков, облачность. Информация представлена в двух видах и по часам. Я всегда могу сравнить этот прогноз с другим, аналогичным, просто нажав на Next Location:

Screenshot_20170519_133131.png

Норвежцы допускают в субботу мелкий дождик днём, а OWM — нет. Скорее всего, дождя не будет 🙂

Всю эту красоту сделал человек, не занимающийся собственным пиаром и не просящий деньги за свой виджет. Разработчикам elementaryOS есть чему у него поучиться!


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

 


Ретро-смартфоны: личный опыт

22.11.2016

20161122_102830

Недавно я приобрёл Nokia N8 — знаменитый бизнес-смартфон из 2010 года, некогда флагман всей линейки Nokia. В те времена данная модель стоила запредельно дорого и позиционировалась как конкурент iPhone 4. Интересно то, что сейчас, в конце 2016 года, несколько фирм всё ещё продают новые Nokia N8. Аппарат стоит где-то 5-6 т.р. Если брать б/у через частные объявления, то цена составит 2-3 т.р., в зависимости от состояния.

В чём же смысл покупки морально устаревшего смартфона 6-летней давности?

  • Во-первых, у него шикарная фотокамера, которая очень хорошо снимает. Для сравнения, я приведу снимок Samsung Galaxy Alpha (SM-G850F) и такой же кадр, снятый на Nokia N8:

20161121_192126

Вечерняя съёмка на SM-G850F (Galaxy Alpha). Выбран самый чёткий кадр. Для просмотра в полный размер откройте изображени в новой вкладке.

2016-11-21-004

Тот же кадр, снятый на Nokia N8. Здесь выше чёткость и больше деталей (заметно по надписи на воротах), плюс нет такой агрессивной пост-обработки. Для просмотра в полный размер откройте изображение в новой вкладке.

  • Во-вторых, у Nokia N8 есть полный набор коммуникаций, включая порт mini-HDMI, отдельный microUSB, отдельный порт для зарядки, слот для карт памяти, 3G, Bluetooth и много чего ещё. У меня есть переходник mini-HDMI-HDMI и переходник для USB, что позволяет подключить смартфон к монитору, вставить маячок для мышки и клавиатуры (либо подцепить мышь по Bluetooth) и работать почти как на настольном компьютере. Nokia N8 умеет даже печатать на принтере! Плюс ко всему, аппарат можно при этом параллельно держать на зарядке;
  • В-третьих, у Nokia N8 есть режим USB-хоста, который не жалуют производители современных смартфонов. В результате, Nokia N8 может работать как быстрая флешка, что позволяет быстро и удобно забирать с неё файлы (например, фото), или закидывать их на смартфон. Кстати, телефон сам может читать флешки (через переходник);
  • В-четвёртых, Bluetooth-модуль в аппарате поддерживает режим DUN (dial-up network), что, опять же, уже почти не встречается в современных моделях. DUN позволяет использовать телефон в качестве беспроводного 3G-модема и заходить в интернет без обязательной раздачи Wi-Fi с телефона. На первый взгляд, смысла в этом не так много, но разница всё же есть: в режиме модема вы контролируете весь трафик на стороне клиента (компьютера), а в режиме Wi-Fi Hot Spot раздача интернета контролируется сервером (телефоном). Некоторые операторы могут вообще заблокировать раздачу своего трафика по Wi-Fi, что часто и происходит.
  • Наконец, у него металлический корпус, который круто выглядит и не подвержен истиранию, а также долгая жизнь от батареи. Аккумулятор тут всего 1200 мАч, при этом аппарат легко живёт на полной зарядке трое суток.

Разумеется, использовать N8 как основной смартфон в наши дни почти невозможно. В своё время у меня был на руках аппарат Nokia 808 — самый лучший и мощный телефон на Symbian/Nokia Belle. Я пользовался им в 2013-2015 годах и всё же вынужден был с ним расстаться: несмотря на лучшую в своём классе камеру, шикарный экран и уникальный внешний вид, под Nokia Belle было слишком мало приложений, а имевшиеся программы со временем переставали работать из-за отсутствия поддержки. Nokia N8 старше 808 на два года, и характеристики у него скромнее (хотя снимает он всё равно лучше почти всех новых смартфонов, кроме топовых), но я изначально отношусь к нему как к интересной игрушке, обладающей множеством полезных функций.

Хочу сказать, что за последнее время у меня в руках побывали основные и самые интересные смартфоны Nokia до Windows-эры: 808, N9, N8. Модель Nokia N9 я поменял на уникальную Jolla C — теперь у меня есть возможность работать с SailfishOS на современном аппарате. Nokia N8 у меня пока будет трудиться в качестве 3G-модема и походного фотоаппарата с живучей батареей. Данный телефон всё ещё актуален: если вы знаете, чего хотите и не требуете от него наличия современных Android-приложений, то N8 может стать очень выгодной покупкой.


Видео-обои

10.11.2016

Рабочий стол Plasma 5 поддерживает установку видеороликов в качестве обоев рабочего стола, а также для экрана блокировки. Делюсь ссылками: процесс и результат.

 


Кружка с оригинальным дизайном

16.06.2016

На Чёрном Море, где я недавно провёл отпуск, находится много торговых точек типа «сделаем футболку или кружку с вашей картинкой». Недолго думая, я открыл Krita и набросал дизайн для кружки, используя логотип KDE и обои из последнего выпуска Plasma5. Получилось вот так:

20160615_110306

Как видно, на кружке нашлось место и для зелёного дракона Konqi, который мне всегда нравился. Вот ещё вид спереди:

20160615_110326

Картинка запечена прямо под поверхность лака и не смывается. Кстати, я сделал два экземпляра кружки, на всякий случай 😉