Je veux créer un .desktop
fichier comme décrit ici .
[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
Cependant, exécuter cela à partir du menu contextuel de Nautilus en utilisant Ouvrir avec cela me donne
Impossible de trouver '/ home / user / opt / sublime / Sublime'
J'ai donc essayé
Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U
et j'ai
Le texte s'est terminé avant que la citation correspondante n'ait été trouvée pour ". (Le texte était '" / home / user / opt / sublime / Sublime')
Quelle est la bonne façon d'échapper aux espaces dans la Exec
ligne de .desktop
fichiers?
Text ended just after a '\' character. (The text was '/home/user/opt/sublime/Sublime\')
GNOME nautilus 3.4.2
le 12.04.J'avais exactement le même problème! Après avoir essayé divers modèles d'échappement / guillemets, j'ai décidé que la solution la plus simple était d'avoir un lien symbolique vers
sublime_text
mon $ PATH (ou vous pourriez utiliser un alias de ligne de commande).la source
.desktop
fichiers.Exec
bug soit analysé, plutôt que de l'implémenter incorrectement. Il interprète un espace comme la fin de la valeur, ce qui est étrange, car vous pouvez utiliser des espaces non échappés / des chaînes sans guillemets pour les chemins dans les autres propriétés!Avez-vous essayé d'utiliser des guillemets "" au lieu de ""? J'ai un fichier .desktop personnalisé avec des espaces dans la ligne Exec, et le mien fonctionne avec des guillemets ''.
la source
J'ai le même problème en suivant les instructions d'installation du site ( http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04 ). Donc ma solution était :
Supprimer / supprimer le lien logiciel appelé "sublime" de
/usr/bin
Supprimez tous les espaces du dossier "Sublime Text 2" en le renommant en "SublimeText2"
Re Créer un lien logiciel dans
/usr/bin/
:Créez le fichier .desktop comprenant:
la source
Selon la spécification d'entrée de bureau, l'espace ASCII peut être représenté par la
\s
séquence d'échappement (pourstring
etlocalestring
valeurs).la source
J'ai rencontré le même problème en utilisant GNOME nautilus 3.4.2 dans Ubuntu 12.04. J'ai trouvé cette solution alternative dans un rapport de bogue pour le même problème dans Moblin UI Framework que je préfère à celui mentionné où vous devez ajouter chaque dossier au $ PATH.
La solution de contournement est simplement:
"Créez un lien symbolique dans un chemin qui n'a pas d'espaces et pointez le champ EXEC vers ce lien."
la source
Les fichiers .desktop ne gèrent pas les guillemets, les espaces et les caractères d'échappement de la même manière que les shells. Probablement, la meilleure option serait d'appeler un shell dans votre ligne exec pour obtenir le comportement attendu, comme ceci:
Pour plus d'informations, veuillez consulter
man sh
. Cela évite également d'avoir à créer et à maintenir des liens symboliques, comme vous le ferez avec les autres réponses.la source