In GNOME e altri ambienti desktop compatibili con freedesktop.org , come KDE e Unity , le applicazioni vengono aggiunte ai menu del desktop o alla shell del desktop tramite voci del desktop , definite in file di testo con l' .desktop
estensione (denominati file desktop ). Gli ambienti desktop creano menu per un utente dalle informazioni combinate estratte dalle voci desktop disponibili.
I file desktop possono essere creati in due modi:
/usr/share/applications/
per le voci del desktop disponibili per tutti gli utenti nel sistema
~/.local/share/applications/
per le voci del desktop disponibili per un singolo utente
Potrebbe essere necessario riavviare GNOME affinché le nuove applicazioni aggiunte funzionino.
Per convenzione, i file desktop non devono includere spazi o caratteri internazionali nel loro nome.
Ogni file desktop è suddiviso in gruppi , ognuno che inizia con l'intestazione del gruppo tra parentesi quadre ( []
). Ogni sezione contiene un numero di chiavi , coppie di valori , separate da un segno di uguale ( =
).
Di seguito è riportato un esempio di file desktop:
[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
Spiegazione
[Desktop Entry]
l' Desktop Entry
intestazione del gruppo identifica il file come voce del desktop
Type
il tipo di voce, i valori validi sono Application
, Link
eDirectory
Encoding
la codifica dei caratteri del file desktop
Name
il nome dell'applicazione visibile nei menu o nei lanciatori
Comment
una descrizione dell'applicazione utilizzata nelle descrizioni comandi
Icon
l'icona visualizzata per l'applicazione nei menu o nei lanciatori
Exec
il comando utilizzato per avviare l'applicazione da una shell.
Terminal
se l'applicazione deve essere eseguita in un terminale, i valori validi sono true
ofalse
Categories
punto e virgola ( ;
) elenco separato delle categorie di menu in cui deve essere visualizzata la voce
Gli argomenti della riga di comando nella Exec
chiave possono essere indicati con le seguenti variabili:
%f
un singolo nome file.
%F
più nomi di file.
%u
un singolo URL.
%U
più URL.
%d
una singola directory. Utilizzato insieme a %f
per individuare un file.
%D
più directory. Utilizzato insieme %F
per individuare i file.
%n
un singolo nome file senza percorso.
%N
più nomi di file senza percorsi.
%k
un URI o un nome file locale della posizione del file desktop.
%v
il nome della voce del dispositivo.
Si noti che ~
o variabili ambientali come $HOME
non sono espanse all'interno dei file desktop, quindi tutti gli eseguibili a cui si fa riferimento devono trovarsi nel $PATH
o referenziati tramite il loro percorso assoluto.
Una specifica completa per le voci del desktop è disponibile presso GNOME Dev Center .
Avvia script
Se l'applicazione da avviare richiede l'esecuzione di determinati passaggi prima di essere invocata, è possibile creare uno script shell che avvia l'applicazione e puntare la voce del desktop sullo script shell. Supponiamo che un'applicazione debba essere eseguita da una determinata directory di lavoro corrente. Creare uno script di avvio in una posizione adatta ( ~/bin/
ad esempio). Lo script potrebbe essere simile al seguente:
#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd
Imposta il bit eseguibile per lo script:
$ chmod +x ~/bin/launch-application
Quindi punta la Exec
chiave nella voce del desktop allo script di avvio:
Exec=/home/user/bin/launch-application