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

 


Лицензия Jailware для браузера Opera

19.01.2017

Screenshot_20170119_134447.png

Как известно, недавно произошла утечка исходных текстов веб-браузера Opera 12, который использовал для отрисовки страниц оригинальный движок Presto. Исходный код провисел на Github и Bitbucket совсем недолго (после чего репозитории были закрыты «из-за обращения правообладателя»), но этого хватило для того, чтобы все желающие успели скачать его себе и перевыложить на другие хостинги для остальных. Для Opera 12 быстро подготовили патч, позволяющий собрать веб-браузер в любом современном дистрибутиве Linux.

И вот, из даркнета приходит новость: написана лицензия Jailware, под которой шутники лицензировали украденный код. Вот она:

JAILWARE PUBLIC SOFTWARE LICENSE
Version 1, January 2017

Software product made available under this license is based on illegaly obtained source code of proprietary software, modified or distributed in a way which is prohibited by its lawful owner or developer. Usage, redistributing or modifying of this software is considered potentially illegal, and may be punishable by international laws & laws of your country of residence.

JAILWARE PUBLIC SOFTWARE LICENSE
TERMS & CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. Use & distribute only at your own risk. Bugs and security issues are quite possible.
1. No warranty or support implied in any way. Should you go to jail or be sentenced to a fine — you’re on your own.

Я предложу собственный перевод:

ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ НА ЗАПРЕЩЁННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Версия 1, январь 2017 года

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

ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ НА ЗАПРЕЩЁННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. УСЛОВИЯ ДЛЯ КОПИРОВАНИЯ, РАСПРОСТРАНЕНИЯ И МОДИФИКАЦИИ

0. Используйте и распространяйте данную программу только на свой страх и риск. Вполне вероятно, что вы столкнётесь с ошибками и проблемами безопасности.
1. Данная программа предоставляется без каких-либо гарантий и поддержки. Если вас посадят в тюрьму или приговорять к выплате штрафа — это ваши проблемы.

P.S.

К сожалению, практического смысла в использовании Opera 12 прямо сейчас нет — браузер постоянно падает с ошибкой вида opera-next got signal SIGSEGV at address 0000011A6F7F. Однако, есть надежда, что энтузиасты исправят код, напишут патчи и приведут «старую» Оперу в порядок. Кое-что уже сделано: вот здесь за пару дней неравнодушные граждане уже накидали 16 (на момент написанияч этих строк) баг-репортов.

Пока же можно насладиться комментариями пользователей под официальным ответом от Opera S.A.