El síntoma era «no hay agente atendiendo» y después «arranqué shuma-daemon y en 10 s no atendió ningún socket», con un daemon de sergio VIVO al lado. La causa: esta caja no tiene logind, así que nadie crea /run/user/<uid> ni exporta XDG_RUNTIME_DIR, y entonces cada programa elige su propio repliegue y dejan de encontrarse — el tui buscaba en `$XDG_RUNTIME_DIR/shuma.sock`, o sea en la nada, mientras el daemon abría `/tmp/shuma-<uid>.sock`. Dos repliegues distintos para el mismo acuerdo. Ahora /etc/profile.d exporta XDG_RUNTIME_DIR y la card de arranque crea /run/user/<uid> para cada cuenta con home. Comprobado en una sesión de login de verdad: XDG=/run/user/1001, el tui levanta su agente ahí y lista los conjuntos guardados (shuma 4 puestos, telefono-864, los diag…), que estaban en disco y no se perdieron al reiniciarlo. Entra también la card del volumen de trabajo —esta caja no tiene fstab y el init no monta discos nuevos— y quedan versionados /etc/profile y los dos profile.d, que hasta ayer no los leía nadie porque /etc/profile no existía. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
10 lines
558 B
Bash
10 lines
558 B
Bash
# Esta caja no tiene logind, así que nadie crea /run/user/<uid> ni exporta XDG_RUNTIME_DIR. Sin eso,
|
|
# cada programa elige su propio repliegue y dejan de encontrarse: `shuma-tui` buscaba en
|
|
# `$XDG_RUNTIME_DIR/shuma.sock` (o sea, en la nada) mientras `shuma-daemon` abría
|
|
# `/tmp/shuma-<uid>.sock`. Medido en la caja el 2026-09-18.
|
|
if [ -z "${XDG_RUNTIME_DIR:-}" ]; then
|
|
XDG_RUNTIME_DIR=/run/user/$(id -u)
|
|
[ -d "$XDG_RUNTIME_DIR" ] || { mkdir -p "$XDG_RUNTIME_DIR" 2>/dev/null && chmod 700 "$XDG_RUNTIME_DIR" 2>/dev/null; }
|
|
export XDG_RUNTIME_DIR
|
|
fi
|