Múltiplas sessões com console único no linux?

2

Digamos que eu tenha apenas um único console, é possível simular vários consoles / sessões?

Estou procurando um comando / método linux, não específico do ubuntu / debian.

#console1
$ ..

#console2
$ console_switch 2
$ ..

#console1 again
$ console_switch 1
$ ..

Qualquer coisa como esta disponível, mesmo como um pacote?

Encontrado o 'screen' do pacote, mas a saída não é mantida entre as alterações.

    
por Damien Roche 17.05.2012 / 22:01

4 respostas

4

Os multiplexadores de terminal tmux e screen são populares para isso. É possível ver várias janelas ao mesmo tempo, dividindo verticalmente / horizontalmente; por exemplo, Ctrl-B " no tmux. Existe até possibilidade de copiar e colar texto entre janelas.

O editor emacs permite executar shells interativos em seus vários buffers - novamente, com vários buffers na tela e com copiar / colar entre eles.

Uma alternativa mais simples ao tmux / screen é dtach , que não executa a emulação completa do terminal, mas apenas permite desanexar / reconectar, então a saída anterior permanece. (No entanto, isso também significa que desanexar dentro de um programa de tela inteira não funcionará bem.)

O toolchest da Heirloom parece fornecer uma versão de shl , "camadas de shell" que eram presente no Unix SVR3 (e morreu logo depois, mas ainda permanece em stty swtch ). Eu não posso pegar o toolchest para construir, no entanto, e eu não tenho certeza se os kernels Linux modernos têm o suporte necessário para shl . Se funcionasse, porém, seria quase exatamente como no seu exemplo.

Finalmente, você pode ter vários processos do shell sendo executados como jobs:

$ bash
  $ suspend
$ bash
  $ suspend
$ jobs
[1]-  Stopped                 bash
[2]+  Stopped                 bash
    
por 17.05.2012 / 22:11
2

No GNU Screen, você pode:

  1. janela dividida com Ctrl + A , Deslocamento + S ,
  2. mude para a nova divisão com Ctrl + A , a tecla , ,
  3. abra uma nova tela com Ctrl + A , C ,
  4. repita.

Além disso, para fechar a divisão atual, pressione Ctrl + A , Deslocamento + X .

    
por 17.05.2012 / 22:16
1

Tela GNU , tmux e, provavelmente, muitos mais. O termo que você está procurando é multiplexador de terminal , eu acho.

    
por 17.05.2012 / 22:07
1

Não tenho certeza se é exatamente o que você está procurando, mas tela / byobu parece semelhante. Você não alterna com um comando, mas com uma combinação de teclas no estilo emacs. Se sua distro tiver um pacote, sugiro byobu.

Editar: O Byobu é uma camada de usabilidade construída no topo da tela. Tanto quanto eu sei, não é tanto que qualquer um pode fazer o que o outro não pode, mas byobu muitas vezes torna muito mais fácil.

    
por 17.05.2012 / 22:08

Tags