XDG_RUNTIME_DIRè necessario per systemctl --userfunzionare.
Ho installato Ubuntu Server 16.04 per eseguire sessioni utente di systemd. Ora, quando provo ad amministrarli, scopro che quando si cambia un utente via sudo -u $user -io anche su - $user, l'ambiente non si è XDG_RUNTIME_DIRimpostato, impedendo il systemctl --userfunzionamento. Tuttavia, quando mi rivolgo sshdirettamente a quell'utente, è impostato correttamente.
Se capisco correttamente la documentazione, questo dovrebbe essere impostato libpam-systemddurante la creazione della sessione utente. La sezione utente viene avviata correttamente, poiché esiste la directory in cui XDG_RUNTIME_DIRdovrebbe puntare ( /run/users/$uid). Sono titubante nel codificarlo, diciamo, .bash_profileperché sembra confuso (anche se funziona), quando il pam dovrebbe occuparsene.
Naturalmente, posso aggiungere XDG_RUNTIME_DIRad env_keepin sudoers, ma ciò preserverebbe semplicemente l'ambiente dell'utente sudoing, che non è quello che voglio. Voglio l' ambiente dell'utente di destinazione .
Quello che mi chiedo davvero, però, è come mai la sessione è impostata correttamente ssh, ma non con suo sudo -i?
XDG_RUNTIME_DIRper lesudosessioni in base alla progettazione? Immagino che allora impostarlo non~/.profilesia così confuso come pensavo.