- Универсальный менеджер приложений (игр)
- PlayOnLinux/BSD/Mac
- Lutris
- Homura
- Ace Ventura Pet Detective
- Bad Mojo (redux)
- Недостатки
- Возможности
- Лёгкие приложения Linux для старого железа
- Легковесное окружение рабочего стола
- Быстрый софт
- Браузер: Midori
- Почтовые клиенты IMAP
- Установщик пакетов: Gdebi
- Центр программного обеспечения: App Grid
- Музыка и радио
- Видеоплеер: VLC
- Файловый менеджер: PCManFM
- Текстовый редактор и офисный пакет
- На правах рекламы
Универсальный менеджер приложений (игр)
Любителям Linux-like систем наверняка приходилось устанавливать приложения по найденным руководствам в сети. В итоге описание оказывалось устаревшим/нерабочим, и для получения конечного результата приходилось собирать по крупицам и сводить воедино сведения из различных источников для «похожих» ОС. Иногда вам везло и все заводилось с первого раза.
Либо пытались поиграть в свою любимую игру детства, где для запуска важно установить нужную версию Wine с правильными настройками, или пошаманить с монтированием образов в Dosbox.
Предлагается очередной способ решения подобных проблем.
Для игр существует, конечно, единственный правильный способ — установка Windows на отдельный диск. Но в мире насчитывается 1.3 миллиарда PC-геймеров. Из них — пользователи MacOS (3%) и Linux (1%) — 50 миллионов человек. Поэтому эта статья для них.
Сегодня существует огромное разнообразие средств, упрощающих установку и запуск игр и, скорее всего, вы уже нашли все любимые игры детства на Steam и давно наслаждаетесь ими в своем Ubuntu. Но не все так просто. Например, любителей старых Point-n-Click адвенчур ждет разочарование: очень многих шедевров нет в наличии ни у одного дистрибьютора (distributor) видеоигр.
Дистрибьюторов можно условно разделить на:
- Steam — сервис цифровой дистрибуции, изначально для игр и апдейтов от Valve, но позже расширен и для других разработчиков;
- GOG — платформа дистрибуции видеоигр и фильмов, подразделение CD Project (которые Ведьмак и Cyberpunk), расположенное в Польше;
- Humble Store — онлайн магазин игр.
- Origin — игры Electronic Arts;
- Uplay — игры Ubisoft;
- Epic Games Store — игры Epic Games;
- Blizzard’s Battle.net — игры Blizzard.
Дружественнее всех зарекомендовал себя GOG. Именно они предоставляют игры в т.н. DRM-free формате. Но, в последнее время, их инициатива с Galaxy клиентом тоже попахивает неудобствами и привязками.
Все основные дистрибьюторы поставляют собственные мульти-платформенные клиенты.
Разнообразие клиентов породило дополнительную прослойку абстракции для конечных пользователей — т.н. менеджеров игр (game managers). Вот самые известные из них:
Менеджеры игр, в свою очередь, используют т.н. запускатели (runners) для запуска на конечном устройстве пользователя, иногда с дополнительными прослойками (например, Vulkan для Wine).
- Wine — эмулятор Windows
- Dosbox — эмулятор DOS
- ScummVM — виртуальная машина для многих старых квестов
- Эмуляторы консолей
PlayOnLinux/BSD/Mac
Пациент скорее мертв. Судя по активности на github, четвертая версия давно мертва, а пятая никогда не родится. Хотя, кто его знает.
- Приличная база поддерживаемого софта и игр.
- Оборачивает исключительно Wine;
- Кодовая база не обновляется;
- Вся логика построена на полусотне функций адового bash-скриптинга;
- Новые скрипты принимаются через веб-форму (ссылку на сайте найти не удалось).
Lutris
На сегодняшний день — лидер и стандарт для Linux.
- Ansible-like скриптинг;
- Добавление игр из gog и steam аккаунтов одним кликом.
- Вся база с играми вынесена на отдельный полузакрытый сервер;
- Неудобная форма для добавления новых скриптов (нет версионности и т.п., решение по добавлению выносит непонятный комитет);
- Поддержка только Linux;
- Создает отдельный Wine-префикс для каждой новой игры (а они довольно увесисты);
- Нет клиентского API, отсюда UI довольно уныл;
- Нет возможности установки из образов (актуально для старых игр).
Homura
Пошли по граблям Lutris-а, сделали решение исключительно под одну ОС (в данном случае FreeBSD), адовый bash-скриптинг внутри, при этом небольшая база с играми. Также непонятно с добавлением игр.
Разработаем свою собственную систему, удовлетворяющую следующим критериям:
- Расширяемость;
- Гибкость;
- Функциональность;
- Кроссплатформенность.
В первую очередь, необходимо избавиться от недостатков существующих решений, для этого реализуем следующий функционал:
- Удобство добавления новых игр\приложений. Любой пользователь может без труда добавить поддержку нового софта через github репозиторий;
- Отказ от серверной части. База с приложениями должна быть частью самого менеджера и обновляться вместе с ним;
- Предоставление удобного API\CLI для создания сторонних UI;
- Отделение изменяемых данных (например, save-ов для игр) от остальных ресурсов приложения;
- Предоставление базовой возможности инсталляции с медиа-носителя. Важно для редких старых игр, которых не найти через онлайн дистрибьюторов, зато относительно легко найти их медиа-образы;
- Никакой черной магии в скриптах, каждый шаг должен быть понятен без изучения исходников.
Нечто способное объединить и заменить apt в Ubuntu и pkg в FreeBSD (и при этом еще обладать возможностями Lutris).
Предлагается реализовать всю систему на базе Ansible и его мощной скриптовой поддержкой в виде плей-буков (playbooks). Почему Ansible? Хотя бы потому, что для достижения всех вышеназванных целей вам в любом случае придется разработать свой собственный Ansible-like движок, а это весьма затратно по времени.
Полученное решение (yag) выложено в свободный доступ на github.
Рассмотрим примеры добавления новых игр в базу.
Ace Ventura Pet Detective
Старая, мультяшная Point-n-Click адвенчура. Распространялась на 1CD.
Для добавление поддержки создаем папку в ports/games со следующей структурой:
Структура остается на усмотрение автора, обязательными являются лишь info.yml (описание игры) и main.yml (точка входа). Код можете посмотреть в репозитории, опишу лишь суть.
Установка производиться с помощью команды:
В install_image.yml передается путь к образу (/path/to/CD1.iso), где производится распаковка и копирование. Источником может быть как исполнимый файл с GOG-а (конкретно этой игры там нет), так и любой другой формат носителя.
Игра требует наличия save-ов в основной папке, поэтому запускающий скрипт (run.yml) копирует save-ы из постоянного хранилища и запускает wine с правильными параметрами. При выходе новые save-ы копируются обратно в хранилище. За сейвами во всех играх нужно внимательно следить и не забывать их сохранять (save your saves), создавая символические ссылки там, где это возможно. Также для запуска именно этой игры нужно включить virtual desktop:
Обо всех поддерживаемых параметрах модуля wine читайте здесь.
Bad Mojo (redux)
Тоже классика, в которой вам предлагается вжиться в роль милой букашки.
Структура папок аналогична первому примеру:
Здесь уже поддерживается несколько вариантов установки:
- запустит install_image.yml (распаковка CD образа)
- запустит install_innosetup.yml (распаковка GOG-овского innosetup exe-шника).
Игра требует точного указания путей к ресурсам, поэтому создаем Jinja-совместимый шаблон конфига (BADMOJO.j2).
Как видите, внутри скриптов нам доступна вся мощь Ansible, к тому же мы можем спокойно дописывать свои модули.
Другие примеры можно посмотреть здесь
Недостатки
И все-таки Ansible — это в первую очередь про развертывание микросервисов на «тысячах нод». Использовать его для локальной установки игр, а тем более заменять им apt/pkg, с одной стороны, забивание гвоздей микроскопом, но с другой, если вся необходимая функциональность имеется — почему бы и нет? Более того, недостаток может легко превратиться в достоинство при реализации, например, онлайн сервиса видеоигр, где развертывание приложений на удаленные сервера станет необходимостью (кстати, если кто-то умеет звук\видео в VNC — пишите в личку, есть идея для неплохого стартапа).
Следствие главного недостатка — задержки при выполнении скриптов. Не критично при инсталляции, но может раздражать при запуске.
Также для добавления новых приложений требуется опыт в написании Ansible-playbooks. Но этого не избежать в любом подобном менеджере. А здесь вы хотя бы сможете применить полученные знания в другой области (к примеру, устроиться на работу в сферу devops).
Возможности
Описанный подход открывает много возможностей. Выше упоминалось о полноценной замене apt/pkg во всех дистрибутивах всех ОС. Согласитесь, было бы здорово, если бы, например, для установки Skype вам не пришлось качать deb-файл в Ubuntu, шаманить с pacman в Archlinux или мучиться с эмулятором linux в FreeBSD, а просто выполнить, например:
и получить одинаковый результат в любой ОС.
При этом все скрипты установки для разных ОС версионированы и поддерживаются в актуальном состоянии сообществом пользователей! А мощь Ansible-playbooks позволяет гибко реализовывать любые механизмы добавления в любой ОС.
Теперь самое важное: если вам понравилась идея, важно чтобы именно вы добавили свою любимую игру\программу в репозиторий, оформив простой PR на github.
Источник
Лёгкие приложения Linux для старого железа
Окружение Xfce
Любую систему можно разогнать, есть стандартные способы оптимизации десктопа: минимум софта в автозагрузке, preload, оптимальное зеркало для пакетов, apt-fast вместо apt-get, настройки для оптимизации отдельных приложений и так далее.
Но всё это мелкие оптимизации по сравнению с фундаментальными столпами:
- Лёгкий дистрибутив
- Легковесное окружение рабочего стола
- Быстрый софт
Это в первую очередь актуально для старого железа, хотя в принципе на каждом ПК мы хотим, чтобы система работала максимально эффективно, разве нет? Даже на современном многоядерном CPU больно видеть запуск программы в несколько секунд или задержку интерфейса 100-200 миллисекунд после нажатия по клавиатуре. Всё должно реагировать мгновенно, со скоростью человеческого восприятия. В нативных приложениях нет места лагам, как у веб-интерфейсов.
Поэтому — легковесное окружение и быстрый софт.
Легковесное окружение рабочего стола
Легковесные окружения традиционно поставляются в комплекте с легковесными дистрибутивами, которые оптимизированы для работы на старом железе. Это Lubuntu, Linux Lite, Puppy Linux, TinyCore и др. Хотя самые аскетичные идут вообще без GUI. Например, TinyCore в варианте без GUI занимает всего 11 МБ. Базовая система размером 16 МБ предлагает десктопные окружения FLTK или FLWM, а версия CorePlus весом 106 МБ идёт с более продвинутыми менеджерами, такими как IceWM и FluxBox.
Но необязательно менять дистрибутив, чтобы повысить производительность системы. Для самого популярного Linux-дистрибутива — Ubuntu — тоже можно выбрать более легковесный рабочий стол, например, Xfce или LXDE.
Эти окружения требуют меньше оперативной памяти и вычислительных ресурсов процессора, а также поставляются со своим набором легковесных приложений, которые помогают ускорить систему.
Конечно, они выглядят не так современно, как Unity или GNOME, но приходится идти на какие-то компромиссы.
Быстрый софт
Кроме десктопного окружения, можно выбрать более производительные альтернативы для различных приложений Linux. Все перечисленные здесь программы доступны практически для любого дистрибутива, но в качестве примера указана Ubuntu.
Идея в том, чтобы на старом железе летала именно Ubuntu, то есть без смены дистрибутива.
Следующие приложения — не самые популярные, но достаточно надёжные, и при этом одни из самых производительных в своём классе.
Браузер: Midori
Midori — один из самых быстрых браузеров на движке WebKit и GTK3, который идёт в комплекте с некоторыми лёгкими дистрибутивами Linux, такими как Bodhi Linux, SilTaz и Raspbian. Раньше он был браузером по умолчанию в elementary OS, но в 2016 году разработка Midori приостановилась, так что его исключили из установок по умолчанию. Однако в конце 2018 года проект возобновился, и сейчас этот браузер входит в комплект приложений для десктопного окружения Xfce.
Поддерживаются вкладки, анонимные сессии, управление закладками, настраиваемый интерфейс, синхронизация через облако Astian Cloud. Поисковик по умолчанию DuckDuckGo.
У Midori множество опций, с которыми будет интересно повозиться опытному пользователю. Но нужно понимать, что он поддерживает не все современные технологии, поэтому в HTML5TEST даже не приблизится к максимальному результату. Да и список доступных расширений для него небогатый, но блокировщик рекламы есть.
Из других легковесных веб-браузеров под Linux можно назвать K-Meleon, Links, NetSurf и qutebrowser, все они в активной разработке.
Почтовые клиенты IMAP
Trojitá (Троица) на Qt — быстрый и эффективный почтовый клиент IMAP с открытым исходным кодом, один из лучших почтовых клиентов для Linux. Если вам достаточно поддержки только IMAP, то дальше можно и не искать.
Для достижения максимальной производительности Trojitá использует различные методы, в том числе автономное кэширование, режим экономии трафика, здесь минимальная нагрузка на память и CPU. Поддерживается IMAP по SSH, надёжная работа с HTML.
Эта программа является темой магистерской диссертации Яна Кундрата (Jan Kundrát), чешского разработчика. Собственно, подробнее всего о своём проекте он и рассказывает в этой диссертации, а также в блоге. Он вспоминает, что идея написать собственный клиент пришла к нему в районе 2005 года, потому что он не мог найти ничего подходящего его требованиям. KMail с многочисленными багами IMAP не впечатлял, Thunderbird падал минимум каждую неделю, а Evolution ему не нравился из-за Gnome. Многие программы выглядели как классические клиенты POP3, куда IMAP был добавлен в процессе разработки, а другие поддерживали весь набор функций IMAP, но страдали из-за непродуманного GUI.
Ян решил сначала закончить школу, а уже в университете плотно занялся разработкой нормального почтового клиента. Из языков программирования ему был известен только Python, поэтому он начал писать на нём, но вскоре открыл для себя Qt и C++ — и влюбился в них, как он сам рассказывает. К концу обучения клиент был готов.
Автор поддерживает проект до сих пор: последний коммит в основную ветку состоялся буквально пару дней назад. Но он уже не уделяет проекту слишком много внимания, например, больше не выкладывает на странице загрузки новые скомпилированные бинарники для Windows и разных дистрибутивов Linux.
Это необычная и легковесная альтернатива для известных, но более тяжеловесных почтовых клиентов, таких как вышеупомянутый Thunderbird, а также Evolution, Kmail, Geary, Mailspring (бывший Nylas Mail) и др. Хотя сторонникам полного аскетизма можно попробовать консольный клиент Mutt.
Mutt
Кстати, как раз в ноябре 2020 года состоялся выпуск версии Mutt 2.0, которой присвоен мажорный номер не из-за каких-то очень важных функций, а потому что некоторые из нововведений обратно несовместимы. Например, установлена настройка $ssl_force_tls по умолчанию, которую автор пробовал поставить в версии 1.3.0, но дал обратный ход из-за глюков. Кроме того, клиент научился автоматически инициировать заново соединение IMAP после обрыва.
У консольных почтовых клиентов по-прежнему большая аудитория, часть пользователей Mutt перешла на NeoMutt, OfflineIMAP и isync.
Установщик пакетов: Gdebi
Иногда на Ubuntu нужно быстренько установить пакет .deb. Конечно, можно использовать Ubuntu Software Center, но это ресурсоёмкое приложение, так что не слишком разумно использовать его для простой установки файлов .deb со всеми зависимостями. На этот случай есть утилита Gdebi, отличный инструмент для той же цели, только с минимальным графическим интерфейсом (или запускается из консоли).
Gdebi отлично справляется со своей работой, и его можно сделать установщиком по умолчанию для файлов .deb.
Установка Gdebi на Ubuntu:
Центр программного обеспечения: App Grid
Вообще, если говорить об альтернативе Ubuntu Software Center, то более легковесным вариантом представляется App Grid. Это практически обязательный инструмент, если вы часто используете центр ПО для поиска, установки и управления приложениями в Ubuntu. Наиболее визуально привлекательная и в то же время быстрая альтернатива стандартному софтверному центру.
App Grid поддерживает рейтинги, обзоры и скриншоты.
Установка в дистрибутивах на базе Ubuntu:
Музыка и радио
Yarock — элегантный музыкальный плеер с современным минималистичным интерфейсом. Плеер легковесный по дизайну, но в то же время обладает богатым набором продвинутых настроек.
Поддержка разных музыкальных коллекций, рейтинги, генератор умных плейлистов, простой поиск и фильтрация, дектопные уведомления, статистика по количеству воспроизведений песен, эквалайзер, управление из консоли и т. д. В качестве бэкенда могут работать Phonon, vlc и mpv. Список поддерживаемых аудиоформатов зависит от бэкенда: MP3, Ogg Vorbis, FLAC, WMA, MPEG-4 AAC.
Установка Yarock в дистрибутивах на базе Ubuntu:
Yarock умеет забирать поток с лучших сервисов интернет-радио: TuneIn, SHoutCast, Dirble. Кстати, разработчик Dirble устал от своего проекта и продал его в прошлом году, за что потом сильно извинялся.
С другой стороны, TuneIn до сих пор работает отлично, хотя у него нет нативного десктопного приложения. Однако TuneIn можно прослушивать через Yarock или через оболочку типа Nuvola Apps. Данный движок поддерживает множество стриминговых сервисов, включая Spotify, YouTube, Pandora и SoundCloud. Впрочем, Nuvola Apps нельзя назвать легковесным с зависимостями на 350 МБ.
Видеоплеер: VLC
Пожалуй, VLC — самое дефолтное приложение в этом списке. VLC действительно не нуждается в представлении, это стандарт де-факто на многих платформах, в том числе и под Linux. Плеер очень легковесный, это и одна из причин его популярности.
VLC — всё, что нужно для воспроизведения различных медиафайлов под Linux. В принципе, даже без отдельного музыкального плеера можно обойтись, потому что VLC понимает все аудиоформаты. Он безупречно работает даже на очень старых компьютерах и задействует аппаратное декодирование на всех платформах.
Файловый менеджер: PCManFM
PCManFM — стандартный файловый менеджер из среды LXDE. Как и другие приложения LXDE, он тоже лёгкий и быстрый. Создан как замена Nautilus, Konqueror и Thunar, а с 2010 полностью переписан заново с нуля, так что текущие версии сильно отличаются от семейства 0.5.х.
Несмотря PCManFM входит в комплект LXDE, но работает и с другими средами рабочего стола.
Установка PCManFM в дистрибутивах на базе Ubuntu:
Текстовый редактор и офисный пакет
По скорости работы ничто не сравнится с консольными редакторами, такими как nano, vim и emacs. Но некоторым людям в силу определённых причин больше нравится графический интерфейс. В этом случае можно посмотреть на Mousepad: чрезвычайно лёгкий и очень быстрый редактор. Поставляется с простым настраиваемым UI с несколькими темами.
Поддерживает подсветку синтаксиса. Таким образом, его можно использовать в качестве минимального редактора кода. Поставляется вместе со средой рабочего стола Xfce.
Кроме текстового редактора, бывают необходимы другие офисные приложения, в том числе электронные таблицы. Один самых легковесный вариантов — пакет Gnome Office с электронными таблицами Gnumeric и текстовым редактором AbiWord, который намного быстрее, чем другие текстовые процессоры, хотя здесь нет макросов, проверки грамматики и некоторых других функций.
Практически во всех категориях под Linux гораздо больше выбор различных программ, чем под Windows или macOS. Если поставить маленький дистрибутив и быстрый софт, то все нативные приложения будут летать даже на Raspberry Pi.
На правах рекламы
VDSina предлагает серверы в аренду под любые задачи, огромный выбор операционных систем для автоматической установки, есть возможность установить любую ОС с собственного ISO, удобная панель управления собственной разработки и посуточная оплата.
Источник