Có cách nào để lưu những gì được in trên màn hình bằng màn hình gnu không?


9

Tôi thích lưu mọi thứ tôi làm trên dòng lệnh, ví dụ như khi tôi nâng cấp thứ gì đó và muốn đọc lại cách nâng cấp đã đi, v.v.

Thông thường với Mac OSX và Terminal, bạn có thể cuộn lại bao nhiêu tùy ý và lưu với Cmd-S. Nhưng khi tôi sử dụng SSH trên màn hình gnu, thì tôi không thể cuộn lại trực tiếp từ thiết bị đầu cuối.

Làm cách nào tôi có thể lưu vào đĩa mọi thứ xảy ra trong phiên màn hình? Có thể theo mặc định (mỗi phiên sẽ tự động tạo một tệp vào đĩa ...)

cảm ơn!

Câu trả lời:


7

Có một tính năng đăng nhập screen. Bắt đầu nó khi bạn bắt đầu screenbằng cách làm screen -L(hoặc từ bên trong screen). Hoặc, cũng từ bên trong screen, bạn có thể nhấn Ctrl- a : H.

Nếu bạn muốn đăng nhập như mặc định, hãy thêm dòng sau vào ~/.screenrctệp của bạn :

deflog on

Bạn có thể muốn đặt tên tệp bằng cách sử dụng một cái gì đó như:

logfile /tmp/screenlog.%n

1
Người ta có thể không nên lưu trữ nó trên / tmp, vì nó thường được làm sạch khi khởi động lại (ví dụ vì mất điện).
tối đa

@maxelost: Đó là điều cần xem xét. Đó chỉ là một ví dụ. Vấn đề là bao gồm một thư mục tuyệt đối vì hành vi mặc định là tạo tệp nhật ký trong thư mục hiện tại. Ngoài ra, screencác phiên (thậm chí tách ra) không tồn tại khi khởi động lại.
Tạm dừng cho đến khi có thông báo mới.


2

Cách 1: Nhìn vào lệnh script. "kịch bản người đàn ông"

"Script tạo một bản thảo của tất cả mọi thứ được in trên thiết bị đầu cuối của bạn. Nó rất hữu ích cho những sinh viên cần một bản ghi cứng của phiên tương tác làm bằng chứng của bài tập, vì tệp bản thảo có thể được in ra sau bằng lpr"

Về cơ bản gõ "tập lệnh" (không có dấu ngoặc kép) - thực hiện công việc của bạn và nhập thoát một lần để kết thúc phiên.

Tùy chọn 2: Sử dụng chế độ "bản cứng" của màn hình. 'Crtl-a' rồi 'h' Điều này sẽ lưu phiên hiện tại vào một tệp.

lưu ý: GNU Screen không có khả năng cuộn. Sử dụng 'crtl-]' (dấu ngoặc vuông bên phải) để vào chế độ sao chép, sau đó 'ctrl-b' và 'ctrl-f' để di chuyển p và xuống một trang tại một thời điểm.


1

Bạn sẽ muốn sử dụng thao tác 'log', thường bị ràng buộc Ctrl-a H. Điều này sẽ mở một tập tin mới gọi là screenlog. N trong đó N là số cửa sổ. Nếu tệp tồn tại, thì đầu ra được gắn vào tệp. Tất cả đầu ra trong cửa sổ đó được ghi vào màn hình. Tập tin N cho đến khi bạn hủy kích hoạt bằng cách nhấn Ctrl-a Hlại. Bạn cũng có thể có được chức năng này với Ctrl-a :log. Bạn có thể thay đổi tên bằng cách sử dụng logfile {filename}lệnh. Tệp được đặt trong thư mục khởi động màn hình đầu tiên, nhưng có thể thay đổi bằng lệnh logfile hoặc bằng chdir [{directory}].

Lưu ý rằng điều này không giống như bản cứng hoặc bộ đệm cuộn. Đây là chức năng tương tự như chương trình script (1), nhưng được gắn với một cửa sổ duy nhất và không gọi một chương trình mới.

Nếu bạn muốn lưu toàn bộ nội dung của bộ đệm cuộn, hãy sử dụng Ctrl-a ] g <space> G <space> Ctrl-a :writebuf Điều này lưu bộ đệm cuộn vào tệp / tmp / trao đổi màn hình. nếu bạn chỉ muốn lưu một phần, sau đó thay đổi 'g' và 'G' thành các phím di chuyển khác.

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.