Hel*_*oer 2 linux shell users systemd
我为系统上的另一个用户启动了一个 shell。但是该用户没有 systemd 用户实例:
helloer@host $ sudo -u testusr bash
testusr@host $ systemctl --user status
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)
Run Code Online (Sandbox Code Playgroud)
如何为 testusr 启动 dbus 或 systemd 用户实例?
我正在运行 Arch Linux、linux 5.11.8.arch1-1、dbus 1.12.20-1、systemd 247.4-2。
如果您想为另一个用户执行 systemd 操作,最简单的方法是以该用户身份登录,例如使用ssh user@localhost,但这里是让用户切片运行当前 shell 的最小设置替代方案:
otheruser=testusr
id=$(id -u $otheruser)
sudo systemctl start user@$id
sudo -u $otheruser \
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$id/bus \
systemd-run --user --scope --shell
Run Code Online (Sandbox Code Playgroud)