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.) -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1871726 Title: "systemd --user" and child processes fail to exit when user logs out Status in systemd package in Ubuntu: New Bug description: This concerns systemd 245.2-1ubuntu2 in Ubuntu focal. I am using the Xfce desktop. After the user logs out from a desktop session, numerous desktop-related processes are left over. Here is a listing, taken over twenty minutes after logout: skunk 853 0.0 0.2 18912 10300 ? Ss 17:55 0:00 /lib/systemd/systemd --user skunk 854 0.0 0.0 103304 3496 ? S 17:55 0:00 (sd-pam) skunk 881 0.0 0.1 8076 5324 ? Ss 17:55 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only skunk 970 0.0 0.1 305364 6776 ? Ssl 17:55 0:00 /usr/libexec/at-spi-bus-launcher skunk 975 0.0 0.1 7352 4452 ? S 17:55 0:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 skunk 979 0.0 0.1 230196 5900 ? Sl 17:55 0:00 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd skunk 992 0.0 0.1 239704 7676 ? Ssl 17:55 0:00 /usr/libexec/gvfsd skunk 997 0.0 0.1 378332 6444 ? Sl 17:55 0:00 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes skunk 1133 0.0 0.1 156116 5596 ? Sl 17:56 0:00 /usr/libexec/dconf-service skunk 1139 0.0 0.1 236884 4828 ? Sl 17:56 0:00 /usr/libexec/geoclue-2.0/demos/agent skunk 1186 0.0 0.8 59324 34792 ? S 17:56 0:00 /usr/bin/python3 /usr/share/system-config-printer/applet.py skunk 1201 0.0 0.6 391676 25688 ? Ssl 17:56 0:00 /usr/libexec/evolution-source-registry skunk 1224 0.0 0.8 616644 35492 ? Sl 17:56 0:00 /usr/libexec/goa-daemon skunk 1235 0.0 0.7 708928 30512 ? Ssl 17:56 0:00 /usr/libexec/evolution-calendar-factory skunk 1243 0.0 0.2 314744 8980 ? Sl 17:56 0:00 /usr/libexec/goa-identity-service skunk 1271 0.0 0.7 681460 29344 ? Ssl 17:56 0:00 /usr/libexec/evolution-addressbook-factory skunk 1302 0.0 0.1 43968 6432 ? Ss 17:56 0:00 /usr/lib/bluetooth/obexd skunk 1322 0.0 0.2 313872 9076 ? Ssl 17:56 0:00 /usr/libexec/gvfs-udisks2-volume-monitor skunk 1327 0.0 0.1 235684 6468 ? Ssl 17:56 0:00 /usr/libexec/gvfs-mtp-volume-monitor skunk 1331 0.0 0.1 237956 6876 ? Ssl 17:56 0:00 /usr/libexec/gvfs-gphoto2-volume-monitor skunk 1335 0.0 0.1 235864 5760 ? Ssl 17:56 0:00 /usr/libexec/gvfs-goa-volume-monitor skunk 1339 0.0 0.2 316716 8800 ? Ssl 17:56 0:00 /usr/libexec/gvfs-afc-volume-monitor skunk 1347 0.0 0.1 313684 7836 ? Sl 17:56 0:00 /usr/libexec/gvfsd-trash --spawner :1.13 /org/gtk/gvfs/exec_spaw/0 skunk 1353 0.0 0.1 162128 6028 ? Ssl 17:56 0:00 /usr/libexec/gvfsd-metadata When a user logs out of the system, all processes associated with the login session should be terminated (barring the use of nohup(1) or the like). If I sent a SIGINT to the "systemd --user" process above (PID 853), then all the processes promptly go away. This needs to occur on logout. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1871726/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp