Utilizo tmux en mi servidor y recientemente descubrí que Ctrl-d saldrá de tmux y perderá toda la información de la sesión. Mi intención era simplemente finalizar la sesión ssh pero no me di cuenta de que todavía estaba en tmux hasta que fue demasiado tarde.
Soy consciente de que debo tener cuidado en el futuro al usar Ctrl-D, pero me preguntaba si hay alguna manera de evitar que tmux salga al presionar Ctrl-D por accidente. Una solución como un aviso, una confirmación o una separación estaría bien.
Respuesta1
Para ser precisos, Ctrldno exits tmux
, sino más bien un shell. Si ese shell se ejecuta en el único panel de la última ventana de la tmux
sesión, la sesión finaliza y el tmux
cliente sale.
Para evitar Ctrldsalir del shell, puede configurar la IGNOREEOF
variable del shell o configurar la ignoreeof
opción del shell. Coloque uno de los siguientes en su .bashrc
archivo:
IGNOREEOF=10 # Shell only exists after the 10th consecutive Ctrl-d
set -o ignoreeof # Same as setting IGNOREEOF=10
Respuesta2
IGNOREEOF
no funcionó para mí, así que me limité a Ctrl+ en .tmux.conf:Ddetach
bind-key -n C-d detach
Esto -n
significa que no se necesita una secuencia de escape previa, como el prefijo tmux.
Respuesta3
Ademáschepnerrespuesta , puede evitar que el terminal envíe EOF por completo configurando eof
con undef
:stty
stty eof undef
Restablecer con:
stty eof '^d'