Quiero hacer un .desktop
archivo como se describe aquí .
[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
Sin embargo, ejecutar eso desde el menú contextual de Nautilus usando Abrir con esto me da
No se pudo encontrar '/ home / user / opt / sublime / Sublime'
Así que lo intenté
Exec="/home/user/opt/sublime/Sublime Text 2/sublime_text" %U
y consiguió
El texto finalizó antes de encontrar una cita coincidente para ". (El texto era '" / home / user / opt / sublime / Sublime')
¿Cuál es la forma correcta de escapar espacios en la Exec
línea de .desktop
archivos?
Text ended just after a '\' character. (The text was '/home/user/opt/sublime/Sublime\')
GNOME nautilus 3.4.2
el 12.04.¡Estaba teniendo exactamente el mismo problema! Después de probar varios patrones de escape / cita, decidí que la solución más simple era tener un enlace simbólico
sublime_text
en mi $ PATH (o podría usar un alias de línea de comandos).fuente
.desktop
los archivos.Exec
se analiza, en lugar de que nosotros lo implementemos incorrectamente. ¡Interpreta un espacio como el final del valor, lo cual es extraño, ya que puede usar espacios sin escape / cadenas sin comillas para las rutas en las otras propiedades!¿Has intentado usar comillas '' en lugar de comillas ""? Tengo un archivo .desktop personalizado con espacios en la línea Exec, y el mío funciona con '' comillas.
fuente
Tengo el mismo problema cuando sigo las instrucciones de instalación del sitio ( http://monkeyhacks.com/post/how-to-install-sublime-text-2-on-ubuntu-14-04 ). Así que mi solución fue :
Eliminar / eliminar el enlace suave llamado "sublime" de
/usr/bin
Elimine todos los espacios en blanco de la carpeta "Sublime Text 2" renombrándolo a "SublimeText2"
Re Crear un enlace suave en
/usr/bin/
:Cree el archivo .desktop que incluya:
fuente
De acuerdo con la especificación de entrada de escritorio, el espacio ASCII puede estar representado por la
\s
secuencia de escape (parastring
ylocalestring
valores).fuente
Me encontré con el mismo problema usando GNOME nautilus 3.4.2 en Ubuntu 12.04. Encontré esta solución alternativa en un informe de error para el mismo problema en Moblin UI Framework, que prefiero al mencionado donde necesita agregar cada carpeta a $ PATH.
La solución alternativa es simplemente:
"Cree un enlace simbólico en una ruta que no tenga espacios y apunte el campo EXEC a ese enlace".
fuente
Los archivos .desktop no manejan comillas, espacios y caracteres escapados de la misma manera que los shells. Probablemente, la mejor opción sería llamar a un shell en su línea ejecutiva para obtener el comportamiento esperado, así:
Para más información, consulte
man sh
. Esto también evita tener que crear y mantener enlaces simbólicos, como lo hará con las otras respuestas.fuente