Eu quero criar um .desktop
arquivo como o descrito aqui .
[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
No entanto, executar isso no menu de contexto do Nautilus usando Abrir com isso me dá
Não foi possível encontrar '/ home / user / opt / sublime / Sublime'
Então eu tentei
Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U
e pegou
O texto foi finalizado antes que a citação correspondente fosse encontrada para ". (O texto era '" / home / user / opt / sublime / Sublime')
Qual é a maneira correta de escapar de espaços na Exec
linha de .desktop
arquivos?
Text ended just after a '\' character. (The text was '/home/user/opt/sublime/Sublime\')
GNOME nautilus 3.4.2
em 12.04.Eu estava tendo exatamente o mesmo problema! Depois de tentar vários padrões de escape / citação, decidi que a solução mais simples era ter um link simbólico
sublime_text
no meu $ PATH (ou você poderia usar um alias de linha de comando).fonte
.desktop
arquivos.Exec
é analisado, em vez de nos implementarmos incorretamente. Ele interpreta um espaço como o final do valor, o que é ímpar, pois você pode usar espaços sem escape / seqüências de caracteres sem aspas para caminhos nas outras propriedades!Você já tentou usar aspas '' em vez de aspas? Eu tenho um arquivo .desktop personalizado com espaços na linha Exec e o meu funciona com aspas ''.
fonte
Eu tenho o mesmo problema ao seguir as instruções de instalação do site ( http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04 ) .. Então, minha solução foi :
Remova / exclua o link virtual chamado "sublime" de
/usr/bin
Remova todos os espaços em branco da pasta "Sublime Text 2" renomeando-a para "SublimeText2"
Re Crie um link virtual em
/usr/bin/
:Crie o arquivo .desktop, incluindo:
fonte
De acordo com a especificação de entrada da área de trabalho, o espaço ASCII pode ser representado pela
\s
sequência de escape (parastring
elocalestring
valores).fonte
Encontrei o mesmo problema usando o GNOME nautilus 3.4.2 no Ubuntu 12.04. Eu encontrei essa solução alternativa em um relatório de bug para o mesmo problema no Moblin UI Framework, que eu prefiro ao mencionado, onde você precisa adicionar todas as pastas ao $ PATH.
A solução alternativa é simplesmente:
"Crie um link simbólico em um caminho que não tenha espaços e aponte o campo EXEC para esse link".
fonte
Os arquivos .desktop não manipulam aspas, espaços e caracteres de escape da mesma maneira que os shells. Provavelmente, a melhor opção seria chamar um shell em sua linha de exec para obter o comportamento esperado, assim:
Para mais informações, consulte
man sh
. Isso também evita ter que criar e manter links simbólicos, como você fará com as outras respostas.fonte