Làm cách nào để khôi phục phiên màn hình 'bị mất?


80

Bằng cách nào đó tôi đã xoay sở để đóng một cửa sổ màn hình mà không có màn hình 'nhận thấy' nó, vì vậy phiên vẫn được gắn cờ là attached. Điều này ngăn tôi gắn lại vào phiên này. Tôi có thể làm gì?

me@iupr-serv8:~$ screen -r
There are several suitable screens on:
    25028.pts-19.XXX-serv8  (01/05/2012 07:15:34 PM)    (Attached)
    24658.pts-19.XXX-serv8  (01/05/2012 07:11:38 PM)    (Detached)
    24509.pts-19.XXX-serv8  (01/05/2012 07:10:00 PM)    (Detached)
    18676.pts-5.XXX-serv8   (01/02/2012 06:55:33 PM)    (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
me@XXX-serv8:~$ screen -r 25028
There is a screen on:
    25028.pts-19.XXX-serv8  (01/05/2012 07:15:33 PM)    (Attached)
There is no screen to be resumed matching 25028.

[cập nhật]

Cuối cùng tôi phát hiện ra rằng phiên không bị mất, nhưng ID của phiên đầu tiên là 0. Phiên thứ hai có ID 1.

Câu trả lời:


108

Hãy thử tách nó ra trước với screen -d. Nếu điều đó không làm việc, bạn có thể thử, thứ tự tăng dần của trọng tâm ,

   -d|-D [pid.tty.host]
        does  not  start screen, but detaches the elsewhere running screen session. It has the
        same effect as typing "C-a d" from screen's controlling terminal. -D is the equivalent
        to  the  power  detach key.  If no session can be detached, this option is ignored. In
        combination with the -r/-R option more powerful effects can be achieved:

   -d -r   Reattach a session and if necessary detach it first.

   -d -R   Reattach a session and if necessary detach or even create it first.

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

   -D -r   Reattach a session. If necessary detach and logout remotely first.

   -D -R   Attach  here and now. In detail this means: If a session is running, then reattach.
           If necessary detach and logout remotely first.  If it was not running create it and
           notify the user. This is the author's favorite.

   -D -RR  Attach here and now. Whatever that means, just do it.

11
các -d -rtùy chọn cùng sẽ buộc đính kèm phiên đó.
Tim Kennedy

Tôi luôn sử dụng screen -xđể tôi có thể đính kèm từ nhiều vị trí cùng một lúc. Tất nhiên, nếu bạn vô tình đóng một cửa sổ, có vẻ như -d -rtốt hơn là giữ mọi thứ gọn gàng.
mpontillo

5
screen -r '1234.somescreensession'

Có một màn hình trên:

1234.somessc Greensession (Đính kèm)

Không có màn hình nào được nối lại phù hợp với 1234.somessc Greensession.

Đây là một cách đơn giản để lấy lại phiên màn hình đó.

screen -D -r '1234.somescreensession'

4

Tôi gặp vấn đề tương tự sau khi kết nối ssh của tôi bị đóng đột ngột với tin nhắn Write Failed: broken pipetrong khi tôi có một phiên màn hình kèm theo. Tuy nhiên, tôi không thể đặt phiên màn hình của mình để gắn lại bằng cách sử dụng bất kỳ lệnh nào ở trên. Lưu ý rằng tôi sử dụng phiên bản sau:

~> screen --version
Screen version 4.00.03 (FAU) 23-Oct-06

Rõ ràng, vẫn còn một trường hợp sshdchạy, khiến tôi không thể tách rời và gắn lại phiên. Sau khi xác định PIDví dụ thích hợp sshdvà sử dụng killnó, tôi có thể gắn lại với screen -r.


Chỉ để biết thông tin: Bạn chắc chắn sẽ tìm thấy nhiều hơn một sshdcon quỷ, một con sẽ tương ứng với thông tin đăng nhập hiện tại của bạn và một con khác thuộc screenphiên cũ (thực sự, có thể có nhiều con khác sshdchạy thuộc nhiều con khác screen).


Tôi đã có cùng một vấn đề cuộc gọi tốt
dianovich

3

Một số lần nhiều màn hình đang chạy trong nền.

Họ có thể được nối lại bằng cách:

screen -r [pid]

Để có được màn hình, trước tiên hãy chạy screen -R, sau đó bạn sẽ thấy tất cả các PID đang chạy của màn hình, sau đó tiếp tục screen -r [pid].

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.