En GNOME y otros entornos de escritorio compatibles con freedesktop.org , como KDE y Unity , las aplicaciones se agregan a los menús o al shell del escritorio a través de entradas de escritorio , definidas en archivos de texto con la .desktop
extensión (referidos como archivos de escritorio ). Los entornos de escritorio crean menús para un usuario a partir de la información combinada extraída de las entradas de escritorio disponibles.
Los archivos de escritorio se pueden crear en cualquiera de dos lugares:
/usr/share/applications/
para entradas de escritorio disponibles para todos los usuarios del sistema
~/.local/share/applications/
para entradas de escritorio disponibles para un solo usuario
Es posible que deba reiniciar GNOME para que las nuevas aplicaciones agregadas funcionen.
Por convención, los archivos de escritorio no deben incluir espacios o caracteres internacionales en su nombre.
Cada archivo de escritorio se divide en grupos , cada uno comenzando con el encabezado del grupo entre corchetes ( []
). Cada sección contiene un número de pares clave , de valores , separados por un signo igual ( =
).
A continuación se muestra una muestra del archivo de escritorio:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application
Explicación
[Desktop Entry]
el Desktop Entry
encabezado del grupo identifica el archivo como una entrada de escritorio
Type
el tipo de entrada, los valores válidos son Application
, Link
yDirectory
Encoding
la codificación de caracteres del archivo de escritorio
Name
el nombre de la aplicación visible en menús o lanzadores
Comment
Una descripción de la aplicación utilizada en la información sobre herramientas
Icon
el icono que se muestra para la aplicación en menús o lanzadores
Exec
El comando que se utiliza para iniciar la aplicación desde un shell.
Terminal
si la aplicación debe ejecutarse en una terminal, los valores válidos son true
ofalse
Categories
;
lista separada por punto y coma ( ) de categorías de menú en la que se debe mostrar la entrada
Los argumentos de la línea de comando en la Exec
clave se pueden significar con las siguientes variables:
%f
un solo nombre de archivo
%F
Múltiples nombres de archivo.
%u
Una sola URL.
%U
Múltiples URLs.
%d
Un solo directorio. Se usa junto con %f
para localizar un archivo.
%D
Múltiples directorios. Se utiliza junto con %F
para localizar archivos.
%n
un solo nombre de archivo sin ruta.
%N
múltiples nombres de archivo sin rutas.
%k
un URI o nombre de archivo local de la ubicación del archivo de escritorio.
%v
El nombre de la entrada del dispositivo.
Tenga en cuenta que ~
las variables de entorno como $HOME
no se expanden dentro de los archivos de escritorio, por lo que cualquier ejecutable al que se haga referencia debe estar en el $PATH
o en su ruta absoluta.
Una especificación de entrada de escritorio completa está disponible en el Centro de desarrollo de GNOME .
Lanzar guiones
Si la aplicación que se iniciará requiere que se realicen ciertos pasos antes de ser invocada, puede crear un script de shell que inicie la aplicación y apuntar la entrada del escritorio al script de shell. Suponga que una aplicación requiere ejecutarse desde un determinado directorio de trabajo actual. Cree un script de inicio en una ubicación adecuada para ( ~/bin/
por ejemplo). La secuencia de comandos podría parecerse a la siguiente:
#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd
Establezca el bit ejecutable para el script:
$ chmod +x ~/bin/launch-application
Luego, apunte la Exec
clave en la entrada del escritorio al script de inicio:
Exec=/home/user/bin/launch-application