Di chuyển các cửa sổ giữa các phiên màn hình GNU


11

Có cách nào để di chuyển các cửa sổ giữa các phiên màn hình khác nhau không?

Ví dụ: giả sử tôi có kịch bản này:

screen -S screen1
vim *.cpp
C-a d
screen -S screen2

Có cách nào để chuyển shell của tôi chứa phiên vim của tôi từ screen1 sang screen2 không?


1
Tôi không nghĩ vậy, nhưng tôi không phải là một bậc thầy về màn hình . câu hỏi thú vị, +1.
quack quixote

2
đã tìm thấy một cuộc thảo luận trên danh sách gửi thư trên màn hình --lists.gnu.org/archive/html/screen-users/2008-04/msg00009.html - hiện tại không thể thực hiện được và một 'cơn ác mộng'.
William Casarin

Câu trả lời:


4

Bạn có thể sử dụng mã số để di chuyển một quá trình giữa các ttys. Để di chuyển quá trình với PID chạy trong cửa sổ màn hình đích:

$ injcode -m retty PID

Tuy nhiên, khi bạn đóng phiên Màn hình chính, các tiến trình đã di chuyển cũng sẽ chấm dứt.

Chỉnh sửa: Tôi đã sai, nó hoạt động. Tất cả mọi thứ được mô tả ở đây . Giả sử bạn muốn di chuyển "htop" và chỉ có một phiên bản đang chạy:

$ injcode -m retty $(pgrep htop)
$ pkill -SIGSTOP htop
$ pkill -SIGCONT htop

sau đó vào loại vỏ trước:

$ disown
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.