Как работать в Fedora Silverblue?
Akergez
План статьи
- Немного введения
- Что делать после установки
- Установка софта с помощью Flatpak
- Интеграция QT софта.
- Установка софта с помощью Toolbox
Не так давно начали набирать популярность os-tree системы. Я уже несколько месяцев пользуюсь Fedora Silverblue и расскажу, как я строил свою рабочую систему. Статья будет посвящена установке программного обеспечения и его интеграции с системой. Какие есть способы установки программного обеспечения в обычных дистрибутивах Linux?
- Традиционные пакетные менеджеры со своими репозиториями.
- Контейнеры Flatpak и Snap и прочие вариации на тему.
- Портативные AppImage программы.
- Windows программы в Wine
Если вы решили пользоваться Fedora Silverblue, то вы непременно должны знать об особенностях каждого из этих способов, если нет, то подучитесь и приходите. Чем же отличается Fedora Silverblue? Тем, что корневой каталог подключен в режиме read-only и любое изменение (в основном установка софта первым способом) требует перезагрузки для его применения. Больно? Немного. Зато Fedora Silverblue поставляется с отличным инструментом Toolbox, который позволяет устанавливать приложения не в корневой каталог, а в домашний, при этом приложения будут иметь доступ к файлам и подтягивать тему. При этом заметим, что тут нет виртуализации, это не песочница, где можно пытаться запускать вирусы и сомнительный софт, а вот установить себе Dolphin и не получить мешанину из зависимостей в корне - пожалуйста. И я покажу как.
Что делать после установки?
После установки всё традиционно, тут я ничего нового сказать не смогу. Обновляем систему, если можно, перезагружаемся, ставим драйвера, перезагружаемся, закрепляем коммит. Поясняю. Установка драйверов. Драйвера для оборудования, как и все пакеты, ставятся с помощью специального пакетного менеджера rpm-ostree. Работает почти так же как dnf, разберётесь. Мне удалость без проблем установить драйвера Nvidia и скомпилированный мной же пакет драйверов для Panthum. Без проблем. После перезагрузки всё должно заработать. У нас появился новый коммит. Что это? Это снимок вашей системы, один создался после установки, девственно чистый, второй - после установки некоторых пакетов и перезагрузки. Как их посмотреть? Пишем
rpm-ostree status
Самый верхний - коммит номер 0, текущий, самый нижний - тот самый начальный. Комитов ограниченное количество, самые старые удаляются, поэтому если вы хотите сохранить список настроенной системы, то нужно будет его закрепить. Перед этим установите пакеты qt5ct и kvantum и перезагрузитесь, если хотите управлять темой qt более тонко. Если нет, то пропустите этот шаг. После пишем
sudo ostree admin pin 0
Забываем про это настолько долго, насколько возможно. Больше не рекомендую использовать rpm-ostree.
Установка софта с помощью Flatpak.
Установка с помощью Flatpak абсолютно ничем не отличается от других дистрибутивов, добавляем репозиторий, устанавливаем. Чтобы приложения понимали ваши кастомные темы, устанавливаем Flatseal и даём каждому приложению доступ к папке с темой. Это нарушит песочницу и всё такое, но у меня всё работает, решать вам. Для дальнейшей работы нам понадобится приложение MenuLibre. Устанавливаем его с помощью Flatpak. С помощью Flatpak вы можете установить Telegram, Discord, Steam и другие приложения, они как правило будут прекрасно работать. Вообще этому способу лучше отдать предпочтение, если речь идёт о приложениях, которым не нужная серьёзная интеграция. Я большинство софта ставлю именно так.
Интеграция QT софта
Немного про QT, понадобится. Если вы не любитель кастомных тем, то возможно есть способ лучше, но этот работает и мне подходит. Если вы установили kvantum и qt5ct, то заходим в последний и выбираем там тему Kvantum, кроме того можно настроить иконки и шрифты.

Теперь в Kvantum можно устанавливать любые темы для Qt приложений и применять их. Чтобы всё заработало пишем в файл ~/bash.rc строки:
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_QPA_PLATFORM="xcb"
Первая заставляет приложения брать тему из qt5ct. А вторую стоит вписывать только если у вас проблемы с заголовком окна у qt приложений. Проявляется на wayland.

Сохраняем, закрываем, после релогина заработает. Если нет, можно эти же переменные прописать ещё в ~/.profile, или в ~/.config/environment.d/qt-theme.conf
Если и так не работает, то печально, наверное.
Установка софта с помощью Toolbox
Установил я значит лучший архиватор Ark с помощью Flatpak, а в нём не работает Drag and Drop. Такова особенность Flatpak. А лучшего тектового редактора Kate вообще нет в Flathub. Тогда прибегнем к чёрной магии. Открываем божественно чёрный терминал и пишем в него
toolbox
Вам помогут его скачать и после рядом с приглашением появится фиолетовый ромбик. Это значит вы зашли в окружение toolbox. Это маленькая Fedora внутри вашей домашней папки в Fedora Silverblue. Там есть привычный dnf и не требуется перезагрузка для его использования.

Ну вот и всё. Сюда для надежности так же ставим драйвера на ваш принтер, если есть (ставим rpm-пакет с помощью dnf) и устанавливаем qt5ct и kvantum.
Далее всё буду рассказывать на примере архиватора Ark. Ставим пакет
sudo dnf install ark
Не боимся зависимостей, всё это можно будет стереть одной командой. Пишем в терминал
ark
Должен запуститься ваш новый архиватор. Скорее всего у него не будет темы, поэтому закрываем, пишем в терминал по очереди две строчки
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_QPA_PLATFORM="xcb"
И снова пробуем запустить. Если тема подтянулась, то продолжаем. Открываем ранее установленный MenuLibre, создаём там ярлык, называем его Ark, выбираем иконку, в поле "команда" пишем следующее
toolbox run env QT_QPA_PLATFORMTHEME=qt5ct env QT_QPA_PLATFORM="xcb" ark %U
Что это? Toolbox run указывает на то что команду нужно запустить в toolbox. env добавляет переменные, ark запускает наше приложение, тут может быть и kate, и file roller, и другие. %U добавляет наше приложение в меню "Открыть с помощью".

Сохраняем и если всё сделали правильно, наш значок появится в меню приложений и будет запускать приложение с темой, будет работать Drag And Drop и "открыть с помощью".

Всё, приложение успешно интегрировано в систему и работает. Так у меня установлены Ark, Dolphin, Kate, Konsole. Чем ещё полезен toolbox? Например вы скачали какой-то бинарник, а он требует от вас какую-то библиотеку. Установите библиотеку в toolbox и запустите бинарник оттуда. Toolbox настолько крут, что туда даже можно установить steam rpm и играть, но я не пробовал. Этим способом я ставлю то, чего нет в Flatpak, либо то, что плохо там работает, например Ark, у которого нет Drag and drop.
Итог
Вот так можно построить рабочую систему на основе Fedora Silverblue. Я надеюсь что в будущем появится какая-нибудь графическая утилита для управления toolbox, а пока пользуемся терминалом. Всё описанное в статье должно работать и для Fedora Kinoite, с той лишь разницей, что в kde больше инструментов для управления ярлыками из коробки, а так же кастомизация Gtk приложений доступна в настройках.
P.S. да, я пользуюсь системой на английском языке, если кто-то вдруг подумал, что скрины не мои и статья - просто перевод. Статья моя, скрины мои.