Chcę utworzyć .desktop
plik opisany tutaj .
[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
Jednak uruchomienie tego z menu kontekstowego Nautilusa za pomocą Open z tym daje mi
Nie można znaleźć „/ home / user / opt / sublime / Sublime”
Więc próbowałem
Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U
i dostał
Tekst zakończył się, zanim znaleziono pasujący cytat dla „. (Tekst był„ ”/ home / user / opt / sublime / Sublime”)
Jaki jest właściwy sposób na ucieczkę spacji w Exec
linii .desktop
plików?
Text ended just after a '\' character. (The text was '/home/user/opt/sublime/Sublime\')
GNOME nautilus 3.4.2
12.04.Miałem dokładnie ten sam problem! Po wypróbowaniu różnych wzorców ucieczki / cytowania, zdecydowałem, że najprostszym rozwiązaniem jest posiadanie dowiązania symbolicznego do
sublime_text
mojego $ PATH (lub możesz użyć aliasu wiersza poleceń).źródło
.desktop
plikach.Exec
błędny w analizie, a nie my nieprawidłowo wdrażamy. Interpretuje spację jako koniec wartości, co jest nieparzyste, ponieważ można używać spacji bez ciągów / ciągów bez cudzysłowu dla ścieżek w innych właściwościach!Czy próbowałeś używać cudzysłowów zamiast „”? Mam dostosowany plik .desktop ze spacjami w wierszu Exec, a mój działa z cudzysłowami.
źródło
Mam ten sam problem, postępując zgodnie z instrukcjami instalacji ze strony ( http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04 ). Więc moim rozwiązaniem było :
Usuń / usuń miękki link o nazwie „sublime” z
/usr/bin
Usuń wszystkie białe znaki z folderu „Sublime Text 2”, zmieniając jego nazwę na „SublimeText2”
Re Utwórz miękki link w
/usr/bin/
:Utwórz plik .desktop, w tym:
źródło
Zgodnie ze specyfikacją wpisu na pulpicie przestrzeń ASCII może być reprezentowana przez
\s
sekwencję zmiany znaczenia (dlastring
ilocalestring
wartości).źródło
Ten sam problem napotkałem przy użyciu GNOME nautilus 3.4.2 w Ubuntu 12.04. Znalazłem to alternatywne obejście w raporcie o błędzie dotyczącym tego samego problemu w Moblin UI Framework, który wolę od wspomnianego, w którym musisz dodać każdy folder do $ PATH.
Obejście to po prostu:
„Utwórz łącze symboliczne na ścieżce, która nie ma spacji, i wskaż pole EXEC na to łącze”.
źródło
Pliki .desktop nie obsługują cudzysłowów, spacji i znaków zmiany znaczenia w taki sam sposób, jak powłoki. Prawdopodobnie najlepszą opcją byłoby wywołanie powłoki w linii exec, aby uzyskać oczekiwane zachowanie, na przykład:
Aby uzyskać więcej informacji, zobacz
man sh
. Pozwala to również uniknąć tworzenia i utrzymywania dowiązań symbolicznych, podobnie jak w przypadku innych odpowiedzi.źródło