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' .desktopestensione (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 Entryintestazione del gruppo identifica il file come voce del desktop
Type il tipo di voce, i valori validi sono Application, LinkeDirectory
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 trueofalse
Categories punto e virgola ( ;) elenco separato delle categorie di menu in cui deve essere visualizzata la voce
Gli argomenti della riga di comando nella Execchiave 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 %fper individuare un file.
%D più directory. Utilizzato insieme %Fper 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 $HOMEnon sono espanse all'interno dei file desktop, quindi tutti gli eseguibili a cui si fa riferimento devono trovarsi nel $PATHo 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 Execchiave nella voce del desktop allo script di avvio:
Exec=/home/user/bin/launch-application