Para comenzar tmux
en cada inicio de sesión de shell, se agregó lo siguiente a ~/.bashrc
(en el servidor):
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
También quiero cambiar el título de la ventana a algo así user@server
(en lugar de user@localhost
) cuando ssh en un host. Aquí está mi ~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
set -g set-titles on
set -g set-titles-string "#T"
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Como puede ver, set-titles
se configuró en on
, pero no funciona como se esperaba.
Más información:
Fuera de tmux:
$ echo $TERM
xterm
Dentro de tmux:
$ echo $TERM
screen
show -g
: https://clbin.com/h7oDh
tmux info
: http://sprunge.us/XHCB
Y aquí están los registros cuando se ejecuta tmux -vvvvv
un poco:
- tmux-client-8441.log: https://clbin.com/eFwFF
- tmux-out-8443.log: https://clbin.com/MSKZv
- tmux-server-8443.log: https://clbin.com/JXwRN
Si comento las líneas en ~/.bashrc
, desde mi computadora portátil, ssh al servidor, la barra de título se muestra correctamente ( quanta@server
), luego comenzar tmux
desde allí también funciona como se esperaba.
Pero si quiero comenzar tmux
inmediatamente después de iniciar sesión, la barra de título permanece quanta@Ubuntu
después de ssh.
ACTUALIZACIÓN Vie 10 de mayo 07:51:23 ICT 2013
He eliminado el exit
comando para no cerrar la sesión de shell cuando tmux
se cierra la última ventana:
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
Lo extraño es:
- ssh al servidor -> la barra de título:
quanta@Ubuntu
- separarse de
tmux
-> la barra de título cambie aquanta@server
- adjuntar de
tmux
nuevo -> la barra de título todavía se muestra correctamentequanta@server
No estoy seguro de si está relacionado con la PROMPT_COMMAND
variable de entorno o no:
Fuera de tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
Dentro de tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
.Respuestas:
¡Problema resuelto!
Para habilitar el desplazamiento nativo del mouse xterm
tmux
, muchos sitios de wiki , preguntas y respuestas , publicaciones de blog sugieren agregar una línea como:a
~/.tmux.conf
. Y es el culpable.Para permitir títulos xterm en la ventana de terminal, también debe agregar el
XT
indicador, algo como esto:Fuente: http://opennomad.com/content/goodbye-screen-hello-tmux
fuente
rxvt
, la configuración esset -ga terminal-overrides ",rxvt*:XT"
-a
opciónset
para agregar las anulaciones smcup / rmcup. Esto solucionará otros problemas extraños, como no poder establecer la forma del cursor correctamente.Encontré este hilo de la lista de correo tmux-users. El hilo se tituló: los títulos de conjunto no funcionan . Hay un par de cosas de este hilo para probar. Aquí también hay una versión más limpia del hilo .
Recursos XTerm
Para empezar, la solución final fue agregar la siguiente línea a su archivo de recursos XTerm
~/.Xresources
:Depuración de consejos de tmux
También hubo algunos consejos de depuración en este hilo que también pueden ayudarlo.
tmux detallado
tmux -vvvvv
vi foo
Después de hacerlo, debe tener 3 archivos, algo así:
tmux info
fuente
XTerm*allowSendEvents: true
no funcionó Los archivos de registro han sido cargados. Ver mi pregunta actualizada.