คุณใช้คำสั่ง "หน้าจอ" ได้อย่างมีประสิทธิภาพได้อย่างไร
ใช่ไหม:
พิมพ์ "หน้าจอ"
พิมพ์คำสั่ง
ขาดการเชื่อมต่อ
ตรวจสอบอีกครั้งในเซสชันที่หายไป
ฉันจะทำตามขั้นตอนที่ 4 ได้อย่างไร
คุณใช้คำสั่ง "หน้าจอ" ได้อย่างมีประสิทธิภาพได้อย่างไร
ใช่ไหม:
พิมพ์ "หน้าจอ"
พิมพ์คำสั่ง
ขาดการเชื่อมต่อ
ตรวจสอบอีกครั้งในเซสชันที่หายไป
ฉันจะทำตามขั้นตอนที่ 4 ได้อย่างไร
คำตอบ:
ด้วยหน้าจอ:
screen
command
screen -RD
เพื่อแนบหน้าจออีกครั้ง (หากมีมากกว่าหนึ่งรายการคุณจะได้รับรายการเซสชันหน้าจอปัจจุบันและคุณจะต้องระบุหมายเลขเซสชัน) จากเซสชันใหม่วิธีที่ง่ายกว่าซึ่งมีประโยชน์สำหรับคำสั่งที่ออกจาก logfiles หรือเพียงแค่โยนเอาต์พุตที่เกี่ยวข้องและไม่ต้องการการโต้ตอบคือnohup
:
nohup command > logfile &
tail -f logfile
จากเซสชันใหม่หน้าจอเป็นจริงที่มีประสิทธิภาพและช่วยให้คุณทำสิ่งที่คุณถาม
หากต้องการดูเซสชันทั้งหมดของคุณให้พิมพ์
screen -list
เมื่อคุณระบุเซสชันของหน้าจอเพื่อเชื่อมต่อใหม่แล้วให้ลอง
screen -dr SCREENID
ซึ่งจะแยกออกและแนบเซสชันของคุณอีกครั้ง
คุณสามารถทำได้ดีกว่า
screen -D -R
ซึ่งจะแยกออกจากระบบจากระยะไกลหากจำเป็นแล้วติดตั้งใหม่หรือถ้าไม่มีเซสชันนั้นจะสร้างและแจ้งให้ผู้ใช้ทราบ คุณสามารถเพิ่ม "-t NAME" เพื่อให้ชื่อเชลล์หรือโปรแกรม
ภายในหน้าจอให้ใช้
command-c
เพื่อสร้างหน้าต่างใหม่ (ดังนั้นคุณไม่ต้องการเซสชัน 4000000 หน้าจอเพื่อยกเลิกการเชื่อมต่อและเชื่อมต่อใหม่) และเปลี่ยนระหว่างเซสชันเหล่านั้นด้วย
command-int
การจัดทำดัชนีจาก 0 แน่นอน: P
เนื่องจากคุณดูไม่คุ้นเคยกับหน้าจอฉันจะถือว่าคุณสามารถใช้ข้อมูลอื่น ๆ ได้ ฉันชอบคำสั่งต่อไปนี้เช่น:
-e xy
ซึ่งทำให้ x เป็นอักขระคำสั่งและ y เป็นอักขระเพื่อสร้างอักขระคำสั่งตามตัวอักษร ค่าเริ่มต้นคือ Ctrl-a และ `a
ยังมีอะไรอีกมากมายสำหรับคุณที่นี่: หน้าจอ! มันมีไว้สำหรับโปรแกรมเมอร์
screen -dr
เพื่อแยกและกลับสู่เซสชันหน้าจอก่อนหน้า
นี่คือสิ่งที่ฉันเลือกใช้หน้าจอ (ซึ่งฉันเพิ่งเริ่มทำ):
screen -S <name>
สร้างหน้าจอชื่อ '<name>' สิ่งนี้มีประโยชน์มากหากคุณต้องการให้มีการใช้หน้าจอหลายครั้งพร้อมกัน ตัวอย่างเช่นฉันมีหนึ่งที่ฉันใช้ตามปกติและอย่างใดอย่างหนึ่งที่ฉันใช้สำหรับกระบวนการถาวรของฉันscreen -ls
แสดงรายการหน้าจอที่กำลังทำงานscreen -r <name>
ดำเนินการต่อในหน้าจอเดี่ยว screen -dr <name>
ถ้าหน้าจอที่แนบมาแล้วสักแห่งใช้นอกจากนี้เมื่อคุณเริ่มใช้หน้าจอเมื่อใดก็ตามที่คุณวางแผนที่จะปล่อยให้กด^a d
(= Ctrl-Aตามด้วยd ) เพื่อแยกหน้าจอที่คุณกำลังทำงานอยู่ในปัจจุบัน จากนั้นสามารถดำเนินการต่อในภายหลัง
นอกจากนี้ฉันสามารถแนะนำให้ดู^a ?
รายการคำสั่งต่าง ๆ ที่คุณสามารถใช้ได้ขณะอยู่ในหน้าจอ
สิ่งสำคัญที่สุดสำหรับฉันคือ:
^a c
เพื่อสร้างหน้าต่างใหม่ในเซสชันหน้าจอของคุณ^a ^a
เพื่อสลับระหว่างหน้าต่างที่ใช้ล่าสุดทั้งสอง^a "
เพื่อแสดงรายการหน้าต่างปัจจุบันในเซสชันของคุณ^a Esc
เพื่อเลื่อนในบัฟเฟอร์หน้าจอของคุณ^a k
เพื่อฆ่าหน้าต่างปัจจุบัน^a x
เพื่อล็อคเซสชันหน้าจอของคุณในกรณีที่คุณต้องออกจากคอมพิวเตอร์และไม่ต้องการให้ผู้อื่นยุ่งกับมันการค้นหาโดย Google อย่างรวดเร็วพบคู่มือหน้าจอนี้
http://www.rackaid.com/resources/linux-tutorials/general-tutorials/using-screen/
ดังนั้นจากขั้นตอน b) คุณสามารถแยกหน้าจอโดยใช้:
"Ctrl - A" "d"
หลังจากนั้นหลังจากการเชื่อมต่อขาดหายไปและการเชื่อมต่อของคุณพบหน้าจออีกครั้งโดยใช้:
# screen -ls
แล้วติดตั้งใหม่โดยใช้:
# screen -r <screen_session_name>
คุณยังสามารถตั้งค่าสภาพแวดล้อมของคุณเพื่อเข้าสู่ระบบและเริ่มต้นหน้าจอได้ทันที มีหลายวิธีที่จะทำ ฉันเลือกที่จะเพิ่มสิ่งนี้ลงในไฟล์. bashrc ของฉัน
# screen management
if [ $SSH_TTY ] && [ ! $WINDOW ]; then
SCREENLIST=`screen -ls | grep 'Attached'`
if [ $? -eq "0" ]; then
echo -e "Screen is already running and attached:\n ${SCREENLIST}"
else
screen -U -R
fi
fi
คุณจะมองหา
screen -x
ขั้นตอนที่ 4 คือ "screen -r"
หากคุณตัดการเชื่อมต่ออย่างรุนแรงคุณอาจต้องทำ "screen -r -d" เพื่อบังคับให้ยกเลิกการเชื่อมต่อจากเซสชัน ssh เก่าของคุณซึ่งคิดว่ายังคงเปิดอยู่
For windows system
Open putty
then login in server
หากคุณต้องการที่จะเห็นหน้าจอในคอนโซลจากนั้นคุณต้องเขียนคำสั่ง
Screen -ls
ถ้าคุณต้องเข้าถึงหน้าจอคุณต้องใช้คำสั่งด้านล่าง
screen -x screen id
screen -RD
ใหม่ได้