XDG_RUNTIME_DIR
是systemctl --user
工作所必需的。
我已经设置了ubuntu服务器16.04来运行systemd用户会话。现在,当尝试管理它们时,我发现当通过sudo -u $user -i
甚至更改用户时su - $user
,环境尚未XDG_RUNTIME_DIR
设置,无法systemctl --user
正常工作。但是,当我ssh
直接进入该用户时,它的设置正确。
如果我正确理解了文档,则应libpam-systemd
在创建用户会话时进行设置。用户切片已正确启动,因为XDG_RUNTIME_DIR
应该/run/users/$uid
存在指向point()的目录。我很犹豫只是将其硬编码进去,.bash_profile
因为当pam应该照顾它时,这似乎很麻烦(尽管可行)。
我可以,当然,加XDG_RUNTIME_DIR
至env_keep
在sudoers
,但这只是保持sudoing用户的环境,这是不是我想要的。我想要目标用户的环境。
我真正想知道的是,如何使用正确设置会话ssh
,但不能使用su
or 正确设置会话sudo -i
?
XDG_RUNTIME_DIR
为sudo
通过设计会议?我想那时我将其设置~/.profile
为不像我想的那样难用。