XDG_RUNTIME_DIRdiperlukan untuk systemctl --userbekerja.
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 -iatau bahkan su - $user, lingkungan tidak XDG_RUNTIME_DIRdiatur, mencegah systemctl --userdari bekerja. Namun, ketika saya sshlangsung masuk ke pengguna itu, sudah diatur dengan benar.
Jika saya memahami dokumentasi dengan benar, ini harus ditetapkan libpam-systemdsaat membuat sesi pengguna. Iris pengguna dimulai dengan benar, karena direktori yang XDG_RUNTIME_DIRharus diarahkan ( /run/users/$uid) ada. Saya ragu-ragu untuk hanya memasukkannya ke dalam harddisk, katakanlah, .bash_profilekarena itu kelihatannya hacky (walaupun berfungsi), ketika pam harus mengurusnya.
Aku bisa, tentu saja, tambahkan XDG_RUNTIME_DIRke env_keepdalam 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 suatau sudo -i?
XDG_RUNTIME_DIRuntuksudosesi dengan desain? Kurasa aku mengaturnya~/.profiletidak se-hack yang kupikirkan.