Как установить значок приложения в файле .desktop приложения Ubuntu Touch?

Я изучаю SDK Ubuntu, и у меня есть новый проект интерфейса HTML5 Touch с Qt Creator.

Папка проекта имеет файл .desktop . Затем я добавил файл launcher.png в папку моего проекта.

Вот мой файл .desktop :

 [Desktop Entry] Name=myapp StartupNotify=true Icon=/usr/share/myapp/launcher.png MimeType=text/plain; NoDisplay=true Comment=something... Exec=/usr/bin/qmlscene $@ /usr/share/myapp/diaspora-webclient.qml Terminal=false Type=Application X-Ubuntu-Touch=true - [Desktop Entry] Name=myapp StartupNotify=true Icon=/usr/share/myapp/launcher.png MimeType=text/plain; NoDisplay=true Comment=something... Exec=/usr/bin/qmlscene $@ /usr/share/myapp/diaspora-webclient.qml Terminal=false Type=Application X-Ubuntu-Touch=true 

Теперь я qmlscene Ctrl + R, чтобы запустить приложение с помощью qmlscene . Приложение запускается, но launcher.png не отображается как значок приложения в Unity Launcher.

Нужно ли мне запускать команду для обновления изменений? Или мне нужно переместить launcher.png в /usr/share/myapp/launcher.png через in-app-code?

Есть две вещи не так, как вы делаете.

Кулак всех файлов .desktop предназначен для установленных приложений, а не для запуска с помощью Ctrl + R. Чтобы установить приложение, необходимо его упаковать и установить. Более подробную информацию об упаковке приложения и его публикации можно найти здесь .

Во-вторых, пути, которые у вас есть в .desktop должны быть локальными файлами, а не абсолютными путями. Вот пример файла .desktop :

 [Desktop Entry] Name=Tasks Comment=Your tasks, every device, everywhere. Exec=qmlscene $@ ubuntu-tasks.qml Icon=ubuntu-tasks.png Terminal=false Type=Application X-Ubuntu-Touch=true 

Несколько вещей, чтобы отметить:

  • Строка Exec должна быть в формате qmlscene $@ <file.qml> , с qmlscene $@ <file.qml> только имени вашего основного файла QML, информации о директории.

  • Строка Icon должна быть в виде Icon=<icon.png> , с Icon=<icon.png> только имени файла (включая расширение), информации о директории.

Теперь приведенная выше информация предназначена для запуска вашего приложения на устройстве Ubuntu Touch, упакованном в пакет Click. Пакеты Click предназначены для Ubuntu Touch и в настоящее время не интегрируются с рабочим столом Unity. Итак, если вы хотите иметь возможность запускать приложение из Dash / Launcher, а также увидеть его значок, вам нужно сделать две вещи:

  1. Скопируйте файл .desktop файлы ~/.local/share/applications и используйте абсолютный путь к значку, а не только имя файла, как при упаковке приложения.

  2. Скопируйте значок в ~/.icons