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