XDG_RUNTIME_DIREs necesario para systemctl --usertrabajar.
He configurado el servidor ubuntu 16.04 para ejecutar sesiones de usuario systemd. Ahora, cuando trato de administrarlos, encuentro que al cambiar a un usuario a través de sudo -u $user -io incluso su - $user, el entorno no se ha XDG_RUNTIME_DIRconfigurado, evitando que systemctl --userfuncione. Sin embargo, cuando entro sshdirectamente en ese usuario, está configurado correctamente.
Si entiendo la documentación correctamente, esto debería establecerse libpam-systemdal crear la sesión del usuario. El segmento de usuario se inicia correctamente, ya que existe el directorio al que XDG_RUNTIME_DIRdebe apuntar ( /run/users/$uid). Dudo en codificarlo, por ejemplo, .bash_profileporque eso parece hacky (aunque funciona), cuando pam debería encargarse de eso.
Puedo, por supuesto, añadir XDG_RUNTIME_DIRa env_keepen sudoers, pero eso sería simplemente preservar el entorno del usuario sudoing, que no es lo que quiero. Quiero el entorno del usuario objetivo .
Sin embargo, lo que realmente me pregunto es cómo se configura correctamente la sesión ssh, pero no con suo sudo -i.

XDG_RUNTIME_DIRparasudolas sesiones de diseño? Supongo que instalarlo no~/.profilees tan hacky como pensaba.https://github.com/systemd/systemd/issues/7451#issuecomment-346787237
fuente