<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi,<br><br></div>More questions about the systemd user service.<br><br></div>Inside a script running as root, I want to control another user's service.<br><br></div>I have found two ways to do this:<br><br>    systemd-run -t --setenv=XDG_RUNTIME_DIR=/run/user/<uid> --uid=<uid> systemctl --user ...<br><br></div>or:<br><br></div>    su -l <username> -c "XDG_RUNTIME_DIR=/run/user/<uid> systemctl --user ..."<br><br></div>Both work.<br><br></div>If there a better way to do this?<br><br></div>My distros aren't recent enough to include "machinectl shell" but is that the recommended way now?<br><br></div>    machinectl --uid=<uid> shell /bin/systemctl --user ...<br><br></div>Perhaps there is not enough demand to justify it, but I would love if the systemctl command itself had a way to specify that it should communicate with a different user's service rather than system service or the calling user's service. Something like:<br><br></div>    systemctl --uid=<uid> --user ..<br><br></div>would be awesome.<br><br></div>Jeff<br><div><div><div><div><div><div><br><br></div></div></div></div></div></div></div>