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 개의 echo 명령을 실행합니다.
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. .screenrc
파일 을 사용하지 않고 # 2 만들기
가능한 시나리오를 찾고 있다면 :
- 스크린 세션을 만들다
- 탭으로로드
- 각 탭에 자체 명령을 실행하십시오
.screenrc
파일이 필요하지 않습니다
그렇다면 이것은 당신을위한 것입니다! 그래도 준비하십시오. 이것은 명령 행에 약간 까다로울 수 있습니다.
우선 스크린 세션을 만들어 봅시다 :
$ screen -AdmS myshell -t tab0 bash
스위치 -AdmS
는 다음을 수행합니다.
(자세한 내용은 화면 맨 페이지 를 참조하십시오)
-에이
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 별칭이나 심지어 쉘 스크립트를 사용하여 정리하고 다듬을 수 있습니다. 이것은 단지 기능을 보여주고 길을 보여주기위한 것입니다!
참고 문헌