Tener carga tmux por defecto cuando se inicia un terminal zsh


23

Mi flujo de trabajo actual es:

  1. CTRL+ SHIFT+ Tpara iniciar una nueva ventana de terminal. Eso inicia un nuevo terminal zsh.
  2. Escriba tmuxpara iniciar tmux.

¿Cómo puedo tener tmux load por defecto con una nueva ventana de terminal?

Respuestas:


36

Hay al menos dos formas:

  1. Escribe algo como

    if [ "$TMUX" = "" ]; then tmux; fi

    a principios de ~/.zshrc. Tenga en cuenta la prueba condicional a un posible bucle cuando tmuxgenera su propio zsh.

  2. Modificar el comando de lanzamiento de terminal a algo como

    xterm -e tmux

Prefiero la segunda forma, porque a veces necesito iniciar un terminal sin tmux(por ejemplo, cuando necesito volver a conectarme a una sesión existente).


2
O tener diferentes atajos para xterm -e tmuxy simple xterm.
Nikolai N Fetissov

Sí, en realidad lo dije en "Prefiero la segunda forma" =)
prisa

1
Ejecutar tmuxal final de .zshrccausará un ciclo infinito de zsh que comienza tmux que comienza zsh que comienza tmux ...
Thor

¿Cómo se trataría de "modificar el comando de lanzamiento de terminal"?
eoinoc

@eoinoc depende de tu entorno. Por ejemplo, estoy usando wm impresionante, por lo tanto, solo necesito modificar la cadena en mi archivo de configuración. En kde necesitas editar teclas de acceso rápido. Y así.
precipitarse

6

Sin echo tmux >> ~/.zshrcembargo, tenga cuidado con la solución, recuerdo que simplemente arrojar bashun .cshrcarchivo en un archivo me causó problemas con SSH.

IIRC el problema se produjo con shells no interactivos, por lo que debe probarlo.

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

Te falta un espacio entre "y ].
n.st

5

agréguelo a su .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

entonces tmux se conectará automáticamente a una sesión llamada TMUX cuando inicie su terminal.


1

En realidad, hay un complemento predeterminado tmuxpara oh_my_zsh.

Agréguelo a su lista de complementos y luego configúrelo ZSH_TMUX_AUTOSTART=trueen su.zshrc

Para más referencia, vaya aquí.


0

Agregue "tmux" a su archivo .zshrc, que se ejecuta cada vez que inicia zsh. La forma rápida:

echo tmux >> ~/.zshrc

Lo que ocurre con esto es que comienza una nueva sesión en cada nueva instancia e hincha tmux con sesiones que nunca has salido (también tmux se quejará). No es una buena solución.
Eksapsy

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.