Sincronizza le icone tra .desktop e dock
Ho creato una voce .desktop personalizzata nella mia home directory l' ~/.local/share/applications/startMyApp.desktopho creata in modo che usasse un xterm invece di gnome-terminal. Voglio che abbia un aspetto diverso nel dock dai miei terminali gnome che uso in modo interattivo.
Gli startMyApp.desktopassomiglia:
[Desktop Entry]
Type=Application
Name=MyScript
Terminal=false
Exec=xterm -e myScript.sh
Icon=myIcon.png
 
    Ho creato un file icona in ~/.icons/myIcon.png
L'icona viene visualizzata correttamente nel browser di file predefinito. Quando viene aperto da un browser di file, esegue lo script in un xterm come previsto, tuttavia, l'icona nel dock appare come un'altra icona generica di xterm. Da dove viene quell'icona? È incorporato nel binario?
Come posso cambiarlo? Voglio che l'icona nel dock appaia uguale a quella specificata nel .desktopfile. Le applicazioni in bundle con Ubuntu hanno la stessa icona nel dock quando vengono avviate (a parte i punti rossi che indicano quante finestre sono aperte).
Risposte
È necessario aggiungere una StartupWMClassvoce corretta al .desktopfile. A tale scopo, seguire i passaggi seguenti.
- Avvia l'applicazione in questione.
 - Avvia una finestra di Terminale separata ed esegui 
xprop WM_CLASS. - Posizionare il cursore sulla finestra dell'applicazione aperta in questione. Il cursore dovrebbe trasformarsi in un mirino a questo punto. Clic. Dovresti ottenere una 
WM_CLASSstringa per l'applicazione nella finestra Terminale. Nel
.desktopfile aggiungi la seguente rigaStartupWMClass=OBTAINED-VALUEAl posto di
OBTAINED-VALUEinserire un valore ottenuto dal passaggio 3 senza virgolette.
Aggiornamento dall'OP:
inoltre sembra che avessi bisogno di fornire un nome per l'istanza xterm. La riga exec ora appare come
xterm -name myApp -e myScript.sh