XDG_RUNTIME_DIR
необхідно для systemctl --user
роботи.
Я створив сервер ubuntu 16.04 для запуску системних сеансів користувачів. Тепер, намагаючись їх адмініструвати, я виявляю, що при зміні користувача через sudo -u $user -i
або навіть su - $user
середовище не XDG_RUNTIME_DIR
встановлено, що заважає systemctl --user
працювати. Однак, коли я ssh
прямо впадаю в цього користувача, він встановлений правильно.
Якщо я правильно розумію документацію, це слід встановити під libpam-systemd
час створення сеансу користувача. Користувацький фрагмент запускається правильно, оскільки існує каталог, на який XDG_RUNTIME_DIR
повинен вказувати ( /run/users/$uid
). Я вагаюся, щоб просто жорстко вписати його, скажімо, .bash_profile
тому, що це здається нерозумним (хоч і працює), коли пам слід про це піклуватися.
Я можу, звичайно, додати XDG_RUNTIME_DIR
до env_keep
в sudoers
, але це було б просто зберегти навколишнє середовище користувача sudoing, яка є не те , що я хочу. Я хочу оточення цільового користувача.
Мені, правда, цікаво, як це правильно встановити сеанс ssh
, а не з su
або sudo -i
?
XDG_RUNTIME_DIR
дляsudo
сесій дизайн? Я здогадуюсь, тоді мені його встановити~/.profile
не так хитро, як я думав.