Переключить версию времени выполнения приложения flatpak

Вопрос или проблема

Если я перечислю все среды выполнения, я увижу, что разные приложения используют разные версии одного и того же пакета. Например, flatpak list --runtime выводит

Freedesktop Platform  org.freedesktop.Platform  21.08.20.1 21.08 system
Freedesktop Platform  org.freedesktop.Platform  22.08.12.1 22.08 system

Если я хочу узнать, какие приложения используют старую версию, я могу ввести flatpak list --app --app-runtime org.freedesktop.Platform//21.08, что в моем случае выводит приложение

Bla org.Bla.BlaBla 0.9.11 stable system

Теперь, как я могу заставить это приложение работать с версией 22.08 Freedesktop Platform вместо версии 21.08?

Возможно, вы можете использовать flatpak run --runtime=org.freedesktop.Platform//22.08 org.Bla.BlaBla.

Для других сред или приложений: flatpak run --runtime=<Platform identifier>/<Architecture identifier>/<Version identifier> <Application identifier> я полагаю.

Если работает, команду можно использовать в “.desktop” записи (например, в “~/.local/share/applications”) как значение свойства “Exec”, чтобы иметь возможность запускать приложение в данной среде платформы из типичной настольной среды (например, GNOME Shell).
Я думаю, что обычно “.desktop” запись данного приложения может находиться в “/var/lib/flatpak/app/<Application identifier>/current/active/export/share/applications” (каталог с
символическими ссылками на стандартные “.desktop” записи Flatpak приложений, кажется, находится в “/var/lib/flatpak/exports/share/applications”). Затем можно скопировать данный файл в “~/.local/share/applications”, например, и отредактировать его соответствующим образом.

Спасибо за публикацию.

Ответ или решение

Переключение версии среды выполнения Flatpak-приложения – это задача, которая требует внимания к деталям и некоторого опыта работы с системой Flatpak. Давайте рассмотрим, как это можно сделать, используя теорию, примеры и практическое применение.

Теория:

Flatpak – платформа для распространения и использования приложений, которая позволяет обеспечивать приложения всех необходимых зависимостей в виде «песочниц». Это делает приложения независимыми от библиотек, установленных в системе пользователя. Важная часть этой системы – это среды выполнения (runtimes), которые представляют собой наборы библиотек и других компонентов, необходимых для работы приложений.

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

Пример:

Итак, вы видите, что у вас установлены две версии Freedesktop Platform: 21.08 и 22.08. Вы хотите обновить приложение Bla, которое использует среду 21.08, чтобы оно использовало более новую версию 22.08. Сначала, используя команду:

flatpak list --app --app-runtime org.freedesktop.Platform//21.08

Вы определяете, что непосредственно приложение Bla использует старую версию среды выполнения.

Практическое применение:

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

flatpak install flathub org.freedesktop.Platform//22.08

Далее, чтобы обновить приложение Bla до использования новой версии среды выполнения, существует два подхода:

  1. Использование CLI (Command Line Interface):

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

    flatpak run --runtime=org.freedesktop.Platform//22.08 org.Bla.BlaBla

    Однако, это временное решение, которое не изменяет по умолчанию используемую среду выполнения.

  2. Создание и изменение .desktop-файла:

    .desktop-файлы используются для интеграции приложений в графическую оболочку вашей ОС. Вы можете создать копию имеющегося.desktop-файла вашего приложения в каталоге /var/lib/flatpak/exports/share/applications, разместить копию в ~/.local/share/applications и изменить строку Exec=, чтобы она выглядела так:

    Exec=flatpak run --runtime=org.freedesktop.Platform//22.08 org.Bla.BlaBla

    Это позволит вам запускать ваше приложение через графический интерфейс в новой среде выполнения.

Рекомендации:

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

  • Документирование: Всегда полезно документировать изменения в конфигурациях и системах, особенно если они нестандартные. Это облегчит будущие обновления и устранение неисправностей.

  • Контроль версий: Рассмотрите использование систем управления версий для отслеживания изменений в конфигурациях системы, если вы регулярно вносите подобные изменения.

  • Обратная совместимость: Обратите внимание, что более новые версии сред выполнения могут не всегда быть полностью совместимы с вашими приложениями без модификации последних. Убедитесь, что функциональность приложения не нарушена.

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

Оцените материал
Добавить комментарий

Капча загружается...