2013-08-30 24 views
31

Załóżmy, że mam wiele ekranów otwartych i chciałbym powrócić do konkretnej sesji ekranowej za pomocą 'screen -r' to jest to, co dostaję po uruchomieniu ekranu -r There jest kilka odpowiednich ekranów:Jak wznowić ekran (ekran GNU)

12670.pts-8.b-dev03 (Detached) 
23662.pts-9.b-dev03 (Detached) 
502.pts-1.b-dev03 (Attached) 
19972.pts-1.b-dev03 (Detached) 
9414.pts-24.b-dev03 (Attached) 
16607.pts-1.p-dev03 (Detached) 
3015.pts-2.b-dev03 (Detached) 
14313.pts-18.b-dev03 (Attached) 
Type "screen [-d] -r [pid.]tty.host" to resume one of them. 

Jak wznowić jedno z nich, powiedzmy ostatni, który jest załączony. Próbowałem -

screen -r 14313.pts-18.b-dev03 
There is a screen on: 
14313.pts-18.b-dev03 (Attached) 
There is no screen to be resumed matching 14313.pts-18.b-dev03. 

Odpowiedz

41

Brzmienie jest trochę pecha - to dzieje się dlatego, że nadal jest screen sesja dołączone do 14313.pts-18.b-dev03 i nie można po prostu „resume” non-wolnostojący sesji. Trzeba użyć opcji oprócz -x do dołączania do tej sesji z drugim screen instancji (lub, alternatywnie, odłącz istniejącą sesję pierwszy):

-x

Attach to a not detached screen session. (Multi display mode). 
$ screen -xr 14313 

Jeśli zamiast tego chcesz odłączyć pierwszą sesję:

-d -r

Reattach a session and if necessary detach it first. 
$ screen -dr 14313 
+0

Co się stanie z moim poprzednim instancji nie jednorodzinnym ekranie? Naprawdę chcę, aby poprzednia sesja została wznowiona, tak, żebym mógł zobaczyć postępy –

+0

W trybie wielu monitorów obie sesje są aktywne i mają dostęp do zapisu (dzięki czemu możesz wchodzić w interakcje z oboma instancjami i widzieć ouput we wszystkich połączonych instancjach), chyba że robisz sesja tylko do odczytu (wtedy druga instancja może tylko oglądać). Możesz więc normalnie kontynuować operację '-xr', a jeśli odłączysz się z drugą instancją, pierwsza instancja pozostanie w tym miejscu i pozostanie przywiązana. Ale możesz odłączyć pierwszą sesję, jeśli chcesz, używając '-dr' (zobacz stronę podręcznika). –