Come posso aggiungere un'applicazione al gestore di finestre GNOME?


50

La documentazione di bordo di GNOME copre solo le cose che chiunque può facilmente indovinare. Ho una domanda per questo posso solo iniziare dalla riga di comando. Non che mi dispiaccia usare un terminale ma ...

Comunque, come posso aggiungere il comando (e preferibilmente un bel logo) a GNOME WM?


Se fai clic con il pulsante destro del mouse, visualizzi la voce "Modifica menu"?
slm

no, nessun menu di scelta rapida.
mart

Risposte:


88

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

L'ho fatto, posso vedere l'icona sotto le applicazioni, ma quando faccio clic sull'app non si avvia, il cursore si trasforma in un simbolo di caricamento solo per alcuni secondi. Nessun messaggio di errore
mart

@mart Puoi dirci per quale applicazione stai cercando di aggiungere un launcher?
Thomas Nyman,

1
FTL - un gioco indie che ho comprato da qualche parte sul web. A partire dalla console funziona.
mart

1
@mart <path>/.FTLpunta a un file nascosto chiamato .FTL, che non è lo stesso di ./FTL, che punta a un file chiamato FTLnella directory corrente. Puoi provare ad avviarlo FTLtramite /full/path/path/to/FTLun terminale per vedere se ottieni un errore significativo. Ad esempio, se l'eseguibile cerca le librerie nella directory di lavoro corrente, potrebbe essere necessario eseguire uno script di avvio che fa qualcosa lungo le linee pushd <path>; ./FTL; popde puntare invece lo Execspecificatore nel file desktop allo script di avvio.
Thomas Nyman,

1
correzione: funziona dall'interno della directory
mart

12

Ottima risposta di Thomas Nyman.

Gnome viene fornito con lo strumento gui che gnome-desktop-item-editaiuta a creare file * .desktop. Dobbiamo usarlo dalla riga di comando o creare un file desktop per esso.

Istruzioni per la creazione dell'applicazione Gnome gnome-desktop-item-edit

  1. Apri le finestre del terminale e digita il seguente comando:

    gnome-desktop-item-edit --create-new / home / [il tuo nome utente] /. local / share / applicazioni

  2. Nella finestra aperta compilare quanto segue: inserisci qui la descrizione dell'immagine

    Name: Gnome Applicaiton

    Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications

    Fare clic sull'icona per selezionare un'altra icona.

  3. Fai clic su OK per chiudere le finestre

  4. Chiudi la finestra del terminale

Test di nuova generazione Gnome Application

  1. Dash aperto
  2. Digitare Application
  3. Dovresti vedere l' Gnome Applicationinserimento prima
  4. Selezionalo
  5. Crea un'altra applicazione

Funziona davvero bene, grazie. Esiste un modo per modificare il menu in cui appare la nuova applicazione? Il mio è apparso in Applicazioni-> Altro
SteveP il

-1

Le precedenti risposte di Thomas Nyman e Dudi Boy sono molto buone e dettagliate. Sto pubblicando questo perché non ho trovato una risposta ai miei dubbi in nessun altro post e ho dovuto cercare in problemi git.

Dopo aver seguito i passaggi suggeriti da Thomas Nyman, sono stato in grado di far apparire l'icona del mio programma nel menu App. Il problema qui è che uso Dash to Dock come barra laterale e non sono riuscito a bloccare l'icona come preferita come altre icone. Dopo la ricerca ho scoperto che è necessario aggiungere la riga StartupWMClass=ApplicationNamenel .desktopfile. Successivamente, l'opzione da aggiungere ai preferiti verrà visualizzata facendo clic con il pulsante destro del mouse sull'icona in Dash to Dock.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.