Post by Tinu Weber Post by Bjoern Franke Post by Ralph Corderoy
Are you truly logged in as this second user for whom it does not work,
or just su(1)'d, etc?
Erm, just used "sudo -u user2 -s" to login as user2. I assumed spawning
an own zsh as user2 would do the right thing.
-s only spawns a regular shell as the user; to get a login shell, it's
That being said, from what I've experienced, sudo on its own (be it with
-s or -i) is not sufficient to control user sessions (I don't know dbus
sudo machinectl --uid user2 shell .host
That's also an option, but it's interactive.
If you want to interact with another user's user service (and its dbus
service), you'll have to set the environment variable
DBUS_SESSION_BUS_ADDRESS accordingly (as it might not be in your scope),
or have it available in your current scope.
This boils down to something like:
sudo -u <user> -i
systemctl --user <dostuffwithsystemctl>"
I'm sure something similar can be achieved with systemd-run, but I have
When looking at `/usr/lib/systemd/user/dbus.socket`, you'll see that it
gets added to the environment there.
systemctl --user cat dbus.socket