如何使我的 .desktop 应用程序全球化?

alg*_*hms 4 .desktop python3

我有一个.desktop运行 shell 脚本的应用程序,当双击该应用程序时,这个 shell 脚本运行一个 python 代码,我希望能够从我笔记本电脑上的所有目录启动它并保持图标稳定,即使图像或图标或应用程序的目录已更改!

如何使我的应用程序全球化?

van*_*ium 7

从 Zany_Zachary 建议的答案中可以明显看出/usr/share/applications,所有用户都可以使用 中的启动器。下面的启动器~/.local/share/applications仅对当前用户可用。当启动器位于这些位置时,它会被您的桌面菜单或启动器选中。该位置/usr/share/applications是操作系统的软件管理系统 APT 正在使用的目录,因此,尽管它可以工作,但您不应将自定义.desktop文件放在那里。相反,请使用文件夹/usr/local/share/applications。该文件夹在 Ubuntu 上默认不存在,因此您可能需要先创建它。

这就是您标题中的“全局”最容易理解的方式。但是,在您的问题中,您建议在“全局”下您也将某些东西理解为“便携”,即,即使图标或应用程序更改了位置,它也应该继续工作。不过,您必须遵守操作系统的约定,将您的图标或可执行文件放置在何处。因此,不存在“全局”.desktop启动器这样的东西,无论您将图标或可执行文件放在哪里,它都可以继续工作。

这种“可移植性”是有限制的。一方面,图标的名称或可执行文件的名称不能更改,因为名称是硬编码在.desktop文件中的。但是,您可以省略.desktop文件中的路径,但是,您必须将图标和可执行文件放置在操作系统搜索到的特定位置。

图标

图标定义在.desktop文件中就Icon=行了。

如果您只提供图标的名称(没有扩展名),操作系统将 首先搜索~/.icons~/.local/share/icons,然后搜索系统范围内的图标目录,主要是在/usr/share/icons和下/usr/local/share/icons。菜单系统将选取这些文件夹之一中带有.png.svg扩展名的图形文件。如果没有找到相应的图形文件,系统将恢复为默认的后备图标。

应用程序

可执行文件定义在.desktop文件中就Exec=行了。

同样在这里,如果没有提供完整的文件路径,系统将搜索匹配名称的可执行文件的预定义路径。您可以使用命令查看文件夹及其搜索顺序echo $PATH


Zan*_*ry1 6

你好!

要使您的 .desktop 文件全局化,只需:

把它放在 /usr/share/applications

只为一个帐户,将其放入 /home/$USER/.local/share/applications


不幸的是,您无法在移动图像文件时使图标保持不变。我建议创建一个包含您的应用程序图标的文件夹。将此文件夹放在/usr/share.