Вопрос или проблема
У меня возникли проблемы с установкой Skype, который неправильно обрабатывает значки в DASH. На текущий момент (24.04) он всегда показывает иконку шестеренки для исполняемого файла skype, даже если его правильная иконка уже доступна в DASH. В версии 22.04 все работало корректно. Значит, что-то изменилось?
Я использую Wayland.
Skype
– это snap
.
Я использовал приложение App Centre
в качестве справки для сравнения с десктопными файлами skype
. Первое, что я заметил, это то, что StartupWMClass=Skype
не появляется в десктопном файле App Centre
, в то время как в предложении skype
оно есть.
Я также заметил, что xprop
не работает для ‘App Centre’, но работает для skype
. (Но работает, если я вхожу через Xorg). Я уверен, что это что-то значит. (Это значит, что десктопные приложения не работают только для X?) Кстати, xprop
показывает wm-class
skype
как Skype
.
Используя встроенный отладчик gnome
lg
(запускается через ALT
F2
lg
-> выбрать окна), он показывает Skype как untracked
, что, я думаю, является проявлением ошибки?
Также, используя встроенный отладчик gnome
, он показывает (выберите строку выше wm-class
и прочитайте верхнюю строку) App Centre
как приложение wayland
, а skype
как приложение xwayland
. Это предполагает, что только приложения xwayland
работают некорректно.
Я попытался заменить строку Exec
из skype
на App Centre
(закомментировав оригинал), и он начал давать сбои. Добавление StartupWMClass=Skype
ничем не помогло. Мне кажется, что этот последний момент вообще больше не работает.
Так есть ли теперь другой способ регистрации приложений wm-class?
Ответ или решение
С учетом вашего вопроса о изменениях в работе wm-class для файлов приложения Skype с версией 24.04 и после 22.04, давайте разберемся в этом вопросе более подробно.
Изменения в WM-Class
Судя по вашему описанию, основная проблема заключается в том, что после обновления до версии 24.04 и использования Wayland, иконка Skype в DASH всегда отображается как шестеренка, несмотря на наличие корректной иконки. Это может указывать на то, что изменился способ определения окна приложения для управления с помощью wm-class.
WM-Class и его работа в Wayland
Ключевым моментом является то, что StartupWMClass
используется для связывания файла .desktop с конкретным исполняемым процессом на уровне управления окнами. В X11 такой подход работал стабильно, но Wayland имеет другие механизмы для работы с окнами и не всегда поддерживает те же API, что и X11. Это может привести к различиям в обработке .desktop
файлов и отображении иконок.
Отличия между приложениями
Вы заметили, что Skype
обозначается как xwayland
приложение, тогда как App Centre
— это стандартное wayland
приложение. Этот аспект может быть важным при диагностике проблемы, так как xwayland
предоставляет совместимость с приложениями, созданными для X11, но они могут столкнуться с изменениями в управлении окнами в контексте новый возможностей Wayland.
Использование инструментов
Вы упомянули о том, что команда xprop
не работает для App Centre
, но работает для Skype
, что может указывать на различия в их способе управления окнами. Это подчеркивает, что App Centre
может не поддерживать стандартные функции, доступные для xwayland
приложений.
Использование встроенного отладчика GNOME также показало расклад WM-классов. Если Skype отображается как "не отслеживаемый", это может указывать на проблемы с правильным связыванием функции StartupWMClass
.
Возможные решения
-
Проверка конфигурации .desktop файла: Вернитесь к содержимому
.desktop
файла Skype и убедитесь, что правильно указаны все необходимые поля, особенноStartupWMClass
. Попробуйте заменитьSkype
наskype
, если такое возможно, и протестируйте. -
Обновление и публикации: Убедитесь, что у вас установлены последние версии пакетного менеджера и самого Skype. В некоторых случаях обновления могут исправить проблемы, касающиеся совместимости с Wayland.
-
Использование Xorg: Если вы сталкиваетесь с постоянной проблемой в Wayland, подумайте о переключении на сеанс Xorg, по крайней мере, для решения данной проблемы. Это временное решение, но оно позволит вам обойти проблемы совместимости.
Заключение
Возможно, изменения в поведении wm-class в версии 24.04 связаны с переходом на Wayland, и дедукция, основанная на ваших наблюдениях, выглядит вполне обоснованной. Другое взаимодействие с оконной системой в Wayland может влиять на то, как приложения обрабатываются, особенно когда дело касается Xwayland приложений. Рекомендуется следить за обновлениями как Skype, так и самой среды рабочего стола GNOME, чтобы узнать о решениях подобных проблем.