Could you try this using lightdm? It's possible that this may be a display-manager issue. I did notice that in a different (customized) configuration of Xubuntu, the user processes still remained after logout, but then killing the "systemd --user" process resulted in the login session ending. Anyway, here is the output you requested, in the original test environment: # LC_ALL=C loginctl user-status skunk | cat skunk (1000) Since: Fri 2020-04-10 18:40:19 EDT; 3min 11s ago State: closing Sessions: *c2 Linger: no Unit: user-1000.slice |-session-c2.scope | |-1288 /usr/libexec/geoclue-2.0/demos/agent | `-1345 /usr/bin/python3 /usr/share/system-config-printer/applet.py `-user@1000.service |-at-spi-dbus-bus.service | |-1131 /usr/libexec/at-spi-bus-launcher | `-1136 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 |-dbus.service | |-1042 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only | |-1140 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd | |-1291 /usr/lib/x86_64-linux-gnu/tumbler-1/tumblerd | |-1302 /usr/libexec/dconf-service | |-1391 /usr/libexec/goa-daemon | `-1404 /usr/libexec/goa-identity-service |-evolution-addressbook-factory.service | `-1438 /usr/libexec/evolution-addressbook-factory |-evolution-calendar-factory.service | `-1396 /usr/libexec/evolution-calendar-factory |-evolution-source-registry.service | `-1374 /usr/libexec/evolution-source-registry |-gvfs-afc-volume-monitor.service | `-1501 /usr/libexec/gvfs-afc-volume-monitor |-gvfs-daemon.service | |-1153 /usr/libexec/gvfsd | |-1158 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes | `-1509 /usr/libexec/gvfsd-trash --spawner :1.13 /org/gtk/gvfs/exec_spaw/0 |-gvfs-goa-volume-monitor.service | `-1497 /usr/libexec/gvfs-goa-volume-monitor |-gvfs-gphoto2-volume-monitor.service | `-1493 /usr/libexec/gvfs-gphoto2-volume-monitor |-gvfs-metadata.service | `-1515 /usr/libexec/gvfsd-metadata |-gvfs-mtp-volume-monitor.service | `-1489 /usr/libexec/gvfs-mtp-volume-monitor |-gvfs-udisks2-volume-monitor.service | `-1484 /usr/libexec/gvfs-udisks2-volume-monitor |-init.scope | |-1017 /lib/systemd/systemd --user | `-1018 (sd-pam) `-obex.service `-1464 /usr/lib/bluetooth/obexd Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopped Indicator Application Service. Apr 10 18:41:21 test-ubuntu64 systemd[1017]: indicator-keyboard.service: Succeeded. Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopped Indicator Keyboard Backend. Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopping Indicator Session Service... Apr 10 18:41:21 test-ubuntu64 systemd[1017]: indicator-session.service: Succeeded. Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopped Indicator Session Service. Apr 10 18:41:22 test-ubuntu64 indicator-sound[1250]: g_object_ref: assertion 'old_val > 0' failed Apr 10 18:41:22 test-ubuntu64 systemd[1017]: pulseaudio.service: Succeeded. Apr 10 18:41:22 test-ubuntu64 systemd[1017]: indicator-sound.service: Succeeded. Apr 10 18:41:22 test-ubuntu64 systemd[1017]: Stopped Indicator Sound Service. ---------------- If I kill the "systemd --user" process, the output slims down to this: # LC_ALL=C loginctl user-status skunk | cat skunk (1000) Since: Fri 2020-04-10 18:40:19 EDT; 5min ago State: closing Sessions: *c2 Linger: no Unit: user-1000.slice `-session-c2.scope `-1288 /usr/libexec/geoclue-2.0/demos/agent Apr 10 18:45:14 test-ubuntu64 systemd[1017]: pk-debconf-helper.socket: Succeeded. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Closed debconf communication socket. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: pulseaudio.socket: Succeeded. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Closed Sound System. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: snapd.session-agent.socket: Succeeded. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Closed REST API socket for snapd user session agent. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Reached target Shutdown. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: systemd-exit.service: Succeeded. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Finished Exit the Session. Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Reached target Exit the Session. ---------------- I have reported the issue with geoclue-2.0 as LP#1871728. If I SIGHUP that process, then the user session finally goes away. (My customized environment does not have geoclue-2.0 installed, so that might explain the difference.)