prefácio
Estes problemas de rede dias de hesitação, quando SSH remoto de login linux sempre interrompida de forma anormal, não pode continuar a apenas missão após a exploração em nos arranjos e o servidor, então [queda]. Não resolver este problema eu achei screen
.
breve introdução
Ao usar telnet ou SSH linux login remoto, se a ligação for interrompida de forma anormal, quando se reconectar, o sistema irá abrir uma nova sessão, não pode restaurar o original comando session.screen pode resolver este problema. ferramenta de tela é um multiplexer terminal, em essência, isso significa que você pode aplicar para usar uma única janela de terminal para executar múltiplos terminais.
- recuperação da sessão
Enquanto tela em si não é terminada, a sessão é executado em seu interior pode ser restaurado. Este login remoto é particularmente útil para os usuários - mesmo se a conexão de rede for interrompida, os usuários não perder o controle da sessão de linha de comando abriu a. Basta acessar novamente para executar anfitrião -r tela pode continuar a execução sessão. Da mesma forma, quando uma licença temporária, também pode executar desanexar comando separado, deixe Tela suspender (alternar para o fundo) no caso para assegurar o normal funcionamento dentro do programa. VNC neste momento e a interface gráfica é muito semelhante.
- Multi-janela
Em ambiente de tela, todas as sessões são executados de forma independente e tem o seu próprio número de série, de entrada, e cache de janela de saída. teclas de atalho pode ser comutada pelo usuário em diferentes janelas, e pode entrada e redirecionamento de saída liberdade de cada janela. Tela alcançar as operações de texto básicos, como copiar e colar, etc .; também fornece uma barra de funções de rolagem semelhante, você pode ver a janela de status da história. Partições e janelas também pode ser chamado, você também pode monitorar as atividades de janela de fundo.
- Sharing sessão
Tela permite que um ou mais usuários fazer login a partir de uma diferentes terminais várias vezes por sessão, e compartilhar todas as características da sessão (por exemplo, você pode ver exatamente a mesma saída). Ele também fornece um mecanismo para o acesso a janela, a janela pode ser protegido por senha.
Tela Site oficial do GNU: http://www.gnu.org/software/screen/
gramática
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
parâmetro Descrição
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
parâmetros da tela comum
screen -S yourname -> 新建一个叫yourname的session
screen -ls(或者screen -list) -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
Em cada sessão de tela, todos os comandos começam com ctrl + um (Ca).
C-a ? -> 显示所有键绑定信息
C-a c -> 创建一个新的运行shell的窗口并切换到该窗口
C-a n -> Next,切换到下一个 window
C-a p -> Previous,切换到前一个 window
C-a 0..9 -> 切换到第 0..9 个 window
Ctrl+a [Space] -> 由视窗0循序切换到视窗9
C-a C-a -> 在两个最近使用的 window 间切换
C-a x -> 锁住当前的 window,需用用户密码解锁
C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。
C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。
C-a w -> 显示所有窗口列表
C-a t -> Time,显示当前时间,和系统的 load
C-a k -> kill window,强行关闭当前的 window
C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样
C-b Backward,PageUp
C-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上
tela de instalação
[root@VM_183_120_centos ~]# yum install screen -y
[root@VM_183_120_centos ~]# rpm -qa|grep screen
screen-4.0.3-4.el5
Comandos comum
1. Criar uma nova sessão
O comando a seguir test
é o nome de uma nova sessão
[root@VM_183_120_centos ~]# screen -S test
2. Revisão sessão existente
[root@VM_183_120_centos ~]# screen -ls
3. sessão Reconnect (aqui nós teste reconexão)
[root@VM_183_120_centos ~]# screen -r test //可以是名字test也可以是session ID
4. sessão Exit
[root@VM_183_120_centos ~]#screen -d <session ID 或者 名字>
5. Limpar os mortos Session
Se por algum motivo uma das sessões mortos (matar por exemplo humana a sessão), em seguida, exibe o -list tela sessão como o estado morto. Utilize este comando para limpar a sessão -Wipe tela
[root@VM_183_120_centos ~]#screen -wipe
6. Feche ou matar a janela
em circunstâncias normais, quando você sair de uma janela do último programa (geralmente bash) depois que a janela está fechada. Outro método é usar Fechar Ca k, as teclas de atalho matar a janela atual, mas também vai matar o processo em execução na janela.
Se uma sessão de Tela última janela é fechada, então toda a sessão vai sair da tela, processo de tela será encerrado.
Além de voltar-se para a saída / matar a Tela sessão atual todas as janelas desta forma, você também pode usar o atalho Ca :, em seguida, digite o comando quit para sair da sessão de tela. Note-se que tal saída vai matar todas as janelas e saia de todos os programas em execução na mesma. Na verdade, Ca: Este atalho permite comandos de entrada direta do usuário Há muitos, incluindo uma tela dividida pode ser dividida e outros insumos, e esta é uma forma de funções de tela são implementadas, no entanto, pessoalmente, acredito que é atalhos relativamente conveniente.