Estou usando tmux
para gerenciar minhas janelas, etc, e uma das coisas que faço é SSH para um servidor remoto e conectar-me a uma sessão tmux em execução lá. Uma vez lá, no entanto, não consigo enviar o Cb para aquela sessão do tmux (aquela que está sendo executada em ssh no meu tmux local original).
Existe uma maneira de contornar isso?
Responder1
Pressione Ctrl- buma vez para o local tmux
e novamente para o remoto, depois a tecla do comando que deseja usar na sessão remota.
Responder2
Se você não mapeou Ctrl+ b Ctrl+b
Se você não mapeou Ctrl+ b Ctrl+ bpara last-window para emular o comportamento da tela (que é bastante popular), então você pode usar isso como seu prefixo para a sessão interna do tmux. Então, para emitir comandos para a sessão interna você usaria Ctrl+ b Ctrl+b Comando
A resposta acima pressupõe que sua chave de prefixo ainda seja Ctrl+ bnas duas máquinas.
Se você mapeou Ctrl+ b Ctrl+b
Se você mapeou Ctrl+ b Ctrl+ b, precisará usar o :send-prefix
comando do tmux. Muitas pessoas mapeiam isso para Ctrl+ b bpara emular o comportamento padrão da tela. Você adicionaria isto ao seu .tmux.conf para adicionar esta ligação permanentemente:
bind b send-prefix
Então você pode emitir comandos para a sessão interna usando Ctrl+b b Comando
(ou sem a ligação usando Ctrl+b :send-prefix
Comando)
A resposta acima pressupõe que sua chave de prefixo ainda esteja Ctrl+ bna sessão externa.
Responder3
Resumindo, você pode adicionar a seguinte linha ao seu tmux.conf para controlar "tmux dentro do tmux". Esta linha define sua chave de ligação CTRL+A
para a sessão "remota".
bind-key -n C-a send-prefix
O atalho C-a
pode ser alterado por qualquer outra tecla livre.
Então você pode usar CTRL+B
para controlar sua sessão tmux nível 1 (padrão) e
CTRL+A
para controlar a segunda sessão tmux.