Пропавшие без вести значка, когда приложение запущено

Я создал средство запуска приложения в /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
12
задан 9 December 2014 в 07:20

3 ответа

То, что по всей вероятности решит Вашу проблему, должно сделать следующее:

  1. Откройте приложение
  2. Когда это будет работать, откройте терминал и тип:

    xprop WM_CLASS
    
  3. Затем нажмите на окно открытого приложения.

  4. Вывод будет похож (пример gedit):

    WM_CLASS(STRING) = "gedit", "Gedit"
    
  5. Используйте первую часть (в этом случае был бы gedit), для создания строки в Вашем .desktop файл:

    StartupWMClass=<string>
    

    (замена <string> с фактическим (первая часть) вывод xprop WM_CLASS, например. StartupWMClass=gedit)

Теперь попробуйте еще раз (Вам, возможно, придется выйти из системы / в), скорее всего, приложение появится в средстве запуска под его собственным значком.

Объяснение

  • Когда приложение запускает правильно от средства запуска (.desktop файл), но другой значок появляется только с универсальным значком (вопросительный знак), наиболее вероятно, что окно приложения и средство запуска не соединяются по некоторым причинам, и средство запуска не распознает окно приложения как "его". Это часто имеет место, когда сценарий или не - стандартное приложение (-команда) используется. В тех случаях StartupWMClass= строка часто является решением.
14
ответ дан 23 November 2019 в 03:38

для меня xprop|grep WM_CLASS дал WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "jetbrains-pycharm-ce" (у меня была эта проблема с pycharm для Python)

, Это было sun-awt-X11-XFramePeer, что мне было нужно как строка в моем .desktop файле (без кавычек) - Спасибо!

2
ответ дан 23 November 2019 в 03:38

После помещения значков в правильное место необходимо просто перезапустить 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
0
ответ дан 23 November 2019 в 03:38

Другие вопросы по тегам:

Похожие вопросы: