Приветствую всех в продолжении темы автономных snap-пакетов.
В сегодняшней части мы обсудим, как настроить приложение, чтобы его можно было запускать не только в консоли, но и в графическом окружении (KDE, GNOME, XFCE и так далее).
Есть 2 варианта:
Опция 1
Для этой установки потребуются 2 файла: managetime.desktop и managetime.png. Добавляем эти файлы в директорию snap/gui. То есть нужно просто положить эти файлы в нужную директорию, и все.
В предыдущей статье была показана древовидная структура каталогов и файлов на основе моего приложения.
Рассмотрим, что такое файл managetime.desktop.
- [Desktop Entry]
- Encoding=UTF-8
- Categories=Application for time management
- Comment=Applique for those who want to control their time
- Exec=managetime
- GenericName=Application for time management2
- Icon=${SNAP}/meta/gui/managetime.png
- Name=TimerProject_desktop
- Type=Application
- Terminal=false
Самые основные – это 5 и 7 линии. Строка 5 — это имя самого приложения.
- apps:
- managetime:
7 та же строка указывает путь внутри пакета моментальных снимков, где находится значок.
Также в этом файле есть описание самого приложения, открывать его в консоли или нет.
Вариант 2
Этот вариант уже работает через настройку в файле snapcraft.yaml
Указываем среди прочих настроек приложения, где у нас лежат файлы.
- name: managetime
- version: "0.1.0"
- summary: timer
- description: |
- Application for time management
- confinement: strict
- grade: stable
- architectures: [amd64]
- base: core18
- icon: snap/gui/managetime.png
- apps:
- managetime:
- desktop: share/applications/managetime.desktop
- command: bin/projecttimer
- plugs:
- - home
Как видите, мы добавили 2 пункта:
- первая - это иконка, где файл остается на прежнем месте.
- Но файл app.desktop перекочевал в другую директорию и мы уже через рабочий стол: <путь> указываем его расположение.
Как это работает вы можете посмотреть в моем готовом приложении. snap
Спасибо всем.
Продолжение следует)