Re: Xorg or Wayland Environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 19 Sep 2021, at 14:48, Ed Greshko <ed.greshko@xxxxxxxxxxx> wrote:


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?

Use ExecCondition to do the test I think.

https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecCondition=

Barry


Am So., 19. Sept. 2021 um 11:53 Uhr schrieb Mantas Mikulėnas
<grawity@xxxxxxxxx>:
On Sun, Sep 19, 2021 at 4:05 AM Ed Greshko <ed.greshko@xxxxxxxxxxx> 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


[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux