XDG_RUNTIME_DIR
diperlukan untuk systemctl --user
bekerja.
Saya telah menyiapkan server ubuntu 16.04 untuk menjalankan sesi pengguna systemd. Sekarang, ketika mencoba untuk mengelola mereka, saya menemukan bahwa ketika mengubah pengguna melalui sudo -u $user -i
atau bahkan su - $user
, lingkungan tidak XDG_RUNTIME_DIR
diatur, mencegah systemctl --user
dari bekerja. Namun, ketika saya ssh
langsung masuk ke pengguna itu, sudah diatur dengan benar.
Jika saya memahami dokumentasi dengan benar, ini harus ditetapkan libpam-systemd
saat membuat sesi pengguna. Iris pengguna dimulai dengan benar, karena direktori yang XDG_RUNTIME_DIR
harus diarahkan ( /run/users/$uid
) ada. Saya ragu-ragu untuk hanya memasukkannya ke dalam harddisk, katakanlah, .bash_profile
karena itu kelihatannya hacky (walaupun berfungsi), ketika pam harus mengurusnya.
Aku bisa, tentu saja, tambahkan XDG_RUNTIME_DIR
ke env_keep
dalam sudoers
, tapi itu hanya akan melestarikan lingkungan sudoing pengguna, yang tidak apa yang saya inginkan. Saya ingin lingkungan pengguna target .
Apa yang saya benar-benar bertanya-tanya adalah bagaimana sesi diatur dengan benar ssh
, tetapi tidak dengan su
atau sudo -i
?
XDG_RUNTIME_DIR
untuksudo
sesi dengan desain? Kurasa aku mengaturnya~/.profile
tidak se-hack yang kupikirkan.https://github.com/systemd/systemd/issues/7451#issuecomment-346787237
sumber