Снова про Linux

17.10.2019

Недавно у меня был интересный опыт установки нескольких дистрибутивов Linux в среде VirtualBox 6. Требовалось проверить сборку одной софтины под разными системами, поэтому я соорудил небольшой тестовый стенд из нескольких виртуальных машин. В частности, я ставил следующие 64-битные дистрибутивы в их стандартной поставке:

  • Ubuntu 18.04
  • Fedora 30
  • Rosa R11
  • Alt P8
  • openSUSE Tumbleweed

Софтина везде собралась в итоге, но параллельно я отметил, что в VirtualBox нормально умеют работать далеко не все линуксы. Общая проблема — отсутствие в репозиториях актуальной версии VirtualBox Guest Additions и ошибки при сборке этих гостевых дополнений вручную. Меньше всего проблем в Ubuntu, Fedora и Rosa — там гостевые дополнения работают отлично. Альт и openSUSE оказались довольно бестолковыми и глючными, хотя и с ними можно работать при большом желании.

Однако, учитывая крайне низкую производительность рабочего стола Gnome при работе с виртуальным графическим адаптерам, можно сделать вывод, что лучше всех из моего списка работает именно Rosa с Плазмой. Мои поздравления отечественным разработчикам!

Я уже довольно давно пользуюсь Росой как дома, так и на работе, и постоянно сравниваю её с другими дистрибутивами. На мой взгляд, Rosa R11 — это очень хорошо сделанная домашняя система, которую стоит поставить как себе, так и другим людям. В ней используется базовая платформа 2016 года, однако большая часть прикладного ПО обновлена до актуальных версий. Особо отмечу:

У меня тоже имеется небольшой личный репозиторий, куда я иногда собираю нужные мне программы.

Загрузить свежую сборку Rosa R11 можно здесь.


Загрузка 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


Самые интересные 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 с улучшенной графикой и исправлением ошибок. В игре прекрасная графика и довольно трудные миссии. Можно залипнуть на несколько дней!

 


Состоялся выпуск elementaryOS 5.0 Juno

17.10.2018

eos5

Ну вот, многие этого так долго ждали, и не зря! Чем примечателен этот дистрибутив Linux? Например:

  • Основан на Ubuntu 18.04 LTS. Имеется только 64-разрядная версия;
  • Имеет свой собственный оригинальный рабочий стол Pantheon. Он основан на GTK3, но довольно далеко ушёл от Gnome как внешне, так и на уровне API;
  • Работает очень быстро, годится, в том числе, и для компьютеров 10-летней давности;

Рассказывая о новых функциях именно версии 5.0 Juno,  я отмечу следующее:

  • «Ночная подсветка» (экран становится желтее в тёмное время суток, это успокаивает глаза);
  • Оригинальный текстовый редактор Scratch переименован в Code. Он претендует на статус мини-IDE. Кнопки «Сохранить» в нём всё так же нет: все изменения сохраняются «на лету»;
  • Много мелких улучшений интерфейса: новые уведомления, новые настройки звука, обновлённый магазин приложений;
  • Функция «картинка в картинке» — по-настоящему стоящая штука, реализованная в оконном менеджере Gala. Нужно нажать Win+F и выделить произвольную область экрана, которая после этого превратится в самостоятельное плавающее окно, чем-то похожее на виджет/плазмоид рабочего стола. Применений у этой новинки бесконечно много. Например, теперь очень удобно делать видеотрансляции с окошком веб-камеры в углу экрана. Можно одновременно смотреть несколько видеороликов и при этом что-нибудь читать в основном окне.

Справедливости ради, отмечу и небольшие недостатки:

  • Традиционно нельзя обновиться со старой версии 0.4 Loki. Новая система — новая «чистая» установка;
  • В AppCenter по-прежнему просят денег за примитивные и некачественные программы;
  • Из системы сознательно выпилили поддержку сторонних индикаторов в системном лотке. Однако, есть инструкция как это исправить;
  • Сторонние темы GTK3 в большинстве своём выглядят криво в elementaryOS;

Совсем скоро Интернет запестрит статьями с пошаговыми руководствами по донастройке elementaryOS 5.0 Juno. За редким исключением, почти все подобные статьи сводятся к набору стандартных советов:

Установили систему — обновитесь:

sudo apt-get update && sudo apt-get upgrade

Включите возможность добавлять сторонние PPA:

sudo apt-get install software-properties-common

Установите Elementary Tweaks:

sudo add-apt-repository ppa:philip.scott/elementary-tweaks && sudo apt-get update
sudo apt-get install elementary-tweaks

Установите Synaptic и GDebi для полноценной работы с пакетами:

sudo apt-get install gdebi synaptic

button


Мои статьи в Fedora Magazine

02.10.2018

1234

У меня вышли четыре статьи в популярном журнале для пользователей Fedora Linux.  В частности:

 

  • Растягивание изображений с минимальными потерями (раз и два).

Самой полезной, как мне самому видится, оказалась последняя статья, и именно на эту тему я недавно писал здесь (см. пост про Waifu2x). Однако, надеюсь, что и остальное вам тоже понравится!


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

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 минут славы оно точно заслуживает!