[ Пред. ] [ Содержание ] [ След. ]

flatpak

[ @flatpak @console @viber ]



В Debian можно устанавливать приложения из общего репозитория (центра). Иногда надо/чешется установить софт, которого в репозиториях по ряду ОБОСНОВАННЫХ причин нет. Такой софт раздают/ставят в виде отдельных файлов DEB (или RPM).


При установке каждого пакета проверяются зависимости от других пакетов. Иногда они удовлетворяются незаметно для пользователя, иногда нет.


Иногда это проблема. Иной софт вообще был разработан в одной ОС, и ставить его в другие невозможно или возможно, но не надо. Лучше и проще поставить такой софт в частично изолированной среде, что позволит не тянуть в систему новые зависимости пакетов (или тянуть их минимально), что иногда круто.


Есть несколько подобных решений:


Работают они по-разному. Snap и Flatpak раскладывают файлы программ в разные места на жёстком диске, и используют части установленной системы. AppImage упаковывает каждую свою программу в один файл, в который запихано всё то, что этой программе может понадобиться.


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


Такие решения называют «universal package system», или же кросс-платформенный фреймворк для запуска ПО без его установки в систему. Назовём всё это грубо и просто словом «контейнеры». Flatpak — один из них.


Установка flatpak



Установка софта


Через файлы *.flatpackref


Можно даблкликом — откроется Apper и всё поставит.


Можно через терминал:


flatpak install *.flatpackref


Установленный софт будет доступен в общем меню, что незаметно удобно.


Из флэтхаба


flatpak install flathub org.libreoffice.LibreOffice


Пример с установкой сразу со стороны спотифая


flatpak install --from https://flathub.org/repo/appstream/com.spotify.Client.flatpakref


Если идём по пути скачать .flatpakref на хдд, тогда все проще:


flatpak install [ApplicationID].flatpakref


Через другой репозиторий Flatpak


Почти всегда всё ставят из flathub, но разработчик каждого софта волен поднять собственный репозиторий.


flatpak install [remoteServer> [ApplicationID]


Запуск ПО из Flatpak


flatpak run [ApplicationID]


Пример с клиентом для спотифая:


flatpak run com.spotify.Client


Починить вероятные проблемы при установке ПО


Если возникают "error: runtime/org.freedesktop.Platform/x86_64/1.6 not installed", то возможное решение:


flatpak update -v


Посмотреть список всего софта флэтпэк в системе


Это нужно для того, чтобы точно знать название ПО, которое будем удалять.


flatpak list


Пример ответа


flatpak uninstall com.spotify.Client


Удаление Flatpak app


flatpak uninstall [ApplicationID]


Удаление неиспользуемых флэтпэк-приложений


Применять осторожно, может бомбануть.


flatpak uninstall --unused


Где найти место запуска


В меню программ правый клик по нужному ПО, глянуть путь вызова к файлу .desktop


Обычно флатпаки находятся в ~/.var/app и запускаются из /var/lib/flatpak/exports/share/applications


Редактирование файла запуска


sudo mcedit /var/lib/flatpak/app/org.zim_wiki.Zim/current/active/export/share/applications/org.zim_wiki.Zim.desktop


Найти в этом файле место вызова. Обычно оно в разделе [Desktop Entry], но там может быть несколько точек — посмотреть весь файл внимательно. Всякие переводы подсказок на другие языки можно (АККУРАТНО!) удалить.


Добавить нюансы


Предположим, что шрифт в ПО слишком мелкий. Это можно изменить глобально, добавив в параметры запуска указание про QT_SCALE_FACTOR. Оно должно быть добавлено ДО вызова ПО.


Пример для viber:


flatpak override --user --env="QT_SCALE_FACTOR=1.25" com.viber.Viber


Может быть и так:


/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=viber --file-forwarding --env="QT_SCALE_FACTOR=1.25" com.viber.Viber


Другой софт может запускаться так


QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCREEN_SCALE_FACTORS=2 QT_SCALE_FACTOR=1 flatpak run org.jaspstats.JASP