如何使用 xdg-desktop-icon 创建 Linux 桌面图标跨桌面(KDE、GNOME)?

Posted

技术标签:

【中文标题】如何使用 xdg-desktop-icon 创建 Linux 桌面图标跨桌面(KDE、GNOME)?【英文标题】:How to create a Linux desktop icon cross desktop (KDE, GNOME) with xdg-desktop-icon? 【发布时间】:2012-09-16 05:53:04 【问题描述】:

我想使用 xdg-desktop-icon 工具,因为它可以编写脚本并且可以跨桌面工作(至少在带有 Gnome 和 KDE 的 Linux 上)。至少根据 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。(成功。)但是...我在桌面上看不到任何新图标。重启后也不行。这在带有 KDE 的 Ubuntu Precise 12.04 和带有 KDE 的 Debian Wheezy 上失败了。

如何正确使用xdg-desktop-icon工具?

KDE 的问题与桌面设置有关。文件夹视图、报纸视图等。

【问题讨论】:

只需将.desktop 文件放在您想要的任何位置。我不知道这个“安装”是什么意思。 【参考方案1】:

xdg-desktop-icon 依赖于xdg-user-dir 来确定用户桌面目录。您可以检查该命令和文件管理器(或处理桌面的程序)的设置。

假设默认为/home/user/Desktop,那么您必须检查那里的文件名。如果文件在那里,则 xdg-desktop-icon 正在按预期工作。

您必须考虑必须使用xdg-icon-resource 单独安装图标(在您的情况下为test)。也就是说,如果您没有使用已安装的股票图标或自定义图标,或者您没有使用图标的绝对路径。

不要忘记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 ...

这会给您一个额外的行,告诉您桌面文件的安装位置。此时如果图标没有安装,可能会出现一个难看的默认图标。

【讨论】:

KDE 的问题与桌面设置有关。文件夹视图、报纸视图等。 嘿@JamesMitch,你知道你需要默认活动还是其他活动,包括桌面文件夹视图处于活动状态?该图标可能是在桌面文件夹中创建的,而不是直接在磁盘上。您也可以手动检查文件管理器中的桌面文件夹 /home/user/Desktop(Arbeitsfäche in German)。这很尴尬不是吗?

以上是关于如何使用 xdg-desktop-icon 创建 Linux 桌面图标跨桌面(KDE、GNOME)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用C#创建WebService

如何使用eclipse创建Maven工程及其子模块

如何使用eclipse创建Maven工程及其子模块

请问如何使用js创建一个对像

如何使用OpenSSL创建证书

如何使用eclipse创建Maven工程及其子模块