Bem, depois de algum tempo na sua pergunta, há algumas observações:
linha 2: os comandos devem ser organizados na janela do bash, preferencialmente lado a lado não é possível, como quando separados, não há janelas .
Então, quando você anexar novamente, verá sempre apenas uma pseudo-tty .
Mas, para fazer de maneira aproximada o que você pediu, tente o seguinte:
Primeiro, crie um arquivo RC como digitação: cat >screenRcTest
com o seguinte:
setenv MyVariable Test
screen -t Top top
screen -t VMStat vmstat -n 1
screen -t OpenPorts watch -n 2 'netstat -tan | grep LISTEN'
screen -t IF-Configs watch -n2 'ip -s link show | grep -v "^ *[RT]X: bytes"'
screen -t "Bourne Again Shell" /bin/bash -i
De que prepare um wrapper run
como:
screen -ls | grep -q screenTest || screen -dmS screenTest -c ./screenRcTest
isso executará uma nova sessão de tela em segundo plano, se ainda não existir.
Para criar uma apresentação tiled , prepare outro script de shell como cat >screenSplitTest
#!/bin/bash
while read line ;do
screen -X $line
done <<eof
split
split
resize 20
split -v
resize 82
select 0
focus
select 1
focus
split -v
select 2
focus
select 3
focus
select 4
eof
e não se esqueça de chmod +x screenSplitTest
.
Por fim, execute o comando de exibição como:
xterm -fn 9x15 -geom 160x60 -exec screen -DrS screenTest
Isso abrirá uma nova janela com apenas bash
pronto.
Neste inner bash, clique simplesmente:
./screenSplitTest
Isso dividirá sua janela e deixará você pronto novamente, na sua sessão bash.
Digiteagora:
echo$MyVariableTest
Então,vocêverácomoavariávelEnvironmentétransmitidaparaofilhobash.
Editaradição:
Depoisdefazertudo,vocêpodeclicarnoseguinteemseuinnerbash:
trap'[$(tputlines)==60]&&[$(tputcols)==160]&&./screenSplitTest'WINCH
Entãovocêpodedesconectardigitando:Ctrl-Ad
doquedapróximavezquevocêexecutarxterm
comosmesmosargumentosegeometria,oscriptscreenSplitTestseráiniciadoautomaticamente.
Editar2
Eagora,vocêpodeatéinstalaressetrap
noseu.bashrc
,usandoMyVariable
paragarantirqueobashsejaumfilhodatelascreenRcTest(depoisdemoverscreenSplitTest
paraumocultoarquivoem$HOME/.screenSplitTest
paraconstance):
["$TERM.$MyVariable" == "screen.Test" ] && \
trap '[ $(tput lines) == 60 ] && [ $(tput cols) == 160 ] && $HOME/.screenSplitTest' WINCH