Bug 482969 - kglobalaccel does not provide a DBus service file, causing kwin to be unable to start it
Summary: kglobalaccel does not provide a DBus service file, causing kwin to be unable ...
Status: RESOLVED INTENTIONAL
Alias: None
Product: frameworks-kglobalaccel
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 6.0.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-09 11:44 UTC by Daniel Kamil Kozar
Modified: 2024-03-09 14:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Kamil Kozar 2024-03-09 11:44:28 UTC
Since the Plasma 6 upgrade in Arch Linux, KWin has been unable to start kglobalaccel on my LXQt-based system, which leads to global shortcuts like Alt-Tab or Alt-F4 not working.

I traced this to a DBus service file missing from the installation. The error message from KWin is :
kwin_x11[783]: Couldn't start kglobalaccel from org.kde.kglobalaccel.service: QDBusError("org.freedesktop.DBus.Error.ServiceUnknown", "The name is not activatable")

KWin also starts the KScreen backend launcher which does provide a DBus file in its installation - see https://invent.kde.org/plasma/libkscreen/-/blob/master/src/backendlauncher/CMakeLists.txt . This file is picked up by Arch packaging and installed into /usr/share/dbus-1/services/ , which makes the service "activatable" and thus KWin is able to run it.

Manually creating /usr/share/dbus-1/services/org.kde.kglobalaccel.service with the following content :
[D-BUS Service]
Name=org.kde.kglobalaccel
Exec=/usr/lib/kglobalacceld
SystemdService=plasma-kglobalaccel.service

Makes the issue go away.
Comment 1 Nicolas Fella 2024-03-09 14:25:00 UTC
This is intentional. In the past there were problems where kglobalaccel would start even if not desired because of DBus activation.

If you want to use it on LXQt you need to manually make sure it's started, e.g. by adding it to autostart