Gerenciamento de Sessões
Criar e Listar Sessões
screen # new unnamed session screen -S work # new session named "work" screen -ls # list all sessions screen -list # same as -ls
Comandos de Sessão
screen -S nameIniciar nova sessão nomeada
screen -r nameReconectar à sessão desanexada
screen -x nameConectar à sessão já conectada (compartilhar)
screen -d nameDesanexar sessão remota
screen -d -r nameDesanexar de outro lugar, reconectar aqui
screen -D -RRForçar desanexação e reconexão (agressivo)
screen -lsListar todas as sessões com PIDs
screen -wipeLimpar sessões mortas
Janelas
Noções Básicas de Janelas
Ctrl-a cCriar nova janela
Ctrl-a nPróxima janela
Ctrl-a pJanela anterior
Ctrl-a 0-9Alternar para janela por número
Ctrl-a "Listar todas as janelas (interativo)
Ctrl-a 'Alternar para janela por nome/número
Ctrl-a ARenomear janela atual
Ctrl-a kFechar janela atual
Gerenciamento de Janelas
Ctrl-a wMostrar lista de janelas na barra de status
Ctrl-a Ctrl-aAlternar entre as duas últimas janelas
Ctrl-a NMostrar número e nome da janela
exit / Ctrl-dFechar janela (sair do shell)
Divisões e Regiões
Comandos de Divisão
Ctrl-a SDividir horizontalmente (cima/baixo)
Ctrl-a |Dividir verticalmente (esquerda/direita)
Ctrl-a TabMover foco para a próxima região
Ctrl-a XFechar região atual
Ctrl-a QFechar todas as regiões exceto a atual
Fluxo de Trabalho com Regiões
Ctrl-a S # split horizontal Ctrl-a Tab # move to new region Ctrl-a c # create window in region Ctrl-a :resize 20 # set region to 20 lines
Modo de Cópia
Rolagem e Cópia
Ctrl-a [Entrar no modo de cópia/rolagem
SpaceIniciar/finalizar seleção (no modo de cópia)
EnterCopiar seleção e sair do modo de cópia
Ctrl-a ]Colar texto copiado
h/j/k/lMover cursor (teclas vi no modo de cópia)
Ctrl-u / Ctrl-dRolar meia página acima/abaixo
/ or ?Buscar para frente/trás
EscSair do modo de cópia
Fluxo de Cópia
Ctrl-a [ # enter copy mode Space # mark start (navigate first) Space # mark end + copy (navigate first) Ctrl-a ] # paste into current window
Desanexar e Reconectar
Desanexar
Ctrl-a dDesanexar sessão atual
Ctrl-a D DDesanexar e sair
Ctrl-a zSuspender screen (como Ctrl-Z)
screen -d PIDDesanexar sessão remotamente por PID
Reconectar
screen -r # reattach (if only one session) screen -r work # reattach by name screen -r 12345 # reattach by PID screen -d -r work # steal session from other terminal
Fluxos de Trabalho Persistentes
# Start long-running task, detach, reconnect later screen -S build make -j4 all # start build Ctrl-a d # detach, go home screen -r build # reattach later
Compartilhamento
Modo Multi-Usuário
# Host enables multiuser Ctrl-a :multiuser on Ctrl-a :acladd alice # grant access to user alice # Alice attaches screen -x hostuser/sessionname
Controle de Acesso
:multiuser onHabilitar modo multi-usuário
:acladd userConceder acesso total ao usuário
:aclchg user -w '#'Tornar usuário somente leitura (todas as janelas)
:acldel userRemover acesso do usuário
screen -x user/sessConectar à sessão compartilhada
Configuração
Essenciais do ~/.screenrc
startup_message off # skip splash screen defscrollback 10000 # scrollback buffer lines hardstatus alwayslastline hardstatus string '%{gk}%H %{wk}%?%-Lw%?%{bw}%n*%f %t%{wk}%?%+Lw%?' shell -$SHELL # use login shell
Configurações Úteis
startup_message offSuprimir mensagem de inicialização
defscrollback NDefinir buffer de rolagem (padrão 100)
escape ^BbMudar tecla de prefixo para Ctrl-b
shelltitle '$ |bash'Definir títulos de janela automaticamente
caption always '%n %t'Sempre mostrar legenda com info da janela
autodetach onDesanexar automaticamente ao desconectar (padrão ativado)
vbell onUsar sino visual em vez de sonoro
Padrões Comuns
Configuração de Desenvolvimento
# Auto-create windows in .screenrc screen -t editor 0 vim screen -t server 1 python -m http.server screen -t shell 2 bash select 0 # start on editor window
Log e Monitoramento
Ctrl-a H # toggle logging to screenlog.N Ctrl-a M # monitor window for activity Ctrl-a _ # monitor window for silence
Referência Rápida
Ctrl-a ?Mostrar todos os atalhos de teclado
Ctrl-a :helpAjuda integrada
Ctrl-a :source fileCarregar arquivo de configuração
Ctrl-a :screen cmdExecutar comando em nova janela
Ctrl-a :quitFechar todas as janelas e sair da sessão