Portanto, sou um grande fã de multiplexadores como GNU Screen e Tmux , mas mesmo usando o Screen há anos, ainda reconheço que há muitas coisas que não sei (e só uso o Tmux por alguns meses, é pior )
Quais configurações, dicas e truques você usa nesses softwares (ambos ou em cada um, não importa)?
Eu uso isso como minha configuração de tela (acho que adaptei isso do padrão do Ubuntu screenrc
):
shell -$SHELL
startup_message off
defscrollback 1000
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''
termcapinfo xterm* 'hs:ts=\\E]2;:fs=\\007:ds=\\E]2;screen\\007'
É uma configuração simples para manter a barra de status exibida com algumas cores, mas tenho certeza de que há mais coisas que posso fazer com a tela e o Tmux e gostaria muito de saber.
gnu-screen
tmux
coredump
fonte
fonte
zombie qr
mantém a janela aberta mesmo que o processo esteja inoperante e permiteq
fechá-la our
ressuscitar o processo. Útil para verificação de software.Respostas:
Isso pode ser um pouco simples para esse público, mas achei útil adicioná-lo ao final do .profile, para que, quando eu me conectar remotamente via ssh, eu leio o MOTD e depois mude para a tela.
fonte
Eu tenho isso no meu .bashrc. Se você não estiver executando a tela, essa função chama
ssh
normalmente como executada. Se você estiver executando a tela interna (e não alterou o padrão$TERM
), primeiro define o nome da janela como host remoto (juntamente com quaisquer parâmetros opcionais). É muito útil acompanhar as conexões remotas quando você tem muitas abertas, o que é frequente em nossa linha de trabalho, eu acho.Eu também uso
bind ^A windowlist -b
para facilitar o acesso à lista de janelas (basta tocar em Ctrl-A duas vezes).Suporte fácil a ssh-agent para todas as janelas:
Em qualquer janela, você adiciona o ssh-add apenas uma vez ao iniciar uma nova sessão.
Por fim, ao conectar-se a uma sessão de tela remota de dentro de outra sessão de tela, você pode usar
screen -x -e ^Vv
para definir a sequência de controle para CTRL-V (por exemplo). Isso evita que seja necessário encadear CTRL-As para controlar a sessão remota.fonte
Você pode considerar Byobu , que é essencialmente uma coleção de centenas de dicas, truques, configurações, atalhos de teclado, scripts de status, e as melhores práticas orientadas ao redor
screen
etmux
.fonte
Mesmo que comecei a usar o tmux para painéis, ainda uso a tela para multiplexar as janelas. O tmux supostamente tem essa funcionalidade, mas a troca de painéis de uma janela para outra não é intuitiva para mim, nem dois visualizadores do tmux conectados podem exibir janelas diferentes no mesmo daemon (comportamento da tela-x), portanto, a solução da tela-em-tmux. Esses são dois vínculos do tmux.conf que levaram mais tempo para descobrir e eu uso todos os dias.
O primeiro, vincular M (ctrl-b shift-M), alterna o tmux entre o seletor de painel do mouse e o realce / cópia do mouse. Você ainda pode copiar / colar no modo de seleção de painel, mas deve manter a tecla Shift (e se adquirir o hábito disso, copiar / colar em qualquer outro aplicativo o deixará um pouco infeliz, deixe-me dizer). A macro também torna visualmente óbvio qual modo está selecionado no momento.
O segundo, vincular CL (ctrl-b ctrl-l), pegará qualquer layout de 4 painéis e o transformará no meu layout preferido. Muitas vezes, descobrirei que pressionei ctrl-d em um painel que pensei que estava dentro da tela para fechá-lo, mas em vez disso não havia sessão de tela e ele fechou o painel. Como meu layout é v-split, h-split, v-split e algum redimensionamento, se eu fechar acidentalmente uma janela que não seja a última, torna-se doloroso (sem trocadilhos) fechar os painéis intermediários entre os que eu preciso recriar e o último, recrie e redimensione os painéis e, finalmente, reconecte todas as sessões de tela que eu possa ter desanexado ao matar painéis. Com essa macro, posso criar um novo painel, ctrl-b {(a ligação padrão para o painel de troca -U) até que ele retorne à ordem correta, depois pressione a macro e tudo volte ao normal. Meu layout preferido provavelmente não é o mesmo que o seu,
list-windows
comando para obter uma sequência de layout como a abaixo.Se isso é ingênuo demais para o seu gosto, sempre existe o tmuxinator para gerenciamento de painéis.
fonte