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не так хитро, як я думав.