XDG_RUNTIME_DIRsystemctl --userçalışmak için gereklidir .
Systemd kullanıcı oturumlarını çalıştırmak için ubuntu sunucusu 16.04 ayarladım. Şimdi, onları yönetmeye çalışırken, bir kullanıcıyı sudo -u $user -iveya hatta değiştirirken su - $user, ortamın XDG_RUNTIME_DIRayarlanmadığını systemctl --userve çalışmasını önlediğini görüyorum . Ancak, sshdoğrudan bu kullanıcıya girdiğimde doğru ayarlanmış.
Belgeleri doğru libpam-systemdanlarsam, kullanıcı oturumu oluşturulurken bu ayarın yapılması gerekir . Kullanıcı dilimi, XDG_RUNTIME_DIR( /run/users/$uid) noktasının bulunması gereken dizin olarak doğru şekilde başlatılır . Sadece sabit kodlamak için tereddüt ediyorum, diyelim, .bash_profileçünkü bu pam buna dikkat etmeli (çalışsa da).
Ben, tabii, ekleyebilir XDG_RUNTIME_DIRiçin env_keepde sudoers, ama bu sadece ne istiyorum olmadığı, sudoing kullanıcının çevreyi korumak olacaktır. Hedef kullanıcının ortamını istiyorum .
Gerçekten merak ettiğim şey, oturumun nasıl doğru bir şekilde oluşturulduğudur ssh, suya da değil sudo -i?
XDG_RUNTIME_DIRiçin ayarlanmayacaksudomı? Sanırım~/.profileoraya yerleştirdiğimde düşündüğüm kadar kibirli değil.