You are not logged in.

#1 2015-03-03 12:10:42

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,814
Website

[Solved] Can't send a dbus signal to kde session via systemd unit

I'm trying to create a systemd unit that would save kde session when started

I've found the command for saving the session and it works from konsole inside kde

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.saveCurrentSession

But it doesn't work when launched from systemd unit.

Here's my systemd unit

[Unit]
Description=kde save session

[Service]
Type=oneshot
ExecStart=/usr/bin/qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.saveCurrentSession
User=ugjka
Group=users

[Install]

journal:

mar 03 15:01:13 ChakraPC sudo[3452]: ugjka : TTY=pts/1 ; PWD=/usr/lib/systemd/system ; USER=root ; COMMAND=/usr/bin/systemctl start kde-save-session.service
mar 03 15:01:13 ChakraPC sudo[3452]: pam_unix(sudo:session): session opened for user root by ugjka(uid=0)
mar 03 15:01:13 ChakraPC systemd[1]: Cannot add dependency job for unit tmp.mount, ignoring: Unit tmp.mount is masked.
mar 03 15:01:13 ChakraPC qdbus[3455]: Could not connect to D-Bus server: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLA
mar 03 15:01:13 ChakraPC systemd[1]: kde-save-session.service: main process exited, code=exited, status=1/FAILURE
mar 03 15:01:13 ChakraPC systemd[1]: Failed to start kde save session.
-- Subject: Unit kde-save-session.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit kde-save-session.service has failed.
-- 
-- The result is failed.
mar 03 15:01:13 ChakraPC systemd[1]: Unit kde-save-session.service entered failed state.
mar 03 15:01:13 ChakraPC systemd[1]: kde-save-session.service failed.

What could possibly be wrong?

Last edited by ugjka (2015-03-03 14:05:27)


https://ugjka.net
paru > yay | webcord > discord
pacman -S spotify-launcher
mount /dev/disk/by-...

Offline

#2 2015-03-03 14:05:11

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,814
Website

Re: [Solved] Can't send a dbus signal to kde session via systemd unit

Ok after some diggin I found I needed to set some environment variables.

Adding these to an EnvironmentFile= solved it for me

DISPLAY=:0
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus

this is how everything looks now

#/usr/lib/systemd/system/kde-save-session.service
[Unit]
Description=kde save session

[Service]
Type=oneshot
EnvironmentFile=/etc/savesession
ExecStart=/bin/kdesession
User=ugjka
Group=users

[Install]
#/etc/savesession
DISPLAY=:0
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
#/bin/kdesession
#!/bin/sh

/usr/bin/qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.saveCurrentSession

Marking this as solved!


https://ugjka.net
paru > yay | webcord > discord
pacman -S spotify-launcher
mount /dev/disk/by-...

Offline

Board footer

Powered by FluxBB