我有一个.desktop运行 shell 脚本的应用程序,当双击该应用程序时,这个 shell 脚本运行一个 python 代码,我希望能够从我笔记本电脑上的所有目录启动它并保持图标稳定,即使图像或图标或应用程序的目录已更改!
如何使我的应用程序全球化?
从 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。
要使您的 .desktop 文件全局化,只需:
把它放在 /usr/share/applications
只为一个帐户,将其放入 /home/$USER/.local/share/applications
不幸的是,您无法在移动图像文件时使图标保持不变。我建议创建一个包含您的应用程序图标的文件夹。将此文件夹放在/usr/share.
| 归档时间: |
|
| 查看次数: |
701 次 |
| 最近记录: |