Como desanexar uma sessão de tela de um terminal?

105

Eu sei como iniciar um screen e como listar telas diferentes:

screen -ls

ou para anexar:

There are screens on:
        2477.pts-0.server1      (Detached)
        2522.pts-0.server1      (Detached)
2 Sockets in /var/run/screen/S-root.

$ screen -r 2477.pts-0.server1

Mas qual é a combinação de teclas para desanexar de uma sessão de tela e mantê-la em exibição?

    
por maniat1k 25.04.2012 / 00:48

4 respostas

141
Ctrl + A seguido por D . A [ screen manpage ] tem uma longa lista desses atalhos em "PADRÃO DEFAULT LIGAÇÕES ".

    
por Soren 25.04.2012 / 01:02
32

Para listar suas sessões, execute:

screen -list

Você pode executar qualquer comando em tela como:

screen myscript.sh

Em seguida, pressione Ctrl + a (release) e, em seguida, d para desanexar o processo / tela (para continuar a execução) .

Para retomar o processo desvinculado, use:

screen -r

Se você tiver vários, adicione o número da sessão depois disso.

Você também pode anexar novamente à tela Attached por screen -x . Útil para investigar por que está anexado, compartilhar o terminal com alguém ou para assistir / verificar alguém o que está fazendo.

Para mais ajuda, execute man screen ou dentro da tela pressione Ctrl + a , libere e depois pressione ? para ver mais atalhos.

Veja também:

por kenorb 28.10.2014 / 11:50
9

Você provavelmente o verá assim na página de manual da tela:

^a - d

É importante observar que o caso das letras maiúsculas e minúsculas fará diferentes funções.

    
por RWC 25.04.2012 / 02:01
3

Alguns sistemas removem certas ligações por padrão. Portanto, é melhor olhar para a página de atalhos de teclado on-line: Ctrl-a? . Você também pode usar o prompt de comando em screen : Ctrl-a: desanexar . Eu, geralmente, removo os atalhos de teclado para 'detach' e 'powerdetach', exceto em sistemas remotos.

    
por Arcege 25.04.2012 / 02:26