在 15.04 中创建启动器项时,文件路径中的引号有什么意义?

在 15.04 中创建启动器项时,文件路径中的引号有什么意义?

我正在尝试为 Sublime Text 2 制作一个图标。当我使用以下设置时,出现“启动应用程序时出错”

[Desktop Entry]
Name=Sublime Text
Type=Application
Exec=/home/aortiz49/Application Data/Sublime_Text_2/sublime_text
Terminal=false
Icon=/home/aortiz49/Application Data/Sublime_Text_2/Icon/256x256/sublime_text.png
Comment=Sublime Text 2
NoDisplay=false
Catergories=Development
Name[en]=Sublime

但是,当我将 Exec 路径放在双引号中时,如下所示:

"/home/aortiz49/Application Data/Sublime_Text_2/sublime_text"

该应用程序有效。

但是如果我在图标路径上加上双引号,图标就会消失。

在指定某个路径时,双引号有什么区别?我知道在指定带有空格的路径时会使用它们,但这些路径没有空格。

答案1

但这些路径没有空格。

路径在Application和之间有一个空格Data。因此您需要双引号或反斜杠\

Exec=/"home/aortiz49/Application Data/Sublime_Text_2/sublime_text"

或者

Exec=/home/aortiz49/Application\ Data/Sublime_Text_2/sublime_text

对于Icon

Icon=/home/aortiz49/"Application Data"/Sublime_Text_2/Icon/256x256/sublime_text.png

答案2

与您所想的不同,在文件中.desktop,有一个空格:

不应该在图标路径中进行转义,因此:

Icon=/home/aortiz49/Application Data/Sublime_Text_2/Icon/256x256/sublime_text.png

可以,但是有一个空格:

应该在该行中进行转义Exec=,因此:

Exec=/home/aortiz49/Application Data/Sublime_Text_2/sublime_text

不正确。应为:

Exec=/home/aortiz49/"Application Data"/Sublime_Text_2/sublime_text

原因是这条Exec=线代表一个命令它将把空格后面的内容解释为参数,而该行Icon=表示一条路径到图标。

相关内容