La documentación a bordo de GNOME cubre solo las cosas que cualquiera puede adivinar fácilmente. Tengo una aplicación para la que solo puedo comenzar desde la línea de comandos. No es que me importe usar un terminal pero ...
De todos modos, ¿cómo agrego el comando (y preferiblemente un buen logotipo) a GNOME WM?
Respuestas:
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 usuarioEs 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:
Explicación
[Desktop Entry]
elDesktop Entry
encabezado del grupo identifica el archivo como una entrada de escritorioType
el tipo de entrada, los valores válidos sonApplication
,Link
yDirectory
Encoding
la codificación de caracteres del archivo de escritorioName
el nombre de la aplicación visible en menús o lanzadoresComment
Una descripción de la aplicación utilizada en la información sobre herramientasIcon
el icono que se muestra para la aplicación en menús o lanzadoresExec
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 sontrue
ofalse
Categories
;
lista separada por punto y coma ( ) de categorías de menú en la que se debe mostrar la entradaLos 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:Establezca el bit ejecutable para el script:
Luego, apunte la
Exec
clave en la entrada del escritorio al script de inicio:fuente
<path>/.FTL
apuntaría a un archivo oculto llamado.FTL
, que no es lo mismo que./FTL
, que apunta a un archivo llamadoFTL
en el directorio actual. Puede intentar iniciar aFTL
través/full/path/path/to/FTL
de una terminal para ver si obtiene algún resultado de error significativo. Por ejemplo, si el ejecutable busca bibliotecas en el directorio de trabajo actual, es posible que tenga que hacer una secuencia de comandos de inicio que haga algo similarpushd <path>; ./FTL; popd
y apunte elExec
especificador en el archivo de escritorio a la secuencia de comandos de inicio.Muy buena respuesta de Thomas Nyman.
Gnome viene con una herramienta GUI que
gnome-desktop-item-edit
ayuda a crear archivos * .desktop. Necesitamos usarlo desde la línea de comandos o crear un archivo de escritorio para ello.Instrucciones para hacer la aplicación Gnome desde
gnome-desktop-item-edit
Abra la ventana de terminal y escriba el siguiente comando:
gnome-desktop-item-edit --create-new / home / [su nombre de usuario] /. local / share / aplicaciones
En la ventana abierta, complete lo siguiente:
Name: Gnome Applicaiton
Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications
Haga clic en el icono para seleccionar un icono diferente.
Haga clic en Aceptar para cerrar las ventanas.
Cerrar la ventana de terminal
Prueba recién generada
Gnome Application
Gnome Application
ingresado antesfuente
Las respuestas anteriores de Thomas Nyman y Dudi Boy son muy buenas y detalladas. Estoy publicando esto porque no encontré una respuesta para mi duda en ninguna otra publicación y tuve que buscar en problemas de git.
Después de seguir los pasos como Thomas Nyman sugirió que pude hacer que el ícono de mi programa apareciera en el menú de la aplicación. El problema aquí es que uso Dash to Dock como barra lateral y no pude fijar el ícono como favorito como otros íconos. Después de buscar, descubrí que necesita agregar la línea
StartupWMClass=ApplicationName
en el.desktop
archivo. Después de eso, la opción de agregar a favoritos aparecerá haciendo clic derecho en el icono en Dash to Dock.fuente