Компьютер «на минималках»

26.06.2020

В это заметке я расскажу о том, как собрать полноценный ПК из всякого хлама, и сколько это стоит.

Из истории вопроса. Началось всё с того, что в 2000 году Паша Шалин написал статью в журнале «Магия ПК». Называлась она «Интернет для «двушки» с оркестром». Там говорилось об экстремально дешёвой конфигурации ПК, способной, теме не менее, выходить в Интернет.

Где-то через 10 лет я отдал подшивку журналов Linux Format своему приятелю Вове (общались на linuxforum.ru), а он мне отдал немного старого железа:(MB+PIV+512 МБ ОЗУ). Я немного погонял на нём Linux, но потом тоже выкинул. Заодно отнёс в ПУХТО коробку с совсем уж неликвидными древностями, вроде модемов, сетевых карт и старых IDE-шлейфов.

И вот, год назад, я решил как-то использовать то, что выбрасывать не хотелось, а именно:

  1. карту видеозахвата AverMedia TV Studio 203 (PCI)
  2. PCI-контроллер для IEEE 1394
  3. Ненужный, но рабочий Intel SSD на 60 Гб
  4. Блок питания на 350 Вт

Используя Авито, я докупил:

  • Комплект из материнки Intel G31-775 с ЦП Intel Core 2 Duo E8400 (1100 р.)
  • Две планки памяти DDR2 по 2 Гб каждая (600 р.)
  • Видеокарту Radeon HD5670 (1000 р.)
  • Пустой корпус ATX (300 р.)

В итоге, за 3000 р. у меня появилась рабочая машинка, на которой прямо сейчас работает openSUSE Leap 15.2. Я очень доволен сборкой и считаю, что по соотношению цена/производительность мой ПК обгоняет многих.

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

  • уметь запускать современный веб-браузер и не тормозить при работе с условными 5-10 вкладками;
  • уметь показывать Youtube в качестве 1080p на полном экране без эффекта «слайд-шоу»;
  • уметь запускать Telegram, Skype, Zoom и другие мессенджеры и не тормозить в них.

В таком упрощённом виде мы получим систему для сёрфинга в сети и общения, плюс в придачу возможность делать что-то полезное (фото, видео, звук, офис, по желанию). На основании своего опыта возни с железками (выше я перечислил только его часть), я укажу минимальные системные требования для такой машинки:

Процессор (он же ЦП). Свой Core 2 Duo E8400 (2008 г.) мне видится минимально приемлемым вариантом. Недавно я пытался пользоваться системой на Pentium IV Prescott (2004-2005 гг), и он явно «не тянул». Скажем, ролик в 720p на Youtube он показывал нормально, но примерно после минуты подгрузки, во время которой были небольшие рывки. В общем, это было не очень комфортно. На другой системе — Mac Mini c мобильной версией Core 2 Duo — ситуация была получше, но всё равно в 1080p я старался там не ставить кино, т.к. оно постоянно «заикалось». Про AMD не могу ничего сказать, т.к. не пользуюсь этим ЦП с 2005 года. Но в целом, наверное, совет будет универсальным: десктопный процессор не старше 2008 г. всё ещё актуален.

Память (ОЗУ). В моём комплекте, купленном на Авито, было установлено 2 ГБ, которых оказалось мало. Память становится узким местом в системе, если её недостаточно, и это сразу заметно: ОС и программы тормозят. Ситуацию немного улучшают такие штуки как Zram и Zswap (тыц), но это даёт немного. В подкасте Late Night Linux в контексте обсуждения новой мощной Raspberry Pi 4 было сказано, что на сегодняшний день 8 ГБ ОЗУ — это нижняя граница для актуального ПК. Со своей стороны хочу сказать, что и 4 ГБ, которые я докупил и поставил в свой комплект, вполне хорошо справляются с задачами. Конечно, с 4 ГБ вы не сможете работать с «тяжёлыми» файлами или гонять виртуальные машины с нормальной скоростью, но для офисно-бытовых задач этого хватит.

Видеокарта. Ситуация в Linux отличается от того, что происходит в Windows-мире. Если коротко, то нужно брать Radeon, т.к. именно с эти карты лучше всего поддерживаются в ядре Linux (если не брать во внимание современную встроенную графику Intel). Категорически не рекомендую покупать Nvidia для Linux-системы: свободный драйвер Nouveau плох, а проприетарный плохо поддерживается и может сломаться при обновлении ядра. Любая приличная карта Radeon (PCI-X) в ценовом диапазоне 800-2000 р. на б/у рынке скорее всего будет отлично работать в Linux.

Системное ПО. Любое на ваш вкус, но стоит помнить: Gnome 3, Cinnamon и Pantheon довольно плохо работают на старом оборудовании, а XFCE и Plasma 5 — очень хорошо. На моей ретро-машине сейчас крутится openSUSE 15.2 с рабочим столом Plasma 5, и производительность просто замечательная!

P.S. Про карту видеозахвата расскажу отдельно.


Самые интересные 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 очень удобно устанавливать эмуляторы ретро-игр: программа упрощает возню до нескольких кликов.

На этом всё!


Тихая загрузка 2.0

15.11.2019

В продолжение моих предыдущих изысканий. Нашёлся параметр загрузки ядра Linux, который гасит все экранные сообщения легко и изящно, переводя их на «пустую» консоль. Это console=ttyS0. Для достижения нужного эффекта нужно только добавить второй параметр, отключающий мигание курсора:
console=ttyS0 vt.global_cursor_default=0
Вот и всё! Одна строка заменяет собой целую статью Silent boot на арчвики.


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