คำถามติดแท็ก gnu-screen

GNU Screen เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ช่วยให้ผู้ใช้สามารถสร้างเชลล์หลายเซสชันในการเชื่อมต่อเดียว เซสชันเหล่านี้แยกออกจากการเชื่อมต่อหลักและคงสถานะของผู้ใช้ไว้แม้ว่าการเชื่อมต่อจะหายไป

2
ฉันสามารถแนบการส่งต่อคีย์ SSH อีกครั้งผ่านเซสชันหน้าจอที่ไม่ได้เชื่อมต่อได้หรือไม่ [ซ้ำ]
ซ้ำกันได้: การหมดเวลาคีย์ ssh-agent ด้วยหน้าจอหรือ tmux บนโฮสต์ป้อมปราการ ฉันมีแล็ปท็อปที่ใช้การประกวด (ตัวแทนคีย์ PuTTy SSH) ถ้าฉัน ssh ไปยังระบบและหน้าจอเรียกใช้การส่งต่อคีย์ ssh ทำงานอย่างถูกต้อง อย่างไรก็ตามหากฉันตัดการเชื่อมต่อจากเซสชันหน้าจอนั้นให้ออกจากระบบในภายหลังเชื่อมต่อใหม่ - การส่งต่อคีย์ไม่ทำงานอีกต่อไป ฉันคิดว่านี่เป็นเพราะเมื่อฉันเชื่อมต่อใหม่การส่งต่อคีย์ถูกตั้งค่าในพอร์ตที่แตกต่างกันสำหรับเซสชั่น ssh ใหม่กว่าเดิม มีวิธีสอนหน้าต่างหน้าจอส่วนตัวให้เชื่อมต่อกับตัวแทนส่งต่ออีกครั้งเพื่อให้ฉันสามารถใช้รหัสของฉันเพื่อส่งต่ออีกครั้งได้หรือไม่
6 ssh  gnu-screen 

1
เปิดใช้งานเสียงเตือนในหน้าต่างปัจจุบันของหน้าจอ gnu
ฉันใช้ putty เพื่อ ssh ไปยัง ubuntu bash shell ซึ่งเก็บ irssi ไว้ในหน้าจอ ฉันคิดว่าฉันสามารถกำหนดค่า irssi ให้ส่งสัญญาณเสียงระบบเมื่อมีข้อความแสดงหรือกิจกรรมเกิดขึ้นและฉันได้จัดการตั้งค่า putty ให้กะพริบในแถบงานเมื่อได้รับตัวอักษรระฆัง ปัญหาของฉันคือหน้าจอ ฉันไม่สามารถรับหน้าจอเพื่อทำสิ่งใดนอกจากแฟลชเทอร์มินัลเมื่อส่งสัญญาณเตือนจากหน้าต่างที่ใช้งานอยู่ในปัจจุบัน กับ vbell on มันกะพริบหน้าต่างที่โป๊ว echo ^G. กับ vbell off มันยังกะพริบหน้าต่างที่โป๊ว เมื่อไม่ได้อยู่ในหน้าจอระฆังจะแพร่กระจายอย่างถูกต้องและดำเนินการตามการตั้งค่าสีโป๊วของฉัน ( vbell on/off เป็นสิ่งเดียวกับการกด ctrl+a ctrl+g ) แกนกลางของปัญหาน่าจะเป็นที่หน้าจอใช้กระดิ่งภาพไม่ว่าการตั้งค่าการตั้งค่า อาจจะเรียงลำดับบางส่วนของ terminfo ความไม่ลงรอยกันระหว่าง bash และหน้าจอ? ฉันจะทำให้หน้าจอส่งออดเสียงได้เมื่อกำหนดค่าให้ส่งเสียงเตือนได้อย่างไร

4
ติดตั้งหน้าจอจากซอร์สโค้ด
ฉันพยายามติดตั้งscreenคำสั่งบน RedHat จากซอร์สโค้ด แต่เมื่อฉันเรียกใช้configureมันกลับมา configure: error: !!! no tgetent - no screen ดังนั้นไม่มีใครรู้วิธีการแก้ไขหรือไม่

1
มีโหมดซอมบี้ของหน้าจอเวอร์ชัน tmux หรือไม่?
screen มีคุณสมบัติที่เรียกว่าโหมดซอมบี้ซึ่งทำให้เมื่อกระบวนการของหน้าจอ (หน้าต่างหรือบานหน้าต่างใน tmux คำศัพท์) ตายหน้าต่างไม่ปิด - มันอยู่ที่นั่นจนกระทั่งรีสตาร์ทเท่านั้น มีวิธีทำเช่นนี้หรือไม่ tmux? กรณีการใช้งานของฉันคือฉันเริ่มเซิร์ฟเวอร์การพัฒนาท้องถิ่นจำนวนมากในบานหน้าต่างที่แตกต่างกันในตัวฉัน tmux.confแต่ถ้าฉันต้อง C-c หนึ่งในนั้นเริ่มต้นใหม่ฉันไม่ต้องการให้บานหน้าต่างนั้นหายไป

2
หน้าจอ GNU: ระบุว่ามีการกดปุ่ม Ca (escape) ใน hardstatus
เคยค้นหาสิ่งนี้โดยไม่โชคดี สิ่งที่ฉันต้องการคือสิ่งที่บอกฉันถ้าฉันกด Ca in Screen Vim แสดง "- INSERT -" เมื่อเลือกโหมดแทรก สิ่งที่จะเป็นประโยชน์ที่จะมีใน hardstatus ของ Screen ใครมีคำแนะนำในการทำเช่นนี้ (ถ้าเป็นไปได้จริง ๆ )?

1
บริการ Systemd - สคริปต์ Python ภายในหน้าจอเมื่อบู๊ตเครื่อง
ฉันกำลังเรียกใช้สคริปต์ python ภายในเซสชันของหน้าจอผ่านสคริปต์นี้ใน rc.local: screen -L -dmS pi python /home/pi/truck/main2.py & แต่ฉันต้องการให้มันทำงานผ่าน systemd ดังนั้นฉันสามารถรีสตาร์ทได้หากสคริปต์ Python ขัดข้อง ฉันพยายามสร้างบริการใน /systemd/system/myscript.service [Unit] Description=myscript After=network.target [Service] Type=simple Restart=on-failure RestartSec=3 ExecStart=/usr/bin/screen -L -dmS pi python /home/pi/truck/main2.py [Install] WantedBy=multi-user.target แต่มันจะไม่เรียกใช้สคริปต์ของฉันภายในเซสชันหน้าจอหรือไม่ หากฉันได้รับรายการหน้าจอที่ใช้งานอยู่แสดงว่าเซสชันหน้าจอ "pi" นั้นตาย

2
การเปลี่ยนชื่อเซสชัน
ในทุบตีฉันสามารถเริ่มหน้าจอชื่อโดยทำ screen -S test ถ้าฉันพิมพ์ ctrl-a A new_screen_name มันเพียงเปลี่ยนชื่อของหน้าจอ เมื่อฉันทำ screen -r ฉันเห็นชื่อเซสชันยังคงเหมือนเดิม

2
หน้าจอ GNU ค้างเมื่อเริ่มต้นเซสชันผ่าน SSH ทำงานในพื้นที่ เกิดอะไรขึ้น
ใน iMac ที่ทำงาน Snow Leopard ฉันสามารถเปิดหน้าต่างเทอร์มินัลและเริ่มเซสชัน 'หน้าจอ' โดยไม่มีปัญหา อย่างไรก็ตามถ้าฉัน ssh ลงในเครื่องเดียวกัน (จากที่อื่นหรือในพื้นที่) แล้วลองเริ่มเซสชัน 'หน้าจอ' ก็แค่แฮงค์ ไม่มีเอาต์พุตเลย มันจะไม่ตอบสนองต่อ Ctrl-d, Ctrl-c ฯลฯ และจะต้องถูกฆ่าผ่าน PID เซสชั่นที่สร้างขึ้นในสถานีท้องถิ่นสามารถดำเนินการต่อจากเซสชั่น ssh สิ่งนั้นช่วยให้เกิดข้อสงสัยโดยตรงต่อการกำหนดค่าใด ๆ หรือไม่? ฉันสงสัยว่ามีปัญหากับหนึ่งใน. bashrc, .profile ฯลฯ แต่ไม่ทราบว่าจะใช้กับสถานการณ์นี้และไม่ได้ทำการเปลี่ยนแปลงใด ๆ ในพื้นที่นั้นเมื่อเร็ว ๆ นี้ ทั้งหมดนี้ทำในฐานะผู้ใช้คนเดียวกัน ฉันมั่นใจว่า 99% นี้ใช้งานได้ไม่นานมานี้ แต่ฉันคิดว่ามีความเป็นไปได้น้อยที่สถานการณ์นี้ไม่ได้ถูกลดทอนสำหรับฉัน ในการตอบคำถาม Gilles ด้านล่าง: ตัวแปรสภาพแวดล้อมเหมือนกันในทั้งสองกรณี ส่วนใหญ่จะว่างเปล่า - มีการตั้งค่าเฉพาะคอลัมน์, LINES, HOME, …

1
ย้ายโปรแกรมที่กำลังเรียกใช้ไปยังหน้าจอ
เป็นไปได้หรือไม่ที่จะย้ายโปรแกรมที่เริ่มต้นไปที่screen/ แล้วtmux? ฉันต้องการมีสิ่งต่อไปนี้: program; ^Z screen; fg; ฉันรู้ว่าข้างต้นใช้งานไม่ได้ แต่มีวิธีที่จะทำให้สำเร็จหรือไม่

0
การสร้างหลายหน้าจอใน for for loop เพื่อรันโปรแกรม parellel และส่งคำสั่งไปยังแต่ละ
ก่อนที่จะตั้งค่าสถานะคำถามนี้ซ้ำซ้อนฉันได้อ่านและลองตอบทุกคำถามที่คล้ายกันโดยไม่ประสบความสำเร็จ ฉันมีวงนี้ที่มันสำรวจโครงสร้างไดเรกทอรีและเรียกใช้โปรแกรม (ซึ่งใช้เวลานาทีเพื่อเสร็จสิ้น) ในแต่ละไดเรกทอรีย่อยในหน้าจอแยก ฉันไม่ต้องการที่จะเห็นผลลัพธ์ของหน้าจอและต้องการให้พวกเขาทั้งหมดเพื่อรันโปรแกรมในพื้นหลังในแบบคู่ขนาน จนถึงตอนนี้ฉันมี for ((i = 1; i <= noLines; i++)) do # code to change path to point to next executable goes here screen -d -m -S results_$i -X stuff $(./runSimulator.sh 1 5 results) $'\012' done จะเกิดอะไรขึ้นคือรหัสจะรันในหน้าจอที่ใช้งานอยู่ในปัจจุบันและรหัสนั้นจะต่อเนื่องกันบนหน้าจอเดียวกัน ฉันต้องใช้หลายรุ่นในเวลาเดียวกันในหน้าจอที่แตกต่างกัน คุณช่วยได้ไหม ฉันพยายามทั้งหมดเหล่านี้และมันไม่ทำงาน (ข้อผิดพลาด (ไม่พบซ็อกเก็ต) / ไม่มีอะไรเกิดขึ้นหรือเหมือนข้างต้น) screen -d …

0
หน้าจอ GNU และ PID เนมสเปซ
ฉันมีหน้าจอ GNU ทำงานในภาชนะ LXC จึงมี namespace PID ส่วนตัว ฉันกำลังพยายามแนบกับหน้าจอนั้นจาก "นอก" เนมสเปซ หน้าจอทั้งสองใช้ระบบไฟล์ร่วมกันจึงสามารถเข้าถึงซ็อกเก็ตเดียวกันได้ "ภายนอก" screen -ls แสดงรายการเซสชันอย่างถูกต้อง แต่พยายามแนบ screen -x ล้มเหลวด้วย " แนบความพยายามด้วย pid ที่ไม่ดี (XXX)! "ข้อความบนหน้าจอเดิมที่ใช้งานภายในคอนเทนเนอร์ lxc หน้าจอ" แนบภายนอก "รอ 15 วินาทีและออกด้วย" ทันใดนั้นดันเจี้ยนก็ถล่ม !! - คุณตาย ... ข้อความ "และ 1 เป็นรหัสข้อผิดพลาด โปรแกรมแนบ "ภายนอก" สามารถแยกหน้าจอแยกจากระยะไกล screen -d แต่ยังคงมีการหมดเวลา 15 วินาทีและข้อผิดพลาด 'ยุบ' …

2
Echo ไปที่หน้าจอเซสชันและไปที่ไฟล์
ฉันต้องการรันคำสั่งต่อไปนี้: echo $RANDOM 2>&1 >> test.txt ในเซสชั่นหน้าจอนี้: screen -S test -X eval 'stuff "echo $RANDOM 2>&1 >> test.txt\015"' อย่างไรก็ตามแทนที่จะดำเนินการมันสะท้อนต่อไปนี้: echo 2>&1 >> test.txt ผมทำอะไรผิดหรือเปล่า? ฉันต้องการechoคำสั่งไม่เพียง แต่บันทึก ouptut ไว้test.txtแต่เพื่อแสดงผลลัพธ์นั้นไปยังหน้าจอเช่นกัน

1
จะให้แต่ละเทอร์มินัลเสมือนในหน้าจอ GNU เป็นสีพื้นหลังของตัวเองได้อย่างไร
ฉันมีความฝัน: ฉันต้องการให้แต่ละเทอร์มินัลเสมือนภายในหน้าจอ GNU มีสีพื้นหลังที่เป็นเอกลักษณ์ของตัวเอง ฉันคิดว่าฉันสามารถปลอมมันในสคริปต์. bashrc ที่ปล่อยรหัสควบคุม xterm เพื่อตั้งค่าสีพื้นหลังตามตัวแปร $ WINDOW - แต่วิธีนี้จะไม่ทำงานถ้าฉันเริ่มกระบวนการที่ไม่ใช่การทุบตี (เช่นถ้าฉันเรียกใช้ " หน้าจอ vi foo ") มีวิธีที่ฉลาดกว่านี้ในการเปลี่ยนสีพื้นหลังทุกครั้งที่เปลี่ยนเทอร์มินัลเสมือนจริงหรือไม่?

1
เป็นกลุ่ม“ * และ” + ในหน้าจอ
ฉันเพิ่งเริ่มใช้หน้าจอและฉันสนุกกับมันค่อนข้างน้อย ปัญหาคือเมื่อฉันเรียกใช้กลุ่มจากภายในหน้าจอฉันไม่สามารถเข้าถึงการลงทะเบียน + อีกต่อไป มันเคยเป็นฉันสามารถพูดได้ "+dd เพื่อตัดบรรทัดไปยังคลิปบอร์ดของระบบแล้ววางที่อื่น แต่การใช้เสียงเรียกเข้าภายในหน้าจอ"+ddดูเหมือนจะไม่ดึงไปยังคลิปบอร์ดของระบบอีกต่อไป ไม่มีใครรู้วิธีการแก้ไขปัญหานี้หรือไม่?
1 vim  gnu-screen 

2
หน้าจอ: การจัดกลุ่มการเรียกใช้กลุ่มทั้งหมดภายใต้หน้าต่างเดียว
ในหน้าจอเป็นไปได้ไหมที่จะเปิดอินสแตนซ์ทั้งหมดของกลุ่มในหน้าต่างเดียว? (เช่นหน้าต่าง 2) เริ่มแรกหน้าต่างจะเปลี่ยนเป็นหน้าต่างที่กำหนดและเปิดไฟล์ในบัฟเฟอร์ และการเรียกใช้ vim (จากหน้าต่างอื่น) ที่ตามมาจะเปิดไฟล์ในแท็บใหม่ของ vim ในหน้าต่างนั้น ฉันกำลังใช้ cygwin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.