On 19/09/2021 21:39, Michael Biebl wrote:
A useful command in this context is
systemctl --user show-environment
OK, that was helpful. But leads to another question.
How to run the service only if KDE_FULL_SESSION=true?
Am So., 19. Sept. 2021 um 11:53 Uhr schrieb Mantas Mikulėnas
<graw...@gmail.com>:
On Sun, Sep 19, 2021 at 4:05 AM Ed Greshko<ed.gres...@greshko.com> wrote:
Not a everyday systemd service writer....
I've written a user service file to start an app on login. It works well for
Xorg with Environment=DISPLAY=:0.
But I've found that under Wayland the DISPLAY=:1 after a logout of Xorg and
login to a
Wayland session.
What would be the proper way to get the DISPLAY environment varible use it as
opposed
to "hard" coding it?
The proper way is to have the desktop environment upload DISPLAY (and whatever
else is relevant, such as XAUTHORITY or WAYLAND_DISPLAY or XDG_SESSION_TYPE)
into systemd --user, so that it would be automatically available to your
service without doing anything special.
For example, gnome-session does this for GNOME (it calls systemd's
UnsetAndSetEnvironment in gsm-util.c), and
/etc/X11/xinit/xinitrc.d/50-systemd-user.sh handles the bare minimum for other
Xorg-based desktops (when startx is used).
If KDE integrates with systemd --user in any way (i.e. if it actually has a
"plasma-core.target" that you mention), I'd really expect it to do the same
before it tries to start its own targets, otherwise they would be kind of useless.
--
Mantas Mikulėnas