Cách giữ cửa sổ tách ra sau khi tách / gắn lại màn hình GNU


35

Tôi sử dụng màn hình trong một máy chủ Ubuntu.

Tôi có màn hình được chia thành bốn vùng, mỗi vùng hiển thị một cửa sổ khác nhau.

Vấn đề là khi tôi tách ra (hoặc có thể reattach) có được bốn cửa sổ nhưng chỉ có một khu vực và tôi phải làm lại C-a Stất cả?

Làm thế nào tôi có thể giữ cho màn hình của tôi bị chia tách khi gắn lại?

Câu trả lời:


15

Từ màn hình FAQ :

(Câu hỏi ngụ ý là, Làm thế nào để tôi giữ các cửa sổ bị chia tách của mình trên một tách?

Câu trả lời ngắn gọn là bạn không thể. Câu trả lời dài hơn là bạn có thể giả mạo nó.

Chia tách là một tài sản của màn hình của bạn. Quá trình quản lý phiên màn hình của bạn không thực sự biết về chúng; chỉ có quá trình duy nhất hiển thị phiên làm. Do đó, phiên màn hình không thể nhớ các phần tách vì nó không biết về chúng và khi bạn tách ra, quy trình đã biết về chúng đã thoát.

Việc hack là sử dụng các phiên màn hình lồng nhau. Bắt đầu một phiên và cung cấp cho nó một số chuỗi thoát mà bạn sẽ không sử dụng nhiều (hoặc chỉ vô hiệu hóa hoàn toàn ký tự thoát của nó). Liên kết trình tự khóa tách thông thường của bạn với phiên màn hình này. Bây giờ, bắt đầu hoặc đính kèm vào phiên màn hình chính của bạn. Tất cả công việc của bạn sẽ được thực hiện trong phiên bên trong và bạn có thể chia màn hình của mình. Tuy nhiên, khi bạn tách ra, đó sẽ là phiên bên ngoài tách ra, do đó phần tách của bạn trong phiên bên trong sẽ được giữ nguyên.

Giả sử bạn sử dụng ký tự thoát mặc định, Ca, screenrc thay thế của bạn sẽ chứa:

escape ""
bindkey ^ad detach

1
Đã dành một hoặc hai năm qua để cấu hình và sử dụng nhiều phiên màn hình lồng nhau, tôi khuyên bạn nên dùng nó. Theo thời gian, nỗi đau của sự phức tạp thêm vào giảm đi, trong khi tính hữu ích của thiết lập linh hoạt hơn tăng lên.
funroll

13
Tính năng mới, nghĩa là layout, làm mất hiệu lực câu trả lời này!
Kadir

Xem superuser.com/a/516822/113250 để biết tính năng bố trí tích hợp "mới"
Thiago Figueiro

67

Tôi thấy rằng nếu bạn đã thiết lập một số cửa sổ và bạn muốn lưu chúng, bạn có thể làm điều này:

Ctrl-a
:
layout save default

Sau đó, khi bạn tách ra và gắn lại vào phiên, bố cục sẽ được khôi phục.

Hoạt động với phiên bản màn hình 4,00.03jw4 (FAU) 2 tháng 5-2016 (Ubuntu 12.04 & 12.10)

Ngoài ra, bạn có thể muốn tạo một phiên deamon như vậy:

$> screen -dmSU mysession

và sau đó có sẵn nó bằng cách gọi:

$> screen -r mysession

5
Giải pháp tốt hơn nhiều. Đây phải là câu trả lời được chấp nhận. (Tôi biết lý do tại sao tôi luôn cuộn xuống XD)
BrainStone

1
Thật không may, có vẻ như phiên bản hiện tại trên redhat screen 4.00.03 (FAU) 23-Oct-06không có tính năng này. Nhưng nó nên!
David Dombrowsky

Đây là một câu trả lời tốt hơn, nhưng có một câu trả lời thậm chí còn tốt hơn dưới đây tự động lưu bố cục mỗi khi sử dụng .screenrc. Upvote câu trả lời đó
Mark Lakata

14

Trong phiên bản git, tính năng mới layoutđã được giới thiệu.

từ màn hình (1):

bố trí mới [tiêu đề]

Tạo một bố cục mới. Màn hình sẽ thay đổi thành một vùng và được chuyển sang cửa sổ trống. Từ đây, bạn xây dựng các vùng và cửa sổ mà chúng hiển thị như bạn mong muốn. Bố cục mới sẽ được đánh số với số nguyên có sẵn nhỏ nhất, bắt đầu bằng 0. Bạn có thể tùy ý đưa ra một tiêu đề cho bố cục mới của bạn. Nếu không, nó sẽ có một tiêu đề mặc định là "bố cục". Bạn luôn có thể thay đổi tiêu đề sau bằng cách sử dụng tiêu đề bố trí lệnh.

ngay cả khi bạn tách phiên màn hình, bố cục vẫn nhớ cách chia vùng.

ví dụ, màn hình bắt đầu với cấu hình theo sau.

layout new
split
split -v
screen 0
focus next
screen 1
focus bottom
screen 2
detach

Và gắn lại phiên này, bạn sẽ có thể quay lại bố cục (được chọn cuối cùng) có 3 vùng được chia.


bất cứ ai cũng biết những bài nộp nào được yêu cầu để có được điều này (tôi không đủ để áp dụng các bản vá nhưng tôi sẽ không bao giờ chạy mã thân (có nghiệp xấu: P))
borrel

7

Chỉ cần thêm dòng này vào ~/.screenrc:

# This line makes Detach and Re-attach without losing the regions/windows layout
layout save default

6

Có vẻ như tmux không. Đây là một dự án ghép kênh mới, lấy cảm hứng từ màn hình, nhưng được mã hóa từ đầu và theo giấy phép BSD.

(Xin lỗi nếu tiếng Anh của tôi không thoải mái để đọc: - °)


-1

Gần đây tôi đã đọc toàn bộ người đàn ông màn hình và không có cách nào phổ biến để làm điều đó nếu bản thân màn hình không thể nhớ nó.

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.