Мой файл рабочего стола:
[Desktop Entry]
Name=Heimer
GenericName=Mind map application
Comment=Mind map application
Exec=heimer
Icon=heimer
Type=Application
Categories=Education;
StartupNotify=true
Мой snapcraft.yaml:
name: heimer
version: '1.1.0'
summary: Heimer is a simple cross-platform mind map tool.
description: |
Heimer is a simple cross-platform mind map creation tool.
Emphasis on easy diagram creation, simplicity, and speed.
grade: stable
confinement: strict
icon: ../../../data/icons/heimer.png
apps:
heimer:
command: desktop-launch heimer
desktop: usr/share/applications/heimer.desktop
plugs: [home, x11, wayland]
parts:
gnu-heimer:
source: ../../../
plugin: cmake
configflags:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
build-packages:
- qtbase5-dev
- qttools5-dev
- qttools5-dev-tools
stage-packages:
- libqt5xml5
after: [desktop-qt5]
CMake устанавливает значок приложения в:
# Install icons
install(FILES data/icons/heimer.png DESTINATION share/pixmaps)
install(FILES data/icons/heimer.png DESTINATION share/icons/hicolor/64x64/apps)
Файл рабочего стола устанавливается в:
# Install .desktop files
install(FILES ${CMAKE_BINARY_DIR}/heimer.desktop DESTINATION share/applications)
Я не понимаю, в чем проблема. После установки оснастки мое приложение всегда показывает значок системы по умолчанию в панели запуска (Ubuntu 18.04). Никаких предупреждений или чего-либо еще при создании пакета или его запуске.
Примечание. Такая же установка работает для упаковки Debian. Мой пакет Debian использует точно такие же места установки, и в этом случае значок работает нормально.
В настоящее время Snapcraft не обрабатывает значки записей на рабочем столе (таким образом, система не может найти значки, поскольку значки, указанные в записях на рабочем столе, отсутствуют в значок поиска в каталогах), и разработчик пакетов должен вручную исправить значение Icon
на $SNAP/path/to/the/icon.{png,svg}
, чтобы файлы .desktop, указанные в ключах apps._app_name_.desktop
.
Вот
Я отправил предложение по улучшению этой ситуации по адресу: Предложение: ключ apps.<app-name>.icon
- snapcraft - snapcraft.io
После этих шагов на рабочем столе появится значок (приложения Snap).
Спасибо @juzzlin, после этих шагов на рабочем столе появится значок.
Этот вопрос касается создания пакета Snap, чтобы значок на рабочем столе работал.