如何找到* .desktop文件?


84

据我所知,Unity Launcher中的所有快捷方式都有一个对应的* .desktop文件。我有一个快捷方式(用于skrooge),没有图标。如何找到与该快捷方式相对应的* .desktop文件,以便可以向其添加图标?

Answers:


112

它可能位于其中,/usr/share/applications/但是如果您要查找.desktop系统上的每个文件,请运行以下命令:

find / -name '*.desktop'

要么

sudo updatedb
locate *.desktop

要查找路径或名称中带有“ skrooge”的文件,请在命令中添加grep

locate *.desktop | grep -iR "skrooge"

20
locate -i "*skrooge*.desktop"。尽管主要在三个地方,团结会寻找桌面文件。~/.local/share/applications/usr/local/share/applications/usr/share/applications。如果在多个位置有用于同一命令的桌面文件,它将使用我列出的三个文件中最左侧的文件。
盖尔哈2012年

显示为/usr/share/applications/kde4/skrooge.desktop。谢谢。:)
KOVIKO 2012年

33

系统将.desktop文件存储在中/usr/share/applications/。不幸的是,如果您在nautilus中打开该文件夹,则会显示.desktop文件,并带有文件中指定的图标和文件名。您也将无法通过单击它们并选择“编辑”来编辑这些文件。

要编辑这些文件,您需要在终端窗口中打开该文件夹。执行ls命令将显示所有.desktop文件及其实际名称。找到要更改的.desktop后,运行gksudo gedit {file-name}.desktop

通常的做法是将您创建或编辑的任何.desktop文件保存在主文件夹中~/.local/share/applications


从终端运行可能会比较麻烦,但是也可以将Nautilus拖到gedit或其他文本编辑器中。
乔恩·汉纳

目录“〜/ .local / share / applications”的意义是什么?那里的文件似乎没有被使用,不是我无法将它们作为“快捷方式”添加到Unity。
玛拉基亚斯2015年

2
@Malachiasz实际上,~/.local/share/applications会话重新启动时将重新加载* .desktop文件。因此,注销并重新登录。请注意,这些特定于该用户。
akshay2000


8

一些其他细节来补充其他答案:

通常,.desktop软件包的文件位于中/usr/share/applications

如果需要,可以将其复制到~/.local/share/applications并在那里进行编辑,而无需sudo。在项目~/.local/share/applications覆盖在配套项目/usr/share/applications/usr/local/share/applications,但只对用户可见。

或者,您可以将编辑后的副本放置在/usr/local/share/applications其中将覆盖任何副本的位置,/usr/share/applications同时也对整个系统可见。

请注意,您不应直接.desktop在其中编辑文件/usr/share/applications。软件包管理器更新应用程序时,您所做的任何更改都将自动覆盖

这里提取


+1,其中最完整的答案
乔恩·本特利
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.