Что ж, через некоторое время по вашему вопросу появятся некоторые замечания:
Строка 2: все команды должны быть расположены в окне bash, желательно плиточный не возможен, так как при отсоединении нет окон.
Поэтому при повторном присоединении вы всегда будете видеть только одну псевдо-tty.
Но чтобы сделать примерно то, что просили, попробуйте следующее:
Сначала создайте RCfile, набрав: cat >screenRcTest
со следующим:
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
Чем подготовить обертку run
как:
screen -ls | grep -q screenTest || screen -dmS screenTest -c ./screenRcTest
это запустит новый сеанс экрана в фоновом режиме, если он еще не существует.
Для построения мозаичной презентации подготовьте другой сценарий оболочки как 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
и не забудьте chmod +x screenSplitTest
.
Наконец, выполните команду отображения как:
xterm -fn 9x15 -geom 160x60 -exec screen -DrS screenTest
Это откроет новое окно только с готовым bash
.
В этом внутреннем ударе просто нажмите:
./screenSplitTest
Это разделит ваше окно и позволит вам снова подготовиться в вашей сессии bash.
Введите сейчас:
echo $MyVariable
Test
Итак, вы увидите, как переменная среды передается дочернему bash.
Редактировать дополнение:
После этого все, вы могли бы ударить его в вашем внутреннем Баш:
trap '[ $(tput lines) == 60 ] && [ $(tput cols) == 160 ] && ./screenSplitTest' WINCH
Таким образом, вы можете отключиться, набрав: Ctrl-A d
чем в следующий раз, когда вы запустите xterm
теми же аргументами и геометрией, сценарий screenSplitTest будет запущен автоматически.
Редактировать 2
И теперь вы можете даже установить эту trap
в вашем .bashrc
, используя MyVariable
чтобы гарантировать, что bash является дочерним элементом экрана screenRcTest (после перемещения screenSplitTest
в скрытый файл в $HOME/.screenSplitTest
для констанции ):
[ "$TERM.$MyVariable" == "screen.Test" ] && \
trap '[ $(tput lines) == 60 ] && [ $(tput cols) == 160 ] && $HOME/.screenSplitTest' WINCH