“.desktop”文件未显示在“ls”命令列表中

Thi*_*aja 7 permissions icons .desktop 17.10

我安装了 Visual Studio,但它没有显示应用程序的图标。所以我按照这个来设置一个图标。

当我进入时,/usr/share/applications我看到Visual Studio Code.desktop文件。但由于我没有访问权限,我无法对其进行编辑。所以我打开终端并尝试用. 因此,首先我尝试使用. 但它没有列出图标。 sudo geditls/usr/share/applications 中的 Visual Studio 代码 在此处输入图片说明

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

pom*_*sky 13

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

为什么ls不列出下文件:
ls列出了实际filename.desktop而鹦鹉螺显示应用,每名Name=现场filename.desktop。这两个可以不同。在这里,在这种情况下Name=Visual Studio Codefilename.desktop,但filename可能是完全不同的东西。

  • @PankajaParanavitharana `ls` 列出了实际的 `filename.desktop`,而 Nautilus 根据 `filename.desktop` 中的 `Name=` 字段显示应用程序的名称。这两个可以不同。在这种情况下,`filename.desktop` 中的 `Name=Visual Studio Code`,但 `filename` 可能完全不同。 (5认同)

N0r*_*ert 7

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

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

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

    grep -ir Exec=.*code /usr/share/applications/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果我们知道用户友好的名称(Visual Studio Code

    grep -ir Name=.*Visual /usr/share/applications/
    
    Run Code Online (Sandbox Code Playgroud)

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

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