!Flatpak
2023-03-06T21:25:07+05:00
linuxОбновлено: 20.12.23
Установка
pacman -S flatpak flatpak-xdg-utils flatpak-builder elfutils patch --needed
Добавляем репозиторий Flathub и Flathub-Beta
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo &&
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
Обновление приложений или среду выполнения
flatpak update
Разрешить доступ только для чтения к конфигурациям GTK
sudo flatpak override --filesystem=xdg-config/gtk-3.0:ro
sudo flatpak override --filesystem=xdg-config/gtk-4.0:ro
Включите курсоры и значки мыши в Flatpak (таким образом курсор мыши будет отображаться правильно).
flatpak --user override --filesystem=/home/$USER/.icons/:ro
flatpak --user override --filesystem=/usr/share/icons/:ro
Установка программ с Flathub
PKGS=(
'com.discordapp.Discord' # Чат для геймеров
'com.github.tchx84.Flatseal' # Управление разрешениями Flatpak, для KDE не нужен
'net.davidotek.pupgui2' # ProtonUpQt
'com.usebottles.bottles' # Бутылка Wine Менеджер
'org.blender.Blender'
)
flatpak install -y --noninteractive flathub "${PKGS[@]}"
Правила и настройки
# Использовать wayland
flatpak override --socket=wayland org.blender.Blender
flatpak override --socket=wayland com.discordapp.Discord
# Дать возможность Bottles создавать ярлыки
flatpak override --filesystem=xdg-data/applications com.usebottles.bottles
# Правим discord ярлык для совместимости на Wayland
cp /var/lib/flatpak/app/com.discordapp.Discord/current/active/files/share/applications/com.discordapp.Discord.desktop $HOME/.local/share/applications
sed -i "s|Exec=discord|Exec=flatpak run com.discordapp.Discord --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland|g" $HOME/.local/share/applications/com.discordapp.Discord.desktop
Установка программ с Flathub-beta
PKGS=(
'org.gimp.GIMP' # Редактор изображений (Имеет нативную поддержку wayland)
)
flatpak install -y --noninteractive flathub-beta "${PKGS[@]}"
# Удобства / полезное
Для WM (оконных менеджеров) использующих rofi dmenu, и также для тех кто не хочет постоянно перезапускать сессию для появления ярлыков. Создаёт символическую ссылку чтобы ярлыки Flatpak'ов были в /usr/share/applications, и показывались в меню пуск
ln -s /var/lib/flatpak /usr/share/applications
Alias для удобного запуска программ через flatpak, прописываем в .bashrc
или .zshrc
alias flat="flatpak run"
flat [название программы]
Экспорт пакетов Flatpak
flatpak list --columns=application --app > flatpaks.txt
Импорт пакетов Flatpak
xargs flatpak install -y < flatpaks.txt
Очистить осиротевшие Flatpak runtimes
flatpak uninstall --unused --noninteractive
[11.06.2023] Во flatpak скоро будет своя собственная реализация синхронизации пакетов т.е импорт и экспорт называется flatsync. Новость в The Linux Experiment
# Как вернуться к предыдущей коммиту Flatpak
# Список доступных коммитов
flatpak remote-info --log flathub org.godotengine.Godot
# Откатить до специфичной версии
sudo flatpak update --commit=${HASH} org.godotengine.Godot
# Закрепить версию
flatpak mask org.godotengine.Godot
# Полезные опции
-y (--assumeyes)
- Избавится от вопросов--noninteractive
- Без лишних подробностей