가장 최근에 분리된 세션에 screen -R을 연결하려면 어떻게 해야 합니까?

가장 최근에 분리된 세션에 screen -R을 연결하려면 어떻게 해야 합니까?

나는 그것을 사용하고 있다화면Debian lenny에서는 이 옵션을 사용하고 싶습니다 -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

을 사용해 보세요 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화면에 라벨을 붙이는 것입니다. 그런 다음 목록을 관리할 수 없게 되면 각 화면에서 발생한 일을 기억할 필요 없이 해당 레이블을 사용하여 다시 연결할 수 있습니다.

예(vim 및 컬 시작 화면):

$ 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

답변2

저는 gnome-terminal에서 screen -R을 사용하고 말씀하신 대로 2개의 세션이 동시에 실행 중이면 gnome-terminal이 즉시 종료됩니다.

나는 실행하여 문제를 해결했습니다.

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

이는 예상대로 작동합니다.

관련 정보