1. Вкладки на экране
Вы ищете это, чтобы добавить к вашему файлу .screenrc:
screen -t tab1
screen -t tab2
Вот хороший базовый файл .screenrc, с которого можно начать работу с строкой состояния и т. Д. ПРИМЕЧАНИЕ. Обычно он находится в вашем домашнем каталоге /home/<username>/.screenrc
.
screen -t validate #rtorrent
screen -t compile #irssi
screen -t bash3
screen -t bash4
screen -t bash5
altscreen on
term screen-256color
bind ',' prev
bind '.' next
#
#change the hardstatus settings to give an window list at the bottom of the
#screen, with the time and date and with the current window highlighted
hardstatus alwayslastline
#hardstatus string '%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%s%{-}'
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
Скриншот
2. Вкладки на экране (команды запускаются внутри)
Пример .screenrc
ниже создаст 2 вкладки и запустит 3 команды эха в каждой.
screen -t tab1
select 0
stuff "echo 'tab1 cmd1'; echo 'tab1 cmd2'; echo 'tab1 cmd3'^M"
screen -t tab2
select 1
stuff "echo 'tab2 cmd1'; echo 'tab2 cmd2'; echo 'tab2 cmd3'^M"
altscreen on
term screen-256color
bind ',' prev
bind '.' next
#
#change the hardstatus settings to give an window list at the bottom of the
#screen, with the time and date and with the current window highlighted
hardstatus alwayslastline
#hardstatus string '%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%s%{-}'
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
Этот метод использует экранные команды select
и stuff
команды, чтобы сначала выбрать одну из вкладок, а затем «вставить» в нее строку.
Скриншот
3. Создание # 2 без использования .screenrc
файла
Если вы ищете сценарий, где вы можете:
- создать сеанс экрана
- загрузить его с помощью вкладок
- каждая вкладка запускает свои собственные команды
- не требует
.screenrc
файла
Тогда это для вас! Будьте готовы, хотя. Это может быть немного сложно с командной строкой.
Для начала давайте создадим сеанс экрана:
$ screen -AdmS myshell -t tab0 bash
Выключатели -AdmS
делают следующее:
(См. Экранную страницу man для более подробной информации)
-А
Adapt the sizes of all windows to the size of the current terminal.
By default, screen tries to restore its old window sizes when
attaching to resizable terminals
-d -m
Start screen in "detached" mode. This creates a new session but
doesn't attach to it. This is useful for system startup scripts.
-S имя сеанса
When creating a new session, this option can be used to specify a
meaningful name for the session. This name identifies the session for
"screen -list" and "screen -r" actions. It substitutes the default
[tty.host] suffix.
Теперь давайте начнем загружать его с помощью вкладок + их команд:
$ screen -S myshell -X screen -t tab1 vim
$ screen -S myshell -X screen -t tab2 ping www.google.com
$ screen -S myshell -X screen -t tab3 bash
Эти 3 команды создадут 3 дополнительные вкладки, запустят vim, ping google и запустят оболочку bash. Если мы перечислим сеансы экрана, мы увидим следующее:
$ screen -ls
There is a screen on:
26642.myshell (Detached)
1 Socket in /var/run/screen/S-root.
Если мы подключимся к сеансу экрана myshell и перечислим вкладки, которые в нем содержатся, мы увидим следующее:
$ screen -r myshell
Нажмите эту комбинацию клавиш: Ctrl+ с Aпоследующим Shift+"
Num Name Flags
0 tab0 $
1 tab1 $
2 tab2 $
3 tab3 $
Переключение на tab2 :
64 bytes from ord08s08-in-f20.1e100.net (74.125.225.116): icmp_seq=443 ttl=55 time=41.4 ms
64 bytes from ord08s08-in-f20.1e100.net (74.125.225.116): icmp_seq=444 ttl=55 time=33.0 ms
64 bytes from ord08s08-in-f20.1e100.net (74.125.225.116): icmp_seq=445 ttl=55 time=30.1 ms
Скриншот
Вышеприведенные команды являются основным способом выполнения того, что ищет OP. Это, конечно, может быть сжато и уточнено с использованием псевдонимов Bash или даже сценариев оболочки, это просто для демонстрации возможностей и демонстрации пути!
Ссылки