XDG_RUNTIME_DIR
Es necesario para systemctl --user
trabajar.
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 -i
o incluso su - $user
, el entorno no se ha XDG_RUNTIME_DIR
configurado, evitando que systemctl --user
funcione. Sin embargo, cuando entro ssh
directamente en ese usuario, está configurado correctamente.
Si entiendo la documentación correctamente, esto debería establecerse libpam-systemd
al crear la sesión del usuario. El segmento de usuario se inicia correctamente, ya que existe el directorio al que XDG_RUNTIME_DIR
debe apuntar ( /run/users/$uid
). Dudo en codificarlo, por ejemplo, .bash_profile
porque eso parece hacky (aunque funciona), cuando pam debería encargarse de eso.
Puedo, por supuesto, añadir XDG_RUNTIME_DIR
a env_keep
en 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 su
o sudo -i
.
XDG_RUNTIME_DIR
parasudo
las sesiones de diseño? Supongo que instalarlo no~/.profile
es tan hacky como pensaba.https://github.com/systemd/systemd/issues/7451#issuecomment-346787237
fuente