‘.desktop’ 文件未显示在‘ls’ 命令列表中

‘.desktop’ 文件未显示在‘ls’ 命令列表中

我安装了 Visual Studio,但它没有显示应用程序的图标。所以我关注了设置图标。

当我进入时,/usr/share/applications我看到.desktopVisual Studio 代码。但由于我没有权限,所以无法编辑它。所以我打开了终端并尝试用 打开它sudo gedit。因此,首先我尝试用 检查名称ls。但它没有列出图标。 /usr/share/applications 中的 Visual Studio Code 在此处输入图片描述

这是为什么?我该如何编辑.desktopvscode 来设置图标?

答案1

您无需编辑.desktop位于 的文件/usr/share/applications/(这可能会导致许多问题,在相关软件包升级后将被覆盖),您可以先复制文件并粘贴到~/.local/share/applications/。然后使用 gedit 编辑复制的文件(sudo这不是必需的)。

为什么ls不列出文件:
ls列出了实际的,而 Nautilus 则根据中的字段filename.desktop显示应用程序的名称。这两个名称可能不同。在本例中,在 中,但可能完全不同。Name=filename.desktopName=Visual Studio Codefilename.desktopfilename

答案2

通常,Nautilus 或其他文件管理器中打开的图标名称/usr/share/applications/ 可能不等于.desktop文件的名称。

正确的方法是.desktop按如下方式检查文件内容:

  1. 如果我们知道可执行文件名称(code在这种情况下)

    grep -ir Exec=.*code /usr/share/applications/
    
  2. 如果我们知道用户友好的名称(Visual Studio 代码

    grep -ir Name=.*Visual /usr/share/applications/
    

然后您可以将此文件复制到此处~/.local/share/applications/并编辑其Icon=字段。

你也应该阅读.desktop 文件规范了解它是如何工作的。

相关内容