Бюджетный хакинтош

31.07.2020

В предыдущей заметке я рассказывал про компьютер, собранный из устаревших и недорогих компонентов — на всё про всё у меня ушло 3 килорубля. Выяснилось, что даже такой бюджетной конфигурации вполне хватает для установки macOS. У меня в итоге получился dual boot, где первой системой стоит openSUSE Leap 15.2, а второй — macOS Sierra 10.12. Это не самая свежая версия macOS, но мне её возможностей вполне хватает. Я установил в ней много разных интересных программ, включая Microsoft Office 2016 и Adobe CC 2018, настроил учётную запись в App Store и за последние пару недель успел составить некоторое мнение. Сравнивая macOS и Leap c Plasma 5, я заметил как плюсы, так и минусы. Чтобы не заканчивать на жалобах, я, пожалуй, с них и начну.

Итак, что не понравилось в macOS:

  • Проблемы с поддержкой периферии. Тут дело вовсе не в том, что у меня «хак», а в том, что Apple не считает нужным поддерживать мой HP Deskjet 930c, отказывается видеть 2 из 3 моих Wi-Fi-адаптеров (перепробовал по очереди) и вообще, отличается очень ограниченным списком поддерживаемого оборудования. В Linux с этим лучше, однозначно.
  • Очень ненастраиваемый интерфейс. На картинках он выглядит красиво, но в жизни пользоваться неудобно. В Finder я не могу упорядочить папки перед файлами, не могу узнать объём свободного места на диске, не могу искать строго внутри конкретной папки и много ещё чего «не могу». Удалить iTunes и прочие стандартные приложения в ОС можно, но, опять же, приходится каждый раз возиться.
  • Навязчивая забота от Apple. После вольницы в Linux, для меня это однозначно недостаток, хотя бывалые маководы могут и не согласиться. Однако, требуются лишние усилия, чтобы сделать переключение раскладки по Alt+Shift (ставьте Punto Switcher), вернуть нормальное направление прокрутки мышью, отключить блокировку сторонних приложений (sudo spctl —master-disable).

Отдельно хочу отметить, что продукция Adobe за минувшее десятилетие обросла неимоверным количеством всякой тяжёлой и малонужной ерунды. Вспоминая удобный, быстрый и строгий Photoshop из 2000-х, я был разочарован всеми этим  современными свистелками в Adobe CC. Постоянно лезут в глаза какие-то обучающие панельки, агент адобовского облака вечно лезет с обновлениями… Наверняка это всё можно настроить и отключить, но, опять же, зачем было усложнять людям жизнь? Вопрос риторический…

Впрочем, к самой macOS это не имеет отношения. Лучше напишу теперь о плюсах:

  • Плавная графика, отзывчивый интерфейс. Это то, что мир open source никогда не мог нормально реализовать. Всё сделано аккуратно, расставлено по местам, нигде ничего не отваливается. В Linux можно сделать так же красиво и даже лучше (примеры 1, 2), но ощущения будут «не те».
  • Сглаживание шрифтов в macOS на высоте. Кому-то оно может показаться «мыльным», но мне в самый раз. В Linux так сделать принципиально нельзя.
  • Мне понравился стандартный магазин приложений App Store. Discover и Gnome Software сильно отстают, магазин в elementaryOS сделано лучше, но в нём нет такого количества хороших программ.
  • Устанавливать сторонние программы из DMG легко и приятно. Никакие Flatpak и Snap даже близко на это не похожи. Более-менее сравнимый по удобству аналог — это программы для Haiku.
  • Удобный и продуманный док. Даже лучший аналог для Linux (Latte Dock) не такой плавный и не отличается такой интеграцией с системой и приложениями как док в macOS. Тут куча всяких прикольных индикаторов, включая скорость для торрент-клиента.

В целом, мне macOS нравится, но в качестве основной системы я её не вижу — слишком много в Linux делается удобнее и местами быстрее (например, управление сетевыми соединениями). Ну, и ещё есть вопрос гибкости и свободы выбора. К слову, я могу снести NetworkManager и поставить вместо него Intel Connman, могу установить любые средства разработки через стандартный менеджер пакетов и т.п. В macOS так либо нельзя, либо нужно дольше возиться (а лучше вообще ничего не трогать).

Напоследок поделюсь ссылкой на коллекцию бесплатных приложений под macOS: github.com/serhii-londar/open-source-mac-os-apps.


Игра в стиле «защиты башни»

27.02.2020

machines

Среди простых казуальных игр существует популярный жанр: «защита башни» (tower defence). В Интернете несложно найти примеры онлайн-игр этого типа, но все они будут проприетарны. А как насчёт Open Source? Есть неплохая игра Tower Time с исходным кодом на Гитхабе, но других хороших примеров почти нет.

Однако, мало кто знает, что в своё время для Ubuntu Phone была подготовлена профессионально сделанная игра Machines vs. Machines. Помимо несостоявшегося телефона от Canonical, эта игра работает ещё на Sailfish OS, однако там она некоторое время назад поломалась из-за очередного обновления системы.

Несмотря на то, что игра уже несколько лет не обновлялась, её всё ещё можно собрать, причём под обычный настольный Linux. Это нетривиально, но здорово развивает навыки сборки ПО из исходного кода. Сама игра собирается обычным Cmake, но для запуска требует дополнительных модулей QML, входящих в состав QtPim и Ubuntu SDK, а также ручной установки уровней, в которые вы потом будете играть. Мне удалось собрать Machines vs. Machines в openSUSE Tumbleweed, теперь я хочу попробовать сделать то же в Rosa Fresh R11. Если у кого-то есть интерес, то можно обсудить сборку игры и её зависимостей в виде RPM-пакетов.


Самые интересные Linux-программы за 2019 год

26.12.2019

Снова наступило время подводить итоги года в мире программ с открытым исходным кодом. Я по-прежнему занимаюсь написанием обзоров на тему Open Source, поэтому все стоящие открытые проекты у меня на виду. Традиционно, предыдущие выпуски моих подборок по-прежнему доступны, см. статьи за 2018, 20172016 и 2015 годы.

Итак, что самое интересное было в уходящем 2019 году?

Watchman — консольная утилита для слежения за содержимым директории. Если в ней что-то меняется — появляется новый файл или меняется его содержимое — то Watchman может выполнить заданное пользователем действие. В принципе, данную логику можно реализовать и самому, но тут всё уже готово и протестировано. Отличный инструмент для автоматизации!

FPM — программа-упаковщик, которая вам наверняка понравится. FPM умеет упаковывать и конвертировать пакеты Ruby, Perl, Python, Rpm, Deb и ещё десяток других. Например, можно сделать из любого Python-модуля DEB-пакет. Или упаковать набор файлов в виде RPM и потом восстанавливать свои данные из резервной копии через DNF. Программа просто огонь!

Zopfli — алгоритм сжатия данных от Google. Если у вас есть ZIP-архив, который дальше уже не сжимается, то попробуйте Zopfli. Вполне реально выжать ещё ~8%. В комплекте идёт также программа Zopflipng для оптимизации PNG-графики. Очень мощная вещь, которая позволяет сэкономить ~15% размера без потери в качестве. Расплатой является скорость компрессии/декомпрессии и высокая ресурсоёмкость.

Zstd — алгоритм сжатия данных от Facebook. Здесь сделан упор на скорость: сжатие/распаковка происходят невероятно быстро, в то время как эффективность находится где-то между ZIP и LZMA. А ещё Zstd можно натренировать на своём датасете и получить на выходе словарь, с использованием которого Zstd будет сжимать сильнее заданный тип данных.

OpenSnitch — межсетевой экран для контроля исходящего трафика приложений, клон Little Snitch для Linux. Отличная программа, которая открывает глаза на скрытую сетевую активность программ. Под Linux развелось куча сомнительного ПО, от кривых расширений Gnome Shell до шпионского WPS Office, которым срочно надо выйти в онлайн. С помощью OpenSnitch вы сразу это заметите и сможете забанить всю ненужную активность.

Ananicy — оптимизатор приоритетов nice для процессов в Linux. Это простая, но невероятно эффективная штука. Каким-то образом Ananicy делает так, что отзывчивость системы повышается, жор батареи ноутбука падает, и вообще, всё становится как-то плавнее и быстрее. Звучит невероятно, но это так. Это отличный способ ускорить user experience в Linux. Второй достойный способ — настроить Xset).

QtRaw — плагин RAW для Qt5. Оказывается, цифровые негативы вовсе необязательно конвертировать для того чтобы в них что-то поменять: можно открыть RAW-файл напрямую хоть в Kolourpaint, почирикать в нём и тут же сохранить обратно. Шикарная находка для фотографов!

DiffPDF — инструмент сравнения PDF-файлов. Может пригодиться в случае если у вас есть два почти одинаковых PDF, и вы никак не можете понять, где разница. DiffPDF эту разницу подсветит.

Wizardli — быстрый конвертер роликов Youtube в MP3. Очень удобно находить клипы и делать из них аудиодорожки. Wizardli удобно поднять в виде локального веб-сервера и пользоваться им через браузер.

Jade — возможно лучший редактор диаграмм для Linux. Поскольку полноценного аналога Microsoft Visio под Linux нет, то приходится довольствоваться тем что есть. В Jade можно чертить графики, составлять блок-схемы, рисовать стрелочки…

Kitty — эмулятор терминала с аппаратным ускорением отрисовки. Аналог Alacritty. Сложно сказать, что из этих двух работает быстрее, но, в отличие от своего конкурента, Kitty неплохо интегрируется в систему и имеет систему плагинов.

eDEX-UI — на первый взгляд, это ещё одна бесполезная оболочка, пускающая пыль в глаза (напомню, начало этому жанру положила Hollywood). Однако, помимо красоты, в eDEX-UI можно работать как в простом терминале и даже пользоваться консольным файловым менеджером.

Yazram — инструмент для создания Swap-раздела в оперативной памяти, используя сжатие Zram. На машинах с небольшим объёмом ОЗУ использование Yazram может предотвратить зависание при исчерпании ОЗУ.

Игры:

Escoria in Daïza — очаровательный пошаговый квест про панду в бамбуковых лесах. Эта красочная французская игра отлично раскрывает варварское отношение Китая к природе и предлагает не забывать о незаконных вырубках бамбука.

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

Nredneck/Nblood тоже самое, что Eduke32, но для серии игр Redneck Rampage. Почти все эпизоды отлично поддерживаются, можно играть! Для новичков: это Duke Nukem 3D, перенесённый в антураж сельской местности где-то в штате Арканзас. Главный герой ищет своего слабоумного и пьяного в сопли брата, которого похитили пришельцы.

Lutris — не игра, но, на мой взгляд, одно из лучших приложений, связанных с играми. Это интегрированный менеджер игр для Linux с функциями каталогизатора и немножко магазина. С помощью Lutris очень удобно устанавливать эмуляторы ретро-игр: программа упрощает возню до нескольких кликов.

На этом всё!


Загрузка Linux без экранных сообщений

23.04.2019

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

Мне хотелось сделать так, чтобы моя ОС Rosa R11 загружалась максимально аккуратно, без чего-либо лишнего на экране. Отправной точкой послужила статья про «тихую загрузку» для Arch Linux, а примером для подражания — готовящаяся к релизу OpenMandriva Lx 4.0. В Мандриве загрузка происходит просто идеально: после меню Grub2 экран гаснет и загорается уже в KDE Plasma 5. Красота!

Сделаем так же в Росе.

Используем набор параметров из OpenMandriva:
quiet splash logo.nologo acpi_osi=Linux "acpi_osi=!Windows 2012" acpi_backlight=vendor audit=0 rd.timeout=120 scsi_mod.use_blk_mq=1 dm_mod.use_blk_mq=1 rd.systemd.show_status=auto rd.udev.log-priority=3 loglevel=3

Их нужно добавить одной строкой в /etc/default/grub, в качестве значения параметра GRUB_CMDLINE_LINUX_DEFAULT. Для применения понадобится выполнить команду:
sudo update-grub2
Но это ещё не всё: у нас по-прежнему моргает полоска курсора при загрузке и отображается сообщение Started bpfilter. Мигание курсора отключается параметром vt.global_cursor_default=0 (нужно добавить его к описанному выше набору), а для подавления bpfilter мы просто забаним соответствующий модуль ядра (при условии, что сам Bpfilter вам не нужен). Этот модуль отключается хитро: его недостаточно указать в списке blacklist, т.к. по зависимостям других модулей он всё равно будет загружаться. Для решения проблемы откроем файл /etc/modprobe.d/blacklist-mdv.conf и добавим в конец следующую строку:

install bpfilter /bin/false

Кстати, в Росе можно открывать системные файлы в обычном редакторе Kwrite: при попытке сохраниться он запросит пароль root, а не пошлёт вас куда подальше…

В принципе, на этом всё. Что можно улучшить? Во-первых, если при выключении/перезагрузке Linux у вас система висит 1,5 минуты, то можно исправить это, отредактировав файл /etc/systemd/system.conf. Там нужно раскомментировать параметр DefaultTimeoutStopSec и задать ему поменьше секунд. У меня он выглядит так:

systemd

Также, для управления настройками Grub2 удобно использовать графическую программу Grub2-editor. Для Росы можно взять пакет здесь. После установки в параметрах KDE, в разделе «Запуск и завершение» появится новый раздел:

grub2-editor


KMail и Akonadi

11.01.2019

Принято считать, что openSUSE нынче уже не тот. Ошибок, мол, много. Но вот показательный пример.

В декабре все три используемых мною дистрибутива — Rosa, OpenMandiva и openSUSE — собрали KDE Applications 18.12. Я являюсь активным пользователем почтового клиента KMail, который использует для доступа к данным подсистему Akonadi. На данный момент результаты забега следующие:

Rosa. Akonadi работает и даёт настроить почтовый ящик Gmail. Но, при попытке скачать письма валится ошибка akonadi_imap_resource. Работать нельзя.

OpenMandriva. Akonadi не работает и даже не запускается. Кое-как я смог его запустить, но настроить почтовый ящик не вышло: всё падает и отваливается ещё на этапе авторизации в Google, причём падает всё тот же akonadi_imap_resource.

Обе системы ещё не довели до ума KDE Applications 18.12. В Росе сейчас внутреннее тестирование и QA (напомню, что релиза Rosa R11 пока не было), да и OpenMandriva 4.0 всё ещё находится в состоянии Alpha 1. Вроде как и нельзя никаких претензий предъявить.

Но в openSUSE Leap 15 репозитории с новыми версиями KDE, KF5 и приложений тоже считаются тестовыми и не до конца стабильными, однако в этой системе у меня KMail работает идеально. Никаких ошибок, программа безупречно запускается и корректно получает почту. Выходит, что не так уж и нестабильна openSUSE?


Самые интересные Linux-программы за 2018 год

09.01.2019

Прошёл ещё один год, а это значит, что через мои руки прошли ещё 132 новые и интересные программы с открытым исходным кодом. Как обычно, чтобы читать мои обзоры в числе первых, нужно всего лишь подписаться на журнал Linux Format. Разумеется, к тому моменту, когда журнал — не важно, в печатной или электронной форме — попадёт к читателю, новости в нём неизбежно устареют. Но в своей рубрике Hotpicks (когда-то её переводили как «Жемчужины») я придерживаюсь не только критерия новизны. Иногда хорошего обзора достойны приложения, обновлявшиеся в последний раз полгода или даже год назад — главное чтобы они были по-настоящему интересны и полезны.

Традиционны, предыдущие выпуски моих подборок по-прежнему доступны, см. статьи за 2017, 2016 и 2015 годы.

Итак, что у нас на этот раз:

FSTransform — значение этой системной утилиты сложно переоценить. Она умеет конвертировать файловые системы из одного типа в другой на лету, без потери данных (!). Например, из XFS в EXT4, или из EXT4 в NTFS и наоборот. В программе довольно много ограничений, плюс не все комбинации стабильно работают, плюс есть жалобы некоторых пользователей, которые потеряли ценные данные (конечно же не имея их резервной копии). Но сам факт наличия такого конвертера — это просто прорыв! Лучше всего тренироваться с FSTransform на подопытной флешке или другом носителе, который не жалко.

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

DPixel — программа для «умного» растягивания маленьких растровых изображений. Не такая умная как Waifu2x, но всё же полезная. Не использует мощности GPU и Nvidia CUDA, предпочитая классические программные алгоритмы.

Screenshotgun — перспективная программа для изготовления экранных снимков с поддержкой Google Drive, Яндекс-диска и Dropbox. См. также Ksnip и Flameshot.

Android File Transfer For Linux — настоящее спасение для тех, у кого по какой-либо причине плохо работает MTP в Linux. Данное приложение — надёжный и удобный способ списать информацию с Android-смартфона в компьютер.

Отдельным пунктом хочу представить мою мини-подборку программ для просмотра изображений в командной строке. Встречайте Catimg, Chafa и Lsix! Catimg просто очень быстро отрисовывает картинку в терминале, используя умеренно крупные псведо-пиксели. Chafa умеет быстро и плавно проигрывать GIF-анимации (да-да, прямо в терминале!), а Lsix славится высочайшим качеством картинки благодаря использованию sixel-графики. Для него подойдёт не любой терминал (но xterm будет работать).

Lolcat — довольно бесполезная, но очень весёлая и красочная штука. Программа красит содержимое терминала во все цвета радуги. В сочетании с Figlet позволяет делать незабываемо-кислотные баннеры прямо в командной строке (пример).

QSoundrec — простой фонограф. Иногда нужно что-то записать на микрофон, а программы-то под рукой и нет. Вместо того, чтобы тащить тяжёлый Audacity, разумнее воспользоваться маленьким и удобным рекордером Qsoundrec.

Peek — программа для записи GIF-анимаций с экрана. Как-то раз мне нужно была показать работу одной команды в терминале, и я решил записать небольшой GIF-ролик. Вроде бы ничего сложного, но обычно все программы для записи пишут в какой-нибудь видео-формат (типа WebM), который нужно потом чем-то сконвертировать в GIF (типа FFmpeg), а потом получившийся монструозный GIF-файл чем-то оптимизировать и ужать. К счастью, есть Peek, который сразу делает всё как надо.

F3 (Fight Flash Fraud) — проверяльщик флэш-памяти. Пригодится клиентам китайских интернет-магазинов. Если вы стали владельцем штуки вроде этой, то держите под рукой F3!

System-autoupdate — сервис для Systemd, позволяющий автоматизировать установку обновлений в вашем дистрибутиве Linux. Что-то типа unattended updates. Поддерживает APT, DNF и URPMI.

Alacritty — эмулятор терминала с отрисовкой через GPU. Для некоторых пользователей это первый в истории терминал, который не запускается на (очень) старых видеокартах, зато для других — самый производительный терминал в мире, по крайней мере по заявлению разработчиков.

Otter Browser — про него я уже писал в прошлый раз, но теперь у нас есть прекрасные новости: Otter наконец достиг версии 1.0!

Игры:

ChickenPeppa — всем фанатам прекрасного детского мультфильма «Свинка Пеппа» посвящается. Программа является точной копией игры, в которую играл поросёнок Джордж на мамином компьютере. Для детей от 0 до 3 лет.

Eduke32 — средство запуска оригинального Duke Nukem 3D и практически всех его сторонних модификаций. Поддерживает HRP (High Resolution Pack) и даже справляется с Duke Nukem 3D: 20th Anniversary World Tour. Всем любителям оригинального Дюка горячо рекомендую попробовать Eduke32. Hail to the king, baby!

Zabuyaki — драки в ретро-стиле. Под ретро имею в виду не технику боя, а графику и общую атмосферу игры. Действие игры «Забияки» происходит где-то в центре Санкт-Петербурга. Главный герой должен пройти по улице, уложив при этом на лопатки многочисленную шпану, гопников со знакомыми лицами, боевых девиц и толстяков. В игре детально и со знанием дела воссоздан неповторимый колорит стиля «питерский трэш». Для запуска требуется движок LÖVE версии 0.10.

Astromenace — одна из лучших игр про космические войны. Недавно, после долгого перерыва, вышла новая версия 1.4 с улучшенной графикой и исправлением ошибок. В игре прекрасная графика и довольно трудные миссии. Можно залипнуть на несколько дней!

 


Растягивание изображений без потерь

05.09.2018

Надеюсь, у меня получился громкий заголовок 🙂 На самом деле, никакого волшебного растягивания без потерь не существует, разве что в голливудских фильмах. В реальном мире есть неплохой алгоритм xBR для растягивания рисованных изображений, есть удобная программа Smilla Enlarger со своей собственной реализацией этой функции для неплохого увеличения фотографий. Но есть и кое-что получше: Waifu2x. В принципе, у этой программы говорящее имя, ведь тут видны отсылки к аниме и к «увеличению вдвое». Так и есть, Waifu2x отлично справляется с растягиванием именно аниме, и всего, что на него похоже. Но и все прочие типы изображений, включая фотографии, Waifu2x увеличивает очень даже неплохо, как минимум не хуже чем обе другие программы, которые я упомянул выше.

Секрет Waifu2x в использовании двух мощных компонентов:

  • Torch7 — MATLAB-подобной библиотеки для языка программирования Lua с открытым исходным кодом, которая предоставляет большое количество алгоритмов для глубинного обучения и научных расчётов;
  • Nvidia CUDA — набора для разработки приложений, в которых часть вычислений производится на графическом процессоре Nvidia.

Таким образом, для развёртывания Waifu2x в Linux вам потребуются видеокарта Nvidia, адекватная инструкция (наподобие этой), терпение и приличный запас кофе. Однако разработчики Waifu2x cжалились над теми, кто не обладает хотя бы одним из перечисленных выше элементов, и выкатили веб-версию своего конвертера. Теперь растягивание доступно каждому!

Мы же пойдём третьим путём. В недрах Гитхаба, который, слава Богу, не испорчен пока Майкрософтом, нашлась альтернативная реализация нашего растягивателя. Она называется Waifu2x-converter-cpp и отличается тем, что для работы не требуется наличие графического ядра Nvidia. По сути, это «программная» реализация Waifu2x, которая работает только с ЦП (и потому медленнее), но гораздо проще в установке и настройке. Например, для пользователей openSUSE имеется уже готовый пакет, который нужно просто установить. Поскольку у меня не Tumbleweed, а Leap 15, я скачал пакет с исходным кодом и пересобрал его сам, это заняло не более 5 минут.

Для растягивания картинки следует использовать следующий синтаксис:
waifu2x-converter-cpp --scale_ratio <X> -i <исходный файл> -o <целевой файл>

Пример команды:

waifu2x-converter-cpp --scale_ratio 2 -i input.jpg -o output.jpg
К счастью, мне удалось найти графическое приложение, которое позволяет избежать возни с командной строкой. Это Qtwaifu2x, интерфейс к Waifu2x, поддерживающий и Waifu2x-converter-cpp. Выглядит программа просто и лаконично:

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

Теперь примеры. Я использовал два тестовых изображения: фрагмент экранного снимка выше и фрагмент городского вида. Оба изображения были растянуты вдвое в программе Krita следующими способами: Кубическим (Cubic),  Фильтром Ланцоша (Lanczos3) и фильтром Box (он же Nearest neighbor). После этого я растянул исходные изображения с помощью Waifu2x-converter-cpp. Посмотрим на результаты (нажимайте на изображения для просмотра в полный размер):

Исходное изображение

 

Cubic

 

Lanczos3

 

Box (nearest neighbor)

 

Waifu2x

Исходное изображение

 

Cubic

 

Lanczos3

 

Box (nearest neighbor)

 

Waifu2x

Спасибо за внимание!


Ubuntu 18.04 LTS

27.04.2018

ubuntu1804[1]

Свежий выпуск Ubuntu 18.04 LTS стал, пожалуй, первым, который мне совершенно не хочется обозревать. Кроме интересной и хорошо интегрированной технологии LivePatch (обновление ядра без перезагрузки), новая «убунта» может похвастаться только многочисленными регрессиями и ненужными нововведениями. К первым, безусловно, относится переход с Unity на Gnome Shell, ко вторым — превращение стройной и упорядоченной пакетной системы apt в неразбериху из пакетов DEB, Snap и Flatpak. Это явный шаг назад, и таких шагов в Ubuntu 18.04 много.

Грядущий релиз elementaryOS 5.0 Juno меня волнует намного сильнее. Несмотря на убогость подавляющего числа новых приложений, призванных создать «экосистему elementaryOS», надо признать, что некоторые решения там вполне удачны (например терминал и фотобудка). О полезности фирменных (curated) приложений из магазина elementaryOS я напишу в следующей заметке.

Для меня самым ожидаемым релизом этой весны по-прежнему остаётся openSUSE Leap 15, бета-версия которого уже довольно давно у меня установлена на втором жёстком диске. Там довольно шустро работает свежая версия Plasma 5.12 LTS и полно замечательных функций, которых нет и не предвидится более нигде! Следите за моим блогом, чтобы ничего не пропустить!


Будущее наступает

30.03.2018

Прочитав заметку Кая Уве о глобальном меню в Plasma 5.13, я уже приготовился было ждать июня, когда эта версия официально выйдет, однако меня ждала хорошая новость! В новой версии openSUSE Leap 15.0, которая тоже ещё не вышла, но уже довольно давно доступна как бета-версия, уже давно всё сделано и работает! Напомню, что речь идёт о поддержке глобального меню не только для Qt-приложений, но и для GTK-программ. Это значит, что в Plasma теперь можно добиться гораздо лучшей интеграции чужеродных приложений (не основанных на Qt5) и наслаждаться отличным и единообразным видом программ, использующтх разные графические библиотеки.

Картинки покажут всё лучше слов, поэтому смотрим:

Screenshot_20180330_004552

Для начала — список установленных пакетов, без которых ничего получится

Затем нужно просто добавить на рабочий стол верхнюю панель с меню приложений. В Plasma 5.12 это стало проще, так как больше не нужно идти в настройки стиля и выбирать там расположение меню. Теперь вы просто добавляете стандартную панель с меню и всё происходит автоматически. Так, к примеру выглядит у меня Gimp:

Screenshot_20180330_005111

А так — Inkscape:

Screenshot_20180330_005222

C Libreoffice нужно немного повозиться. Во-первых, потребуется установить VCL-плагины для интеграции пакета c GTK2 и GTK3 (увы, VCL-плагин для KF5 разрабатывается, но пока не готов). В openSUSE это пакеты libreoffice-gtk2 и libreoffice-gtk3. Затем нужно запустить любой из нужных вам компонентов, предварительно объявив переменную SAL_USE_VCLPLUGIN, например так:

SAL_USE_VCLPLUGIN=gtk oowriter

Результат:

Screenshot_20180330_005713

Это просто кра-со-та! Теперь в моём любимом KDE глобальное меню почти так же универсально как и в macOS, и уже явно не хуже чем vala-appmenu, которое работает в XFCE и Mate.

 

UPD.

Среди Linux-блогеров, которых я читаю, есть некий Alex285, являющийся большим фанатом Gnome. Он ведёт интересный блог World of Gnome (WOGUE), откуда удобно узнавать о самых свежих новостях, связанных с Gnome. Я слежу за этой темой для того, чтобы знать, что из себя представляет современный Gnome Shell и мир GTK3-приложений. Вдруг, в какой-нибудь параллельной вселенной или мире розовых пони так случится, что Gnome станет быстрее, удобнее и надёжнее чем KDE Plasma, и тогда мне придётся перейти в стан гномолюбов — хотя бы для того, чтобы оставаться честным с самим собой. К счастью, в реальном мире  всё происходит ровно наоборот: последние версии Gnome (3.22-3.28) работают в моём VirtualBox заметно медленнее чем Plasma, а про убогий набор функций Gnome можно говорить бесконечно.

Так вот, этот самый блогер внезапно очень нервно и агрессивно отреагировал на новость про глобальное меню в KDE. Дескать, это всё не нужно и вообще, вместо меню разработчикам нужно работать над стандартным API приложений, чтобы их функции были доступны из HUD (это такая вываливающаяся сверху область уведомлений со строкой поиска). На это мне есть что сказать: я прекрасно понимаю природу гнева гномовода по поводу глобального меню в KDE. Причина здесь в зависти и бессильной злобе от того, что в конкурирующем настольном окружении хорошо работают штуки, которых в Gnome нет и в ближайшее время точно не будет. У нас есть KRunner (лучшая в своём классе реализация HUD), но самое главное — в KDE меню приложений можно настраивать. Его можно оставить в окне самого приложения, можно закинуть в кнопку в заголовке окна, можно вынести в отдельный плазмоид на панель, можно вообще отключить. Любой, кто пытался освоиться в Gnome Shell, может подтвердить убогость, бедность и малую информативность как оболочки в целом, так и отдельных GTK3-программ. Пользователь Gnome не видит какие программы у него запущены, но он также не видит функций по управлению документом, открытым в GTK3-программе до тех пор, пока не перейдёт к этой программе. Эта «слепота» приводит к тому, что в Gnome нужно тратить дополнительное время на то чтобы постоянно переключаться между обзором запущенных программ и рабочим приложением, а потом отдельно искать, где у приложения меню (и есть ли оно там вообще). Современные тенденции в развитии GTK3 приводят также к тому, что цельность таких рабочих окружений как XFCE и Mate размывается и становится эклектичной. Говоря по-русски, вместо продуманного рабочего стола вы рискуете получить помойку, щедро сдобренную фантазиями дизайнеров Gnome. По этой, и по многим другим причинам, KDE Plasma — лучший рабочий стол на сегодняшний день.


Самые интересные Linux-программы за 2017 год

29.12.2017

Эта рубрика становится уже традиционной в моём блоге, и сегодня я хочу порекомендовать всем пользователям операционных систем на базе GNU/ Linux наиболее значимые и интересные программы с открытым исходным кодом. Как и прежде, за этот год я подготовил обзоры 132 приложений из мира Open Source для журнала Linux Format, и теперь пора подвести небольшие итоги. Выпуски за 2016 и 2015 годы доступны здесь и здесь. Итак, поехали!

Devilspie2 — маленькая утилита, которая предоставляет расширенные возможности для управления окнами. Devilspie2 восполняет функциональность, которая отсутствует в популярном рабочем окружении Gnome 3 (и не только — например в Pantheon), а именно настройка размера и позиционирования окон, т.е. всё то, что и так есть изначально в Kwin. Тем не менее, если вы пока ещё не созрели для перехода на самое лучшее рабочее окружение и продолжаете работать в Gnome, данная утилита окажется весьма полезной. С её помощью можно, к примеру, сделать так чтобы окно браузера всегда появлялось в правой части двухмониторной системы, и т.п. Настройки Devilspie2 хранятся в файле конфигурации, который использует синтаксис языка Lua.

Qt FLIF Plugin — как можно понять из названия, это разделяемая библиотека, которая добавляет поддержку графического формата FLIF во все Qt-приложения. Про сам формат FLIF я уже писал ранее, теперь же у нас есть штука, которая делает этот формат «родным» для многих приложений, типа Gwenview и Kolourpaint.

KDE Connect — по-прежнему лучший способ интеграции между рабочим столом в Linux и устройством на Android. KDE Connect лучше и удобнее, чем Airdroid, и даже реализация схожей функции для Gnome использует код KDE Connect.

AzPainter — странный и минималистичный графический редактор из Японии. Супер-быстрый и нафаршированный функциями для рисования, при этом занимает в памяти всего несколько мегабайт. Нужно потратить время, чтобы привыкнуть к его интерфейсу (это вам не Gimp!).

KSnip — аналог «Ножниц» в Windows. Во многих случаях KSnip удобнее чем обычные программы для снятия экранных снимков, ведь он умеет добавлять стрелки и простые геометрические фигуры поверх скриншота, что очень полезно для их аннотирования. Результат можно выгрузить в облако, FTP или просто на жёсткий диск;

Latte Dock — наконец-то для Plasma 5 есть полноценный клон «дока» из macOS! Первые версии Latte Dock были нестабильны, но теперь эта программа работает быстро и плавно, показывает потрясающий эффект параболического зума, правильно сортирует значки и не снижает производительности системы. В Док можно добавить любой плазмоид.

Otter Browser — это попытка воссоздать интерфейс Opera 12 средствами Qt5 и QtWebkit. В наши дни уже многие забыли, в чём суть несогласия «старых» пользователей Opera с новыми версиями этого норвежско-китайского браузера, но пару-тройку лет назад страсти кипели нешуточные. Автор Otter Browser начал свою работу раньше, чем Йон фон Тетчнер из Vivaldi, и в какой-то момент было неясно, стоит ли вообще развивать дальше открытый браузер Otter силами программиста-одиночки на фоне того, как Vivaldi стал стремительно набирать популярность. Но автор не сдался, и продолжает методично совершенствовать Otter Browser, публикую еженедельные отчёты. На этот браузер ещё рано переходить полностью, т.к. в нём могут работать не все сайты (например, вчера я в нём не смог заказать такси через сайт Таксовичкова), но иметь его под рукой полезно и интересно.

AngrySearch — возможно, это будет спасением для всех тех, кто честно пытался осилить Baloo Search, но из-за глючности последнего разочаровался в глобальном поиске в KDE Plasma 5. AngrySearch — это альтернативная программа для индексирования файлов, с приятным интерфейсом и очень быстрой скоростью поиска.

Rapid Photo Downloader — с Baloo мы разобрались, настал черёд протокола передачи данных MTP, который почему-то очень криво поддерживается в файловом менеджере Dolphin. Одно время я пользовался программой Android File Transfer, но у неё был не самый удобный интерфейс. В случае если доступ по MTP вам нужен для переноса фотографий и видеороликов со смартфона в компьютер, как нельзя лучше подойдёт Rapid Photo Downloader. Программу можно скачать в виде скрипта на Python, которые установит много зависимостей, а затем и сам Rapid Photo Downloader.

G’MIC Qt — набор фильтров, эффектов и дополнений для творческой работы с растровыми изображениями. Сам G’MIC существует уже давно, однако мне интересно то, что его недавно портировали на Qt5 и интегрировали с Krita. Теперь в Krita есть не только клёвые кисти, но и шикарный набор фильтров, сравнимый с тем, что есть в Adobe Photoshop.

gImageReader — графический интерфейс для Tesseract-OCR. Это система оптического распознавания текста, которая пригодится тем людям, которые используют планшетный сканер в Linux. gImageReader особенно хорош своим удобным и профессионально сделанным интерфейсом, что делает его похожим на Abbyy Finereader.
Игры:

Mouse Boat — игра не блещет графикой, поскольку базируется на 3D-движке Godot, который намеренно создан для имитации старых пиксельных игр. Тут интересно другое: Mouse Boat — пожалуй, единственный симулятор 3D-рыбалки с открытым кодом. Вы управляете маленькой лодочкой с мышонком, ходите под игрушечным парусом по заросшему пруду и пытаетесь наловить рыбы. Чтобы добиться успеха, нужно наловчиться незаметно подплывать к добыче (не спугнув её), и научиться подсекать рыбку.

Frogatto — шикарная аркадная игра в стиле ретро-платформеров. Главный герой — лягушонок Фрогатто, который пробивает себе дорогу к логову главного злодея. В игре десятки уровней, куча секретов и приятных мелочей, и очень качественно сделанная графика. До последнего уровня можно дойти разными способами, благодаря чему по завершении путешествия всё ещё хочется пройти Frogatto повторно. Если вам нравятся игры вроде Super Mario Bros, то Frogatto Тоже должен прийтись по вкусу.

Dead Ascend — мне удалось найти игру-квест, написанную на языке QML. По сюжету вы должны выбираться из подвала башни-маяка, пробираясь к её вершине. Для перехода на следующий уровень приходится решать лоргические задачи и головоломки, находить и использовать разные брошенные предметы.

Julius — когда-то я с большим воодушевлением встретил игру Open Caesar — открытую реализацию экономического симулятора древнего мира Caesar III. Однако,  этот проект как-то заглох, а предложенная новая графика оказалась заметно хуже оригинальной от Sierra. Но вот из глубинных недр гитхаба появляется Julius — альтернативная реализация игровой механики из Caesar III. Вам по-прежнему нужны файлы от оригинальной игры, но теперь Julius запускает её в родном для Linux виде.

Напоследок, пару слов о самой забавной и при этом бесполезной открытой разработке года:

Piu-Piu-SH — стрелялка с горизонтальной прокруткой, реализованная в виде Bash-скрипта. В ней много псевдографики и оригинальных решений для того чтобы добиться анимации спрайтов в командной строке. Короче, это полное безумие, но свои 15 минут славы оно точно заслуживает!