screen tip: screenrc และการสั่งงานด้วยบรรทัดคำสั่ง

Topic: 
 

screen tip: screenrc และการสั่งงานด้วยบรรทัดคำสั่ง

ต้องการให้เมื่อเริ่ม screen ทุกครั้ง จะสั่งเปิด 3 หน้าต่างคือแสดง top, syslog, และ dmesg ตามลำดับ โดยตั้งชื่อ session ว่า norm

ใช้การแก้ไขไฟล์ ~/.screenrc ดังนี้

# vi ~/.screenrc
sessionname norm
screen top
screen 1 tail -f /var/log/syslog
screen 2 tail -f /var/log/dmesg

รัน screen

# screen

จะได้ผลตามต้องการ

ต้องการให้ screen เริ่มงานแบบข้างต้น เฉพาะเมื่อเราต้องการ

จะใช้การทำงานผ่านสคริปต์ ดังนี้
สมมุติตั้งชื่อสคริปต์ว่า screen_monitor.sh

# vi screen_monitor.sh
#!/bin/bash
screen -S norm -md bash
screen -S norm -p0 -X stuff "screen bash
"
screen -S norm -p0 -X stuff "top
"
screen -S norm -p1 -X stuff "screen bash
"
screen -S norm -p1 -X stuff "tail -f /var/log/syslog
"
screen -S norm -p2 -X stuff "screen bash
"
screen -S norm -p2 -X stuff "tail -f /var/log/dmesg
"

เปลี่ยนสิทธิ์และสั่งรัน

# chmod 755 screen_monitor.sh
# ./screen_monitor.sh

จะไม่เห็นการเปลี่ยนแปลง เพราะเราสั่งให้ทำงานแบบเบื้องหลัง (-md)

จะเข้าไปสู่ (attach) การทำงานของ screen ได้ด้วยคำสั่ง

# screen -r norm

จบแล้วครับ