Làm cách nào để buộc tách màn hình khỏi một phiên SSH khác?


158

Tôi đã có màn hình chạy bên trong một phiên SSH. Thiết bị đầu cuối bị đóng băng. Sau khi khởi động lại Terminal, phiên Màn hình đó vẫn cho rằng nó được đính kèm. Có thể nó là. Có lẽ tôi không thực sự biết điều đó có nghĩa là gì.

Tôi muốn đính kèm vào phiên Màn hình đó từ thông tin đăng nhập SSH mới. Tôi không muốn giết phiên Màn hình đó vì những điều quan trọng đang diễn ra ở đó. :)

Các tùy chọn tôi nghĩ rằng tôi có (không có cách nào tôi biết cách giải quyết):

  • Làm cách nào để tách phiên màn hình đó?
  • Làm cách nào để giết phiên SSH mà phiên Màn hình được đính kèm?

Câu trả lời:


251

Như Jose trả lời, screen -d -rnên làm mánh khóe. Đây là sự kết hợp của hai lệnh, như được lấy từ trang man.

screen -dtách phiên phiên đã chạy và screen -rgắn lại phiên hiện có. Bằng cách chạy screen -d -r, bạn buộc màn hình tách nó ra và sau đó tiếp tục phiên.

Nếu bạn sử dụng vốn -D -RR, tôi trích dẫn trang người đàn ông vì nó quá tốt để vượt qua.

Đính kèm ở đây và bây giờ. Dù điều đó có nghĩa là gì, chỉ cần làm điều đó.

Lưu ý: Luôn luôn là một ý tưởng tốt để kiểm tra trạng thái của các phiên của bạn bằng "danh sách màn hình".


3
Bạn cũng có thể làm screen -xcái nào nhanh hơn để gõ, nhưng không hoàn toàn tương đương. Nó sẽ đính kèm phiên lần thứ hai mà không tách ra trước, dẫn đến chế độ đa màn hình.
jlh

10
nhớ "Bác sĩ màn hình"; screen -Dr
dùng5359531


6

Câu trả lời ngắn

  1. Reattach mà không đẩy người khác: screen -x
  2. Nhận danh sách màn hình : ^A *, chọn một màn hình để ngắt kết nối, nhấnd


Giải thích câu trả lời

Bối cảnh: Khi tôi đang tìm kiếm giải pháp có cùng mô tả vấn đề, tôi đã luôn tìm đến câu trả lời này. Tôi muốn cung cấp giải pháp hợp lý hơn. (Ví dụ: màn hình đính kèm khác có kích thước khác và tôi không thể buộc thay đổi kích thước màn hình trong thiết bị đầu cuối của mình.)

Lưu ý: PREFIX thường là ^A=ctrl+a

Lưu ý: các màn hình cũng có thể được gọi là:

  • "giao diện người dùng" (trong athướng dẫn sử dụng trong màn hình)
  • "client" (từ vựng tmux có chức năng này detach-client)
  • "thiết bị đầu cuối" (khi chúng tôi gọi cửa sổ trong giao diện người dùng của chúng tôi) / tùy thuộc vào

1. Gắn lại một phiên :screen -x

-xđính kèm vào một phiên màn hình không tách rời mà không tách ra

2. Danh sách hiển thị của phiên này:PREFIX *

Đây là ràng buộc khóa mặc định cho : PREFIX :displays. Thực hiện nó trong màn hình, xác định các khác hiển thị chúng tôi muốn ngắt kết nối (ví dụ như kích thước nhỏ hơn). ( Màn hình hiện tại của bạn được hiển thị màu sáng hơn / đậm khi không được chọn ).

term-type   size         user interface           window       Perms
---------- ------- ---------- ----------------- ----------     -----
 screen     240x60         you@/dev/pts/2      nb  0(zsh)        rwx
 screen      78x40         you@/dev/pts/0      nb  0(zsh)        rwx

Sử dụng mũi tên , chọn màn hình được nhắm mục tiêu , nhấn d Nếu không có gì xảy ra, bạn đã cố tách màn hình của chính mình và màn hình sẽ không tách ra. Nếu đó là một cái khác, trong vòng một hoặc hai giây, mục nhập sẽ biến mất.

Nhấn ENTERđể thoát khỏi danh sách.

Tùy chọn: để làm cho nội dung vừa với màn hình của bạn, hãy chỉnh lại : PREFIX F(chữ hoa F)

Trích từ trang người đàn ông của màn hình:

màn hình

Hiển thị danh sách dạng bảng của tất cả các giao diện người dùng hiện được kết nối (hiển thị). Điều này là hữu ích nhất cho các phiên nhiều người dùng. Các phím sau có thể được sử dụng trong danh sách hiển thị:

  • mouseclickDi chuyển đến dòng đã chọn. Có sẵn khi "mousetrack" được đặt thành bật.
  • space Làm mới danh sách
  • d Tháo rời màn hình
  • D Bộ phận ngắt điện hiển thị
  • C-g, enterhoặc escapeThoát khỏi danh sách

-2

Hãy thử lệnh screen -d -r. Điều này làm việc cho tôi ..!


2
Lặp lại chấp nhận, câu trả lời 6 tuổi không phải là hữu ích
Jeb
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.