systemd user session integration

Auke Kok auke at
Sat Jun 30 20:08:32 CEST 2012

On 06/30/2012 04:12 AM, Jannis Pohlmann wrote:
> Hi Auke,
> On Fri, 29 Jun 2012 22:39:32 -0700
> Auke Kok<auke at>  wrote:
>> What I'd like to see/create:
>> - a comprehensive non-xfce4 session based way of starting most xfce4
>> components through separate systemd unit files without xfce4-session
>> starting them for us.
> In this scenario, how can we preserve the concept of user-configurable
> sessions?
> Obviously, our implementation of the autostart spec would still work
> because it is independent of systemd. However, disabling/enabling core
> components in the session would probably require users to
> disable/enable units. Wouldn't that have a global (not just per-user)
> effect or does systemd allow users to override the globally installed
> unit files in $HOME?

systemd cascades down in priority through the following directories for
unit files:


(there's a few things in there as well like /usr/local, but you get the 

> Also, still assuming that enabling/disabling units would be
> necessary, how complicated would it be to control access to methods like
> DisableUnitFiles() through D-Bus policies?

trivial - either through dbus directly or invoking `systemctl`

>> - socket activation for services that are socket-based (?)
> I don't think we have any socket-based services in Xfce.
>> - dbus activation for services that are dbus based (xfconfd)
> Most of our services should already install a .service file for D-Bus
> activation.

correct, and from what I've seen it works. What needs to be done is very 
little here: just provide a unit file with BusName=... set so that 
systemd knows how to handle the daemon.

>> - sd-notify() usage for each of the daemons to signal when they are
>> "ready-for-service"
>> - xfce4-session can stay but should not start things like Thunar
>> --daemon, xfdesktop etc. under a systemd --user session
> Yes, I guess this would be an almost trivial change; simply get rid of
> the code that starts the Xfce core components or the components
> saved as part of the last session.
> xfce4-session would still be required for the save-yourself shutdown
> sequence plus autostarting of user-configurable apps/commands.

ack - I'm definitely not arguing against that :)

>> - logind integration in systemd.
> I've not looked into logind yet really, can you explain your thoughts
> on this in a bit more detail?

tbh, this is a bit of a grey zone for me as well, since we're talking 
graphical login manager style stuff.

it might help us do logout/shutdown better in the long run, and that's 
very interesting - no more sudo helper.

>> Anyone interested in working with me in figuring out the bits needed
>> to improve this part?
> Interested yes, but not sure I can or want to commit to anything at the
> moment. Also, I will be on vacation the next two weeks and am generally
> pretty busy. Anyone else?
> Cheers,
> Jannis

thanks for the reply!


More information about the Xfce4-dev mailing list