svenstaro Asked: 2019-07-20 11:06:52 +0800 CST2019-07-20 11:06:52 +0800 CST 2019-07-20 11:06:52 +0800 CST 如何以 root 身份重新启动另一个用户的用户服务? 772 所以我有这种情况:user-a正在运行 systemd 用户服务user-a-service。我是 root,我想重新启动该用户服务。我找不到办法这样做。基本上我想要这个: systemctl --user user-a restart user-a-service 请注意,这不是使用特定非根用户运行的正常系统服务,而是实际的用户服务。 linux systemd 1 个回答 Voted Best Answer user1686 2019-07-20T11:10:09+08:002019-07-20T11:10:09+08:00 唯一的方法是以systemctl该用户身份运行——并使用适当的环境变量以允许它找到 D-Bus 用户总线或私有 systemd 套接字: sudo -u user-a XDG_RUNTIME_DIR="/run/user/$(id -u user-a)" systemctl --user restart user-a-service 使用较新的 systemd (v248),您可以--machine通过指定特殊主机名来使用环回连接.host;它将通过自动调用 PAM(login) 来处理环境设置: systemctl --machine [email protected] --user restart user-a-service
唯一的方法是以
systemctl
该用户身份运行——并使用适当的环境变量以允许它找到 D-Bus 用户总线或私有 systemd 套接字:使用较新的 systemd (v248),您可以
--machine
通过指定特殊主机名来使用环回连接.host
;它将通过自动调用 PAM(login) 来处理环境设置: