¿Cómo puedo evitar que tmux salga con Ctrl-d?

¿Cómo puedo evitar que tmux salga con Ctrl-d?

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 tmuxsesión, la sesión finaliza y el tmuxcliente sale.

Para evitar Ctrldsalir del shell, puede configurar la IGNOREEOFvariable del shell o configurar la ignoreeofopción del shell. Coloque uno de los siguientes en su .bashrcarchivo:

IGNOREEOF=10   # Shell only exists after the 10th consecutive Ctrl-d

set -o ignoreeof  # Same as setting IGNOREEOF=10

Respuesta2

IGNOREEOFno funcionó para mí, así que me limité a Ctrl+ en .tmux.conf:Ddetach

bind-key -n C-d detach

Esto -nsignifica 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 eofcon undef:stty

stty eof undef

Restablecer con:

stty eof '^d'

información relacionada