Crear sesión tmux en shells separados

Crear sesión tmux en shells separados

Me gustaría usar sesiones tmux para administrar ventanas/paneles en diferentes shells. Lo que he notado es que tmux siempre usará el shell desde el que se inició por primera vez para todas las sesiones posteriores, independientemente del shell utilizado para ellas.

Tengo dos conchas. Llamémoslos a y b

En el primer shell ejecuto:

tmux new -s a

En el segundo shell ejecuto:

tmux new -s b

Lo que termino notando es que el shell real utilizado por la sesión b de tmux es el shell a. Las variables de entorno se heredan correctamente, pero el shell en sí no es el que esperaba.

¿Alguna sugerencia sobre cómo hacer que tmux funcione bien con múltiples shells?

Respuesta1

Puede crear varios servidores tmux y cada uno de ellos utilice un shell diferente.

$> SHELL=$(which zsh) && tmux -L zsh-tmux-socket new -s zsh-session
$> SHELL=$(which bash) && tmux -L bash-tmux-socket new -s bash-session

Elpágina de manual de tmuxindica que la [-L socket-name]opción permite especificar un nombre de socket diferente,permitiendo que se ejecuten varios servidores tmux independientes.

Descubrí que cada nueva ventana creada en cada sesión del servidor utilizará el shell especificado por la variable de entorno SHELL para esa sesión.

Esto funciona para tmux 1.8, no conozco versiones anteriores.

información relacionada