Bug 42893 - Не запускается yakuake из меню приложений
Summary: Не запускается yakuake из меню приложений
Status: RESOLVED LATER
Alias: None
Product: Sisyphus
Classification: Development
Component: plasma5-workspace (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-30 21:40 MSK by Alexander Makeenkov
Modified: 2024-01-24 09:33 MSK (History)
10 users (show)

See Also:


Attachments
скриншот ошибки запуска (18.26 KB, image/png)
2022-05-30 21:40 MSK, Alexander Makeenkov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Makeenkov 2022-05-30 21:40:34 MSK
Created attachment 10824 [details]
скриншот ошибки запуска

Версия пакета:
yakuake-22.04.1-alt1

Система:
ALT Workstation K 10 (Сизиф)

При попытке запуска из меню приложений возникает ошибка:
Invalid object path: /kf5-org/kde/yakuake

Из терминала запускается успешно.
Comment 1 Evgeny Sinelnikov 2023-05-07 20:37:27 MSK
Проблема аналогично воспроизводится на starter-kit'е:

мая 07 20:43:01 base.darkmastersin.net plasmashell[4997]: kf.kio.gui: Starting process: ("/usr/bin/konsole", "-qwindowtitle", "Yakuake", "-qwindowicon", "yakuake", "--noclose", "-e", "/usr/bin/yakuake")
мая 07 20:43:01 base.darkmastersin.net plasmashell[4997]: QDBusConnection: error: could not send message to service "kf5-org.kde.yakuake" path "/kf5-org/kde/yakuake" interface "org.freedesktop.Application" member "Activate": Invalid object path: /kf5-org/kde/yakuake

В целом, это не проблема yakuake (скорее всего не в нём дело), это проблема неполноты и неустойчивости plasmashell или каких-то модулей.

$ rpm -q yakuake 
yakuake-23.04.0-alt1.x86_64

$ rpm -qf /usr/lib/kf5/bin/plasmashell
plasma5-workspace-5.27.4-alt2.x86_64

Ещё один момент - это интерфейс org.freedesktop.Application, который уже давно встроен в KDE:

- https://invent.kde.org/frameworks/kwallet/-/merge_requests/11
- https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#kde-items

И ещё один момент - это совместимость с нового yakuake и konsole. Исходники нового yakuake взяты здесь:
- https://download.kde.org/stable/release-service/23.04.0/src/yakuake-23.04.0.tar.xz

А вот версия konsole из этого набора с ним не согласована:
- https://download.kde.org/stable/release-service/23.04.0/src/konsole-23.04.0.tar.xz

Поскольку в сизифе пока ещё более старая:

$ rpm -q kde5-konsole
kde5-konsole-22.12.3-alt2.x86_64
Comment 2 Sergey V Turchin 2023-08-07 11:11:24 MSK
Это проблема Plasma. Они чинили такой запуск, но недочинили. Возможно, починили костыльно и это всплывает у нас, т.к. у нас "всё не как у всех". Я как-то смотрел, но разобраться не получилось.
Comment 3 ruslandh 2023-10-20 15:03:00 MSK
Уточню. Из меню запускается. Не запускается не из меню, и из поля запуска приложения, которое есть в меню, оно-же вызывается по ALT+F2
Comment 4 Alexander Makeenkov 2023-10-20 15:08:19 MSK
(Ответ для ruslandh на комментарий #3)
> Уточню. Из меню запускается. Не запускается не из меню, и из поля запуска
> приложения, которое есть в меню, оно-же вызывается по ALT+F2

И правда. Запускается только если вручную найти в меню. Из поиска по меню не запускается.
Comment 5 ruslandh 2023-10-20 15:10:54 MSK
rpm -qa | grep -e  yakuake -e kde5-d
yakuake-22.08.0-alt1.x86_64
kde5-dolphin-23.04.3-alt4.x86_64
...
это p10
Comment 6 ruslandh 2023-10-20 16:38:35 MSK
plasma5-workspace-5.27.8-alt1.x86_64
Comment 7 Evgeny Sinelnikov 2024-01-24 00:18:41 MSK
На текущий момент ошибка выглядит так:
"The name kf5-org.kde.yakuake was not provided by any .service files"

Более раннее копание в коде уже давало основание полагать, что проблема в том, что чего-то не хватает для запуска приложения другим (не банальным fork&exec методом). Этот метод называется "Dbus Activation":
- https://dbus.freedesktop.org/doc/system-activation.txt
- https://freedesktop.org./wiki/IntroductionToDBus/#activation

Создаётся впечатление, что-то оказалось недоупаковно или упаковано неправильно:
- https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s08.html

Довольно давно была и спорная, хотя и конструктивная, критика этого механизма. В данном же случае, критика не вполне уместная. Речь шла об управлении ресурсами для сервисов, по аналогии с systemd. Тогда ещё upstart был актуален.

В общем, нужно почитать спецификации и разобраться с тем, что происходит не так.

По сути, если кратко. Механизм Dbus Activation, которым активно пользуются в меню KDE для yakuake, не находит нужного сервиса на сессионной шине и не может запустить в итоге приложение.
Comment 8 Evgeny Sinelnikov 2024-01-24 00:19:32 MSK
(Ответ для Evgeny Sinelnikov на комментарий #7)
> Довольно давно была и спорная, хотя и конструктивная, критика этого
> механизма. В данном же случае, критика не вполне уместная. Речь шла об
> управлении ресурсами для сервисов, по аналогии с systemd. Тогда ещё upstart
> был актуален.

- https://jdebp.uk/Softwares/nosh/avoid-dbus-bus-activation.html
Comment 9 Sergey V Turchin 2024-01-24 09:33:05 MSK
Просто _все_ забили на спецификацию freedesktop, поэтому шаг в сторону -- расстрел.

D 11-й версии будет запускаться.