Как создать значок рабочего стола Linux для кросс-рабочего стола (KDE, GNOME) с помощью xdg-desktop-icon?

Я бы хотел использовать инструмент xdg-desktop-icon, потому что он может быть написан по сценарию и работает на разных рабочих столах (по крайней мере, в Linux с Gnome и KDE). По крайней мере, это должно быть сделано в соответствии с freedesktop.org. 1

Сделал минимальный файл: test.desktop

[Desktop Entry]

Encoding=UTF-8
Type=Application

Exec=test
Icon=test

Name=test

Используется xdg-desktop-icon...

xdg-desktop-icon install --novendor test.desktop

Код выхода - 0. (Успех.) Но... Я не вижу новых значков на рабочем столе. Тоже не после перезагрузки. Это не удалось на Ubuntu Precise 12.04 с KDE и на Debian Wheezy с KDE.

Как правильно использовать инструмент xdg-desktop-icon?

Проблема в KDE как-то связана с настройками рабочего стола. Просмотр папок, просмотр газет и так далее.

1 ответ

xdg-desktop-icon опирается на xdg-user-dir определить каталог рабочего стола пользователя. Вы можете проверить либо по этой команде и настройкам вашего файлового менеджера (или программы, обрабатывающей рабочий стол).

Предполагая, что по умолчанию это будет /home/user/Desktop, тогда вы должны проверить имя файла там. Если файл там, то xdg-desktop-icon работает как положено.

Вы должны учитывать, что значок (test в вашем случае) должен быть установлен отдельно, используя xdg-icon-resource, То есть, если вы не используете уже установленный значок запаса или пользовательский значок или не используете абсолютный путь к значку.

Не забудь этого xdg-desktop-icon только копирует .desktop файл в определенном каталоге. Не больше, не меньше.

Если я работаю с каталогом ~/myapp, я бы проверил:

$ xdg-user-dir
/home/user/Desktop
$ ls `xdg-user-dir`/test.desktop
ls: cannot access /home/user/Desktop/test.desktop: No such file or directory
$ xdg-desktop-icon install --novendor test.desktop
$ ls `xdg-user-dir`/test.desktop
/home/user/Desktop/test.desktop

В конце концов, вы можете запустить с любым xdg- скрипт с:

$ XDG_DEBUG_LEVEL=1 xdg-desktop-icon ...

Что даст вам дополнительную строку, сообщающую, где был установлен файл рабочего стола. На этом этапе, если значок не был установлен, он может показаться уродливым значком по умолчанию.

Другие вопросы по тегам