ssh “tmux a || tmux ”funciona a veces?

Sep 29 2020

Este comando funciona siempre (con sh o bash):

ssh -t HOST sh -c "tmux a 2>/dev/null || tmux"

Estos fallan aproximadamente la mitad del tiempo:

ssh -t HOST -- "tmux a 2>/dev/null || tmux"
ssh -t HOST "tmux a 2>/dev/null || tmux"

con un error de tmux, ya sea server exited unexpectedlyo lost server. (Al probar, no había una sesión tmux abierta, por lo que siempre ejecutaba ambos comandos).

¿Por qué fallan y solo fallan a veces, pero no siempre?

Respuestas

laktak Sep 30 2020 at 03:42

Creo que encontré la respuesta:

attach-session [-dErx] [-c working-directory] [-t target-session]
              (alias: attach)
        If no server is started, attach-session will attempt to start it; this will 
        fail unless sessions are created in the configuration file.
  • tmux a no solo intenta conectar, sino que también inicia un servidor tmux (que falla y comienza a cerrarse).
  • el tmuxcomando intenta crear una nueva sesión. A veces, el proceso del servidor tmux asigue ahí, por lo que habla con ese servidor.
  • finalmente, el proceso del servidor sale y tmuxfalla con el server exited unexpectedlymensaje.