Я создал средство запуска приложения в /usr/share/applications
это запускает rdesktop. Файл указывает имя значка, и я добавил значки к:
/usr/share/icons/HighContrast/48x48/apps
/usr/share/icons/HighContrast/22x22/apps
/usr/share/icons/HighContrast/256x256/apps
/usr/share/icons/HighContrast/32x32/apps
/usr/share/icons/HighContrast/scalable/apps-extra
/usr/share/icons/HighContrast/24x24/apps
/usr/share/icons/HighContrast/16x16/apps
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/128x128/apps
/usr/share/icons/hicolor/16x16/apps
Я затем притупляю средство запуска к панели задач, и средство запуска с корректным логотипом видимо в панели задач. Однако, когда я запускаю задачу, новый значок создается в панели задач, квадрате с вопросительным знаком в центре.
В каких значках я нуждаюсь и где, так, чтобы панель задач отобразила корректный значок для приложения, когда это запускается?
.desktop содержание файла:
[Desktop Entry] Version=1.0 Terminal=false Icon=mswindows Type=Application Categories=Network; Exec=rdesktop win7shared1 -g 1680x1000 Name=win7shared1 GenericName=rdesktop Comment=Open windows desktop Keywords=Windows StartupNotify=false
То, что по всей вероятности решит Вашу проблему, должно сделать следующее:
Когда это будет работать, откройте терминал и тип:
xprop WM_CLASS
Затем нажмите на окно открытого приложения.
Вывод будет похож (пример gedit
):
WM_CLASS(STRING) = "gedit", "Gedit"
Используйте первую часть (в этом случае был бы gedit
), для создания строки в Вашем .desktop
файл:
StartupWMClass=<string>
(замена <string>
с фактическим (первая часть) вывод xprop WM_CLASS
, например. StartupWMClass=gedit
)
Теперь попробуйте еще раз (Вам, возможно, придется выйти из системы / в), скорее всего, приложение появится в средстве запуска под его собственным значком.
.desktop
файл), но другой значок появляется только с универсальным значком (вопросительный знак), наиболее вероятно, что окно приложения и средство запуска не соединяются по некоторым причинам, и средство запуска не распознает окно приложения как "его". Это часто имеет место, когда сценарий или не - стандартное приложение (-команда) используется. В тех случаях StartupWMClass=
строка часто является решением. для меня xprop|grep WM_CLASS
дал WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "jetbrains-pycharm-ce"
(у меня была эта проблема с pycharm для Python)
, Это было sun-awt-X11-XFramePeer
, что мне было нужно как строка в моем .desktop файле (без кавычек) - Спасибо!
После помещения значков в правильное место необходимо просто перезапустить xserver (выход из системы и войти в систему назад).
Также попытка обновить кэш значка (просто вставляют код ниже в терминал):
for d in ~/.icons/*; do gtk-update-icon-cache -f $d; done
for d in /usr/share/icons/*; do sudo gtk-update-icon-cache -f $d; done