Ich möchte eine .desktop
Datei wie hier beschrieben erstellen .
[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
Wenn ich das jedoch über das Kontextmenü von Nautilus mit Öffnen ausführe, erhalte ich das
Konnte '/ home / user / opt / sublime / Sublime' nicht finden
Also habe ich es versucht
Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U
und bekam
Der Text wurde beendet, bevor ein passendes Zitat für ". (Der Text lautete" "/ home / user / opt / sublime / Sublime") gefunden wurde.
Was ist der richtige Weg, um Leerzeichen in der Exec
Dateizeile zu .desktop
umgehen?
Text ended just after a '\' character. (The text was '/home/user/opt/sublime/Sublime\')
GNOME nautilus 3.4.2
am 12.04.Ich hatte genau das gleiche Problem! Nachdem ich verschiedene Escape- / Anführungszeichen ausprobiert hatte, entschied ich, dass die einfachste Lösung darin bestand,
sublime_text
auf meinem $ PATH einen symbolischen Link zu zu haben (oder Sie könnten einen Befehlszeilenalias verwenden).quelle
.desktop
Dateien.Exec
es analysiert wird, anstatt dass wir es falsch implementieren. Es interpretiert ein Leerzeichen als das Ende des Werts, was ungerade ist, da Sie für Pfade in den anderen Eigenschaften Leerzeichen / Zeichenfolgen ohne Anführungszeichen verwenden können!Haben Sie versucht '' Anführungszeichen anstelle von "" Anführungszeichen zu verwenden? Ich habe eine angepasste .desktop-Datei mit Leerzeichen in der Exec-Zeile und meine arbeitet mit Anführungszeichen.
quelle
Ich habe das gleiche Problem, wenn ich Installationsanweisungen von der Website ( http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04 ) befolge. Also meine Lösung war :
Entfernen / Löschen Sie den Softlink "sublime" von
/usr/bin
Entfernen Sie alle Leerzeichen im Ordner "Sublime Text 2", indem Sie ihn in "SublimeText2" umbenennen.
Erstellen Sie einen Softlink in
/usr/bin/
:Erstellen Sie die .desktop-Datei, einschließlich:
quelle
Gemäß der Desktop-Eintragsspezifikation kann der ASCII-Raum durch die
\s
Escape-Sequenz (fürstring
undlocalestring
Werte) dargestellt werden.quelle
Ich habe das gleiche Problem mit GNOME Nautilus 3.4.2 in Ubuntu 12.04. Ich habe diese alternative Problemumgehung in einem Fehlerbericht für dasselbe Problem im Moblin UI Framework gefunden, der mir besser gefällt als der, in dem Sie jeden einzelnen Ordner zum $ PATH hinzufügen müssen.
Die Problemumgehung lautet einfach:
"Erstellen Sie eine symbolische Verknüpfung in einem Pfad, der keine Leerzeichen enthält, und verweisen Sie das EXEC-Feld auf diese Verknüpfung."
quelle
.desktop-Dateien behandeln Anführungszeichen, Leerzeichen und Escapezeichen nicht so wie Shells. Wahrscheinlich ist die beste Option, eine Shell in Ihrer exec-Zeile aufzurufen, um das erwartete Verhalten zu erhalten:
Weitere Informationen finden Sie unter
man sh
. Auf diese Weise müssen Sie auch keine symbolischen Verknüpfungen erstellen und pflegen, wie Sie es bei den anderen Antworten tun werden.quelle