วิธีที่จะทำให้หน้าจอ - R แนบกับเซสชั่นเดี่ยวที่อายุน้อยที่สุด?


17

ฉันกำลังใช้หน้าจอบนเดเบียนเลนนี่และฉันต้องการใช้-Rตัวเลือก จากman screen:

   -R   attempts  to  resume  the  youngest  (in  terms  of creation time)
        detached screen session it finds.  If successful, all  other  com‐
        mand-line  options  are  ignored.   If no detached session exists,
        starts a new session using the specified options, just  as  if  -R
        had  not been specified.

อย่างไรก็ตามเมื่อฉันเรียกใช้screen -Rมันไม่ได้แนบกับเซสชันเดี่ยวที่อายุน้อยที่สุด มันบ่นว่ามี "หน้าจอที่เหมาะสมหลายจอ" และฉันต้องเลือกหนึ่งในนั้น

ฉันพลาดอะไรไปรึเปล่า? ฉันจะทำให้งานนี้เป็นโฆษณาได้อย่างไร


1
Note: Time-based session selection is a Debian addition.==> คุณใช้ค่าเริ่มต้นscreenจาก Debian หรือคุณรวบรวมด้วยตัวเอง?
JanC

@Jan Claeys: ฉันลองไบนารี Debian lenny เป็นครั้งแรกจากนั้นสร้างหน้าจอจากแหล่งล่าสุดที่ git: //git.savannah.gnu.org/screen.git พฤติกรรมก็เหมือนกัน
Wim Coenen

คำตอบ:


19

ลองใช้screen -RRดู

ตัวอย่าง:

$ screen -ls
There are screens on:
    5958.pts-3.sys01    (08/26/2010 11:40:43 PM)    (Detached)
    5850.pts-1.sys01    (08/26/2010 11:40:35 PM)    (Detached)
2 Sockets in /var/run/screen/S-sdn.

โปรดทราบว่าหน้าจอ 5958 นั้นอายุน้อยที่สุด ใช้screen -RRเชื่อมต่อกับหน้าจอ 5958. ตัวเลือกค่อนข้างอธิบายเพิ่มเติมในเอกสารประกอบสำหรับ-RR-d -RR

   -d -RR  Reattach a session and if necessary detach or  create  it.  Use
           the first session if more than one session is available.

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

ตัวอย่าง (เปิดหน้าจอสำหรับเสียงเรียกเข้าและ curl):

$ screen -dm -S curl
$ screen -dm -S vim 
$ screen -list

There are screens on:  
    11292.vim       (08/27/2010 12:02:53 AM)        (Detached)
    11273.curl      (08/27/2010 12:01:42 AM)        (Detached)

หมายเหตุ: -dmตัวเลือกนี้ใช้เพื่อเริ่มหน้าจอที่แยกออก

curlและจากนั้นในวันต่อมาคุณสามารถเชื่อมต่อโดยใช้แท็ก

# screen -R curl

ไม่screen -D -RRดีกว่าscreen -d -RRเหรอ?
niutech

เพื่อประหยัดเวลาบางอย่างเกี่ยวกับการเปลี่ยนแปลงที่สำคัญที่screen -rrทำงานมากเกินไป
Fmstrat

0

ฉันใช้หน้าจอ -R ใน gnome-terminal และอย่างที่คุณบอกถ้า 2 เซสชั่นทำงานในเวลาเดียวกันดังนั้น gnome-terminal จะหยุดทำงานทันที

ฉันแก้ไขมันด้วยการวิ่ง

sh -c "screen -R || screen -D -RR"

ใช้งานได้ตามที่คุณคาดหวัง


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