如何转义 .desktop 文件中的空格 执行行

如何转义 .desktop 文件中的空格 执行行

我想创建一个.desktop描述在这里

[Desktop Entry]
Name=Sublime Text 2
GenericName=Sublime Text 2
Comment=Edit text files
Exec=/home/user/opt/sublime/Sublime Text 2/sublime_text %U

但是,从 Nautilus 的上下文菜单运行打开用这让我

找不到“/home/user/opt/sublime/Sublime”

所以我尝试了

Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U

并得到

文本在找到与“匹配的引号之前结束。(文本为'“/home/user/opt/sublime/Sublime')

Exec在文件行中转义空格的正确方法是什么.desktop

答案1

每个空格前面都加上反斜杠:

[Desktop Entry]
Name=Sublime Text 2
GenericName=Sublime Text 2
Comment=Edit text files
Exec=/home/user/opt/sublime/Sublime\ Text\ 2/sublime_text %U

答案2

根据桌面入口规范\sASCII 空间可以用转义序列(对于string和值)来表示localestring

答案3

您是否尝试过使用 ' ' 引号代替“ ”引号?我有一个自定义的 .desktop 文件,其中 Exec 行中有空格,而我的文件可以使用 ' ' 引号。

答案4

按照以下安装说明操作时,我遇到了同样的问题(http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04) 网站..所以我的解决方案是:

  1. 从中删除名为“sublime”的软链接/usr/bin

  2. 通过将“Sublime Text 2”文件夹重命名为“SublimeText2”来删除其中的所有空格

  3. 重新创建软链接 /usr/bin/

    sudo ln -s /opt/SublimeText2/sublime_text /usr/bin/sublime
    
  4. 制作 .desktop 文件,包括:

    Exec=/opt/SublimeText2/sublime_text %U
    Icon=/opt/SublimeText2/Icon/48x48/sublime_text.png
    

相关内容