วิธีสลับระหว่างหน้าจอภายในหน้าจอ


12

ฉันต้องทำงานภายในสองสภาพแวดล้อม หนึ่ง Windows (ภายในเครื่อง) และ Linux หนึ่งตัว (ระยะไกล) ฉันได้ติดตั้งยูทิลิตี้หน้าจอ linux ทั้งสองแล้ว ฉันสามารถเปิดหน้าจอบน windows ของฉันจากนั้นในแท็บหนึ่งเปิดการเชื่อมต่อ ssh ไปยังรีโมท linux และเริ่มหน้าจออื่น

ตัวอย่าง

linux  -- |0 linux remote 0| 1 linux remote 1 
windows-- |0 linux | 9 windows 

ฉันสามารถสลับระหว่าง "linux remote 0" และ "linux remote 1" โดยใช้ Atl + นี่คือการกำหนดค่าใน. screenrc (bindkey "^ [0" เลือก 0) ฉันจะเปลี่ยนเป็น "9 windows" ได้อย่างไร?

คำตอบ:


21

อา. screen-in-screen ... Inception มาก เราต้องไปให้ลึก ...

ที่ถูกกล่าวว่าคุณสามารถส่ง Ctrl-A Ctrl-AAไปยังหน้าจอที่ซ้อนกันโดยการทำ


บทกวีและแม่นยำ: นักพัฒนาต่ำต้อยสามารถขออะไรอีก ;)
Tomislav Nakic-Alfirevic

ฉันพบว่าการออกCtrl+A Aจะสลับระหว่างหน้าต่างภายในและหน้าต่างสุดท้ายภายในเซสชันหน้าจอภายในเท่านั้น หนึ่งรอบผ่านสแต็กหน้าต่างทั้งหน้าจอภายในได้อย่างไร ไชโย!
nemesisfixx

7

Ctrl+A, 9หรือCtrl+A, "(ที่อ้างดับเบิล) แล้วเลือกจากรายการ


1
นี่คือวิธีสลับหน้าต่างในscreenเซสชันเดียว คำถามเกี่ยวกับการซ้อนหน้าจอ
Keith Thompson

4

เมื่อฉันเรียกใช้หน้าจอในหน้าจออื่นฉันใช้อักขระคำสั่งที่แตกต่างกันสำหรับแต่ละ

แทนที่จะเป็น ctrl-A ที่เป็นค่าเริ่มต้นฉันใช้ ctrl-space (อักขระ null escape ^@^@ใน.screenrc) สำหรับตัวนอกและ ctrl-] ( escape ^]^]ใน.screenrc) สำหรับอันที่อยู่ภายใน

หากคุณไม่ทำเช่นนั้นคุณสามารถส่งอักขระคำสั่งเดียวไปยังscreenเซสชันที่ซ้อนกันภายใน(หรือไปยังคำสั่งอื่น ๆ ที่ทำงานอยู่screen) โดยเพิ่มเป็นสองเท่า


นี่คือสิ่งที่ฉันกำลังมองหา - ขอบคุณ!
andersonbd1

ฉันจะเปลี่ยนอักขระคำสั่งได้อย่างไร.screenrcขึ้นอยู่กับความลึกปัจจุบัน
Scz

1
@Scz: ฉันไม่รู้ ฉันมีเซสชันหน้าจอที่ทำงานบนระบบภายในบ้านของฉัน (พร้อมescape ^@^@) และอีกเซสชันหนึ่งทำงานบนระบบอื่น (พร้อมescape ^]^]) ฉันเพิ่งจะมีsshระบบที่สองเป็นหนึ่งในหน้าต่างในครั้งแรก
Keith Thompson

3

ดังที่rocka84พูดถึงแต่สำหรับคำสั่งที่สองคุณไม่จำเป็นต้องกดCtrlอีกครั้ง เช่นเดียวกับการสร้างหน้าจอใหม่ใน terminal ซ้อนกันที่คุณต้องทำเช่นนี้Ctrl+a, ,ac


1

คุณสามารถกดCtrl+ aตามด้วย Shift+ '(single quote)'แล้วเลือกหน้าจอที่คุณต้องการ

หรือคุณสามารถเพียงแค่กด Ctrl+ a(double tap)เพื่อกลับไปยังหน้าจอก่อนหน้า


1

เป็นที่กล่าวถึงคุณสามารถส่งไปยังหน้าจอด้านในด้วยCtrl+A Ctrl+A Aเพียงแค่ทำสองครั้งเพื่อสลับหน้าจอด้านใน
ตรวจสอบให้แน่ใจว่าได้ปล่อยCtrlครั้งที่สอง (ขึ้นไป) A

Btw: สิ่งนี้ใช้สำหรับลำดับการควบคุมทั้งหมดของหน้าจอด้านในเพียงกดปุ่มCtrl+Aก่อนหน้าคีย์ทั้งหมดและปล่อยCtrlปุ่มลำดับ ง่ายต่อการแสดงมากกว่าที่จะอธิบาย:
Ctrl+A A Cสร้างหน้าจอภายในใหม่


0

คุณสามารถใช้เหมือนด้านล่าง

  • สำหรับหน้าจอถัดไปและ

Ctrl + A n

สำหรับหน้าจอก่อนหน้า

Ctrl + A p


0

ดูเหมือนว่าคำตอบของ Marc B จะทำงานได้ยกเว้นว่ามันจะสลับไปมาระหว่างหน้าต่างปัจจุบันและหน้าต่างสุดท้ายในเซสชันหน้าจอด้านในเท่านั้น ต่อไปนี้อนุญาตให้มีพฤติกรรมที่คาดหวังโดยทั่วไปของCtrl+Aภายในเซสชันที่มีอยู่ ...

Ctrl+A A

และตัวอย่างเช่นเมื่อขี่จักรยานผ่านหน้าต่าง ...

Ctrl+A A [N,P]

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