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. การสร้าง # 2 โดยไม่ต้องใช้.screenrc
ไฟล์
หากคุณกำลังมองหาสถานการณ์ที่คุณสามารถ:
- สร้างเซสชันหน้าจอ
- โหลดมันด้วยแท็บ
- ให้แต่ละแท็บใช้คำสั่งของตนเอง
- ไม่ต้องการ
.screenrc
ไฟล์
นี่คือสิ่งที่คุณต้องการ! เตรียมว่า สิ่งนี้สามารถทำให้ยุ่งยากเล็กน้อยด้วยบรรทัดคำสั่ง
สำหรับผู้เริ่มต้นสร้างเซสชันหน้าจอ:
$ screen -AdmS myshell -t tab0 bash
สวิทช์-AdmS
ทำดังต่อไปนี้:
(ดูหน้าคนหน้าจอสำหรับรายละเอียดเพิ่มเติม)
-A
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 sessionname
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.
ตอนนี้เรามาเริ่มโหลดมันด้วย tabs + command ของพวกมัน:
$ 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 แท็บและเรียกใช้เป็นกลุ่ม, 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 หรือแม้แต่สคริปต์เชลล์นี่เป็นเพียงการสาธิตความสามารถและแสดงวิธีการ!
อ้างอิง