Necesita alguna aclaración sobre los permisos de los .desktop
archivos. Puedo ver que todos los .desktop
archivos en /usr/share/applications/
propiedad de root tienen permiso,
-rw-r--r--
También examples.desktop
en $HOME
propiedad del usuario tiene el mismo permiso. Todos esos funcionan correctamente.
Pero cuando voy a crear un .desktop
archivo personalizado con el mismo permiso, aparece el siguiente mensaje de error,
Lanzador de
aplicaciones no confiable El lanzador de aplicaciones "myapp.desktop" no se ha marcado como confiable. Si no conoce el origen de este archivo, iniciarlo puede no ser seguro.
Pero agregar el permiso de ejecución le permite ejecutarse sin ningún problema.
P: ¿Por qué los
.desktop
archivos personalizados necesitan tener+x
permisos para ejecutarse o cómo algunos.desktop
archivos pueden ejecutarse sin permiso de ejecución? ¿Es posible ejecutar un.desktop
archivo personalizado sin permiso de ejecución?
fuente
Respuestas:
Esto es de la política de seguridad de Ubuntu :
Entonces, sí, de acuerdo con esta política, debería ser posible ejecutar un archivo .desktop sin el conjunto de bits ejecutable. De acuerdo con esta política sólo se tendría que mover ese archivo fuera de las
/home/
y los/tmp/
directorios y luego se puede poner en marcha sin el bit ejecutable. Esto es en teoría / de acuerdo con la política.En la práctica, nautilus le permitirá iniciar archivos .desktop sin el bit ejecutable establecido desde los directorios XDG_DATA_DIR y desde el
~/.gnome2/
directorio. Puede verificar XDG_DATA_DIRS con elecho $XDG_DATA_DIRS
comando. Entonces, si coloca su archivo .desktop en un XDG_DATA_DIR o en~/.gnome2/
, podrá iniciarlo desde nautilus sin el conjunto de bits ejecutable. Al menos en 12.04 funciona así. ¿Cómo está esto en línea con la política antes mencionada? No lo sé.Para lo
examples.desktop
mencionado en la pregunta: ese archivo .desktop es un tipo diferente de archivo .desktop. Es un "Enlace", no quiere ejecutar nada, básicamente funciona como un enlace simbólico. Este tipo de archivos .desktop funcionan en todas partes.fuente
.desktop
archivo externo/home
sin bit ejecutable no me funcionó. [ii] ¿Puedo agregar alguna carpeta$XDG_DATA_DIRS
? Intentéexport XDG_DATA_DIRS=$XDG_DATA_DIRS:~/.local/share/applications/
sin éxito./home/
directorio. Como escribí, en la práctica, nautilus se comporta de manera diferente e incluso ejecuta algunos .desktop desde un directorio de inicio (~/.gnome2/
) pero no se ejecuta desde todos los directorios fuera de / home, solo desde XDG_DATA_DIRS. Así que creo que el comportamiento de nautilus no está perfectamente en línea con la política. [ii] Sobre cómo agregar un directorio, consulte esta publicación de blog .Puede crear y colocar el
.desktop
archivo~/.local/share/applications
, luego aparecerá en el guión / menú / lo que sea.Tendrá que verse más o menos así:
Esto se debe a que los archivos
~/.local/share/applications
funcionan igual que los archivos/usr/share/applications
, los cuales funcionan bien en la mayoría de los sistemas sin permisos ejecutables, también cuando son propiedad de un usuario que no sea root. Sin embargo, esto no siempre parece ser el caso.Para realmente hacer clic en el archivo y luego abrirlo, necesitará permisos ejecutables.
fuente
.desktop
archivo a~/.local/share/applications
menos que tenga el permiso de ejecución.-rw-r--r--
....Parece que no, no puedes sin modificar GNOME. Hay un informe de error de launchpad , que se confirma, pero no se actúa, sobre este problema exacto.
Cuando crea un
.desktop
archivo personalizado/usr/share/applications/
con la raíz del propietario, no requiere permiso de ejecución.fuente