Synchronizuj ikony między .desktop a dockiem
Utworzyłem niestandardowy wpis .desktop w moim katalogu domowym. ~/.local/share/applications/startMyApp.desktopUtworzyłem go tak, aby używał xterm zamiast gnome-terminal. Chcę, aby w doku wyglądał inaczej niż moje terminale gnomów, których używam interaktywnie.
Do startMyApp.desktopwygląda następująco:
[Desktop Entry]
Type=Application
Name=MyScript
Terminal=false
Exec=xterm -e myScript.sh
Icon=myIcon.png
 
    Utworzyłem plik ikony w ~/.icons/myIcon.png
Ikona jest wyświetlana poprawnie w domyślnej przeglądarce plików. Po otwarciu z przeglądarki plików wykonuje skrypt w xterm zgodnie z oczekiwaniami, jednak ikona w doku pojawia się jako inna ogólna ikona xterm. Skąd pochodzi ta ikona? Czy jest osadzony w pliku binarnym?
Jak mogę to zmienić? Chcę, aby ikona w doku wyglądała tak samo jak ikona określona w .desktoppliku. Aplikacje dołączone do Ubuntu mają tę samą ikonę w doku po uruchomieniu (oprócz czerwonych kropek wskazujących, ile okien jest otwartych).
Odpowiedzi
Musisz dodać odpowiedni StartupWMClasswpis do swojego .desktoppliku. Aby to zrobić, wykonaj poniższe czynności.
- Uruchom odpowiednią aplikację.
 - Uruchom osobne okno terminala i uruchom 
xprop WM_CLASS. - Umieść kursor na otwartym oknie aplikacji. Kursor powinien teraz zmienić się w celownik. Kliknij. W 
WM_CLASSoknie Terminala powinieneś otrzymać ciąg znaków dla aplikacji. W
.desktoppliku dodaj następujący wierszStartupWMClass=OBTAINED-VALUEZamiast
OBTAINED-VALUEcudzysłowu wpisz wartość otrzymaną z kroku 3.
Aktualizacja z PO:
wydaje się również, że potrzebowałem podać nazwę instancji xterm. Teraz wygląda linia exec
xterm -name myApp -e myScript.sh