Así es como se puede configurar tmux para que se inicie con gnome-terminal :
- Iniciar gnome-terminal
- Menú> Editar> Preferencias de perfil> Título y comando (pestaña)
- Marque Ejecutar un comando personalizado en lugar de mi shell
- Rellenar comando personalizado con tmux
Estas instrucciones me funcionan en Ubuntu 11.04. El equivalente debería funcionar para gnome-terminal para cualquier versión de Linux.
Lanzando cualquier cosa desde .zshenv
es definitivamente el enfoque equivocado. Este archivo es ejecutado por cada instancia de zsh
, incluso cuando se ejecuta un script. Usa .zshrc
para cosas que deben hacerse en shells interactivos, y .profile
(o .zprofile
, si configuró zsh como su shell de inicio de sesión) para las cosas que debe hacer cuando inicia sesión.
Si desea tmux en cada terminal, inicie tmux directamente debajo de la terminal, por ejemplo, gnome-terminal -e tmux
(cambie su iniciador de GUI para pasar estos argumentos). Puede pasar argumentos incluso con -e
(aunque tenga cuidado con las citas), p. gnome-termminal -e 'tmux -s ~/.alternate.tmux.conf'
.
Si también desea iniciar tmux cuando inicia sesión a través de ssh, deberá iniciarlo desde su ~/.profile
. Haga esto solo si el proceso principal del shell de inicio de sesión es sshd
:
parent_process_name=$(ps -o comm= -p $PPID`)
case ${parent_process_name##*/} in
sshd) type tmux >/dev/null 2>/dev/null && exec tmux;;
esac
Otro enfoque para iniciar tmux sobre ssh sería obtener un nombre de sesión del entorno. De esa manera, podría adjuntarlo a una sesión existente. La forma más sencilla es escribir un pequeño script en el lado del servidor, p. ~/bin/tmux-login-session
:
#!/bin/sh
if tmux has-session -t "$1"; then
exec tmux attach-session -t "$1"
else
. ~/.profile
exec tmux new-session -s "$1"
fi
Luego use un comando ssh como el siguiente:
ssh -t hostname.example.com bin/tmux-login-session SESSION_NAME
Ejecute los siguientes comandos en la terminal para obtener tmux para ejecutar cada vez que inicie gnome-terminal :
gconftool --type string --set /apps/gnome-terminal/profiles/Default/custom_command "tmux"
gconftool --type bool --set /apps/gnome-terminal/profiles/Default/use_custom_command "true"
Este conjunto de comandos hace que gnome-terminal inicie tmux al inicio de la terminal.
- Esto dará como resultado que gnome-terminal se cierre cuando salga de tmux.
- No interferirá con ssh ni iniciará sesión de ninguna manera, ya que es una configuración de terminal de gnome.
- Además, puede usar todos los accesos directos de gnome-terminal que haya anclado en el escritorio e iniciarlo desde la línea de comandos con tmux ejecutándose, por lo que no necesitará crear un acceso directo personalizado para este comportamiento.