วิธีแยก windows ออกหลังจากแยกหน้าจอ GNU ออก


35

ฉันใช้หน้าจอในเซิร์ฟเวอร์ Ubuntu

ฉันแบ่งหน้าจอของฉันในสี่ภูมิภาคแต่ละอันแสดงหน้าต่างที่แตกต่างกัน

ปัญหาคือเมื่อฉันถอด (หรืออาจจะ reattach) รับ windows สี่ แต่เพียงหนึ่งภูมิภาคและฉันต้องทำC-a Sซ้ำอีกครั้ง?

ฉันจะแยกหน้าจอของฉันเมื่อติดตั้งใหม่ได้อย่างไร

คำตอบ:


15

จากหน้าจอคำถามที่พบบ่อย :

(คำถามโดยนัยคือ“ ฉันจะแยกหน้าต่างแยกออกจากกันได้อย่างไร”)

คำตอบสั้น ๆ ก็คือคุณไม่สามารถทำได้ คำตอบอีกต่อไปคือคุณสามารถปลอมมันได้

แยกเป็นคุณสมบัติของจอแสดงผลของคุณ กระบวนการจัดการเซสชันหน้าจอของคุณไม่รู้เกี่ยวกับพวกเขาจริงๆ มีเพียงกระบวนการเดียวที่แสดงเซสชันนั้น ดังนั้นเซสชันของหน้าจอจะไม่สามารถจดจำการแยกได้เนื่องจากไม่ทราบเกี่ยวกับพวกเขาและเมื่อคุณแยกออกแล้วกระบวนการที่ได้ทราบเกี่ยวกับพวกเขาได้ออกไปแล้ว

แฮ็คคือการใช้หน้าจอที่ซ้อนกัน เริ่มหนึ่งเซสชันและให้ลำดับ escape บางอย่างที่คุณจะไม่ใช้มาก (หรือเพียงแค่ปิดการใช้งานอักขระ escape ทั้งหมด) ผูกลำดับกุญแจแยกตามปกติของคุณไปที่เซสชั่นหน้าจอนี้ ตอนนี้เริ่มหรือแนบไปกับเซสชั่นหน้าจอหลักของคุณ งานทั้งหมดของคุณจะเสร็จสิ้นในเซสชันภายในและคุณสามารถแยกการแสดงผลของคุณ อย่างไรก็ตามเมื่อคุณแยกออกจะเป็นเซสชันด้านนอกที่แยกออกดังนั้นการแยกของคุณในเซสชันด้านในจะถูกรักษาไว้

สมมติว่าคุณใช้อักขระเลี่ยงเริ่มต้น Ca หน้าจอสำรองของคุณควรมี:

escape ""
bindkey ^ad detach

1
หลังจากใช้เวลาหนึ่งหรือสองปีที่ผ่านมาในการกำหนดค่าและใช้เซสชันหน้าจอซ้อนกันอย่างหนักฉันขอแนะนำ เมื่อเวลาผ่านไปความเจ็บปวดจากความซับซ้อนที่เพิ่มขึ้นจะลดลงในขณะที่ประโยชน์ของการตั้งค่าที่ยืดหยุ่นมากขึ้นจะเพิ่มขึ้น
funroll

13
คุณสมบัติใหม่คือlayoutยกเลิกคำตอบนี้!
Kadir

ดูsuperuser.com/a/516822/113250สำหรับคุณลักษณะโครงร่างในตัว "ใหม่"
Thiago Figueiro

67

ฉันพบว่าหากคุณมีการตั้งค่าหน้าต่างบางส่วนแล้วและคุณต้องการบันทึกพวกเขาคุณสามารถทำได้:

Ctrl-a
:
layout save default

จากนั้นเมื่อคุณแยกออกและเชื่อมต่อกับเซสชั่นอีกครั้งรูปแบบควรจะเรียกคืน

ใช้งานได้กับหน้าจอเวอร์ชั่น 4.00.03jw4 (FAU) 2 พฤษภาคม -06 (Ubuntu 12.04 และ 12.10)

นอกจากนี้คุณอาจต้องการสร้างเซสชัน deamon เช่น:

$> screen -dmSU mysession

จากนั้นให้พร้อมใช้งานเสมอโดยโทร:

$> screen -r mysession

5
ทางออกที่ดีกว่ามาก นี่ควรเป็นคำตอบที่ยอมรับได้ (ฉันรู้ว่าเพราะเหตุใดฉันจึงเลื่อน XD ลงไปเสมอ)
BrainStone

1
น่าเสียดายที่ดูเหมือนว่าเวอร์ชั่นปัจจุบันของ redhat screen 4.00.03 (FAU) 23-Oct-06จะไม่มีฟีเจอร์นี้ แต่มันควร!
David Dombrowsky

นี่คือคำตอบที่ดี .screenrcแต่มีคำตอบที่ดียิ่งขึ้นด้านล่างซึ่งจะบันทึกรูปแบบทุกครั้งที่ใช้
โหวตขึ้นโหวต

14

ในเวอร์ชั่นคอมไพล์layoutแนะนำคุณสมบัติใหม่

จากหน้าจอ (1):

เลย์เอาต์ใหม่ [ชื่อ]

สร้างเลย์เอาต์ใหม่ หน้าจอจะเปลี่ยนเป็นหนึ่งภูมิภาคทั้งหมดและเปลี่ยนเป็นหน้าต่างว่าง จากที่นี่คุณสร้างภูมิภาคและหน้าต่างที่แสดงตามที่คุณต้องการ เลย์เอาต์ใหม่จะถูกกำหนดหมายเลขด้วยจำนวนเต็มที่น้อยที่สุดซึ่งเริ่มต้นด้วยศูนย์ คุณสามารถเลือกให้ชื่อเรื่องกับเค้าโครงใหม่ของคุณ มิฉะนั้นจะมีชื่อเริ่มต้นเป็น "เค้าโครง" คุณสามารถเปลี่ยนชื่อได้ในภายหลังโดยใช้ชื่อเค้าโครงคำสั่ง

แม้ว่าคุณจะแยกเซสชั่นหน้าจอออกเค้าโครงก็ยังจำได้ว่าพื้นที่ถูกแบ่ง

ตัวอย่างเช่นหน้าจอเริ่มต้นด้วยการติดตามการกำหนดค่า

layout new
split
split -v
screen 0
focus next
screen 1
focus bottom
screen 2
detach

และติดตั้งเซสชันนี้อีกครั้งคุณจะสามารถกลับมาใช้เค้าโครง (เลือกล่าสุด) ซึ่งมีพื้นที่แยก 3 ส่วน


ใครรู้ว่าสิ่งที่ส่งจะต้องได้รับนี้ (ฉันโง่พอที่จะใช้แพทช์ แต่ฉันจะไม่เรียกใช้รหัสลำต้น (มีกรรมไม่ดี: P))
borrel


6

ดูเหมือนว่าtmuxจะทำเช่นนั้น นี่คือโครงการมัลติเพล็กเซอร์ใหม่ที่ได้รับแรงบันดาลใจจากหน้าจอ แต่เขียนจากศูนย์และภายใต้ใบอนุญาต BSD

(ขออภัยถ้าภาษาอังกฤษของฉันไม่สะดวกที่จะอ่าน: - °)


-1

ฉันเพิ่งอ่านชายทั้งหน้าจอเมื่อเร็ว ๆ นี้และไม่มีวิธีการทั่วไปที่จะทำได้หากหน้าจอไม่สามารถจดจำได้โดยอัตโนมัติ

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