Làm cách nào để sao chép văn bản từ chương trình màn hình trực tuyến vào bộ nhớ tạm của tôi?


13

Tôi muốn sao chép một số văn bản từ màn hình vào clipboard của tôi. Tôi biết làm thế nào để vào chế độ sao chép và dán trong màn hình, nhưng tôi muốn văn bản đó đi vào bảng tạm của mình để tôi có thể dán nó trên trình duyệt, ví dụ.

Làm thế nào để tôi làm điều này? Cảm ơn!

Câu trả lời:


8

Trong hầu hết các chương trình, bạn sẽ chọn văn bản và nhấn Ctrl+ Cđể sao chép nó. Dán văn bản sẽ được thực hiện bằng cách nhấn Ctrl+ V. Trong chương trình giả lập thiết bị đầu cuối, Ctrl+ Ccó một ý nghĩa đặc biệt, nó làm gián đoạn (dừng) các chương trình theo mặc định.

Chương trình giả lập thiết bị đầu cuối của bạn có thể có các phím tắt khác được xác định. Ví dụ: Konsole và Gnome Terminal sử dụng Ctrl+ Shift+ Cđể sao chép văn bản đã chọn. Hoặc, chọn văn bản và sao chép nó bằng cách sử dụng tùy chọn Sao chép trong menu Chỉnh sửa hoặc menu ngữ cảnh.

Nếu đầu ra của chương trình của bạn lớn, bạn có thể muốn bật bộ đệm cuộn của screen. Điều đó có thể được thực hiện bằng cách thêm dòng dưới đây vào ~/.screenrctệp:

termcapinfo xterm ti@:te@

2
Điều này sẽ không hoạt động nếu văn bản bạn đang cố sao chép từ Màn hình GNU vượt quá bất động sản trên màn hình thực tế
Marco Ceppi

Tôi thường cuộn lại sau đó (hoặc chỉ tiếp tục cuộn trong khi chọn).
Lekensteyn

Bạn có nghĩa là trong khi ở chế độ Sao chép trong màn hình?
Marco Ceppi

3
Không, khi chọn văn bản trong chế độ thông thường bằng chuột. Để làm việc đó, bạn cần đặt termcapinfo xterm ti@:te@tệp ~ / .screenrc của mình để cho phép cuộn ngược lại. Nếu bạn không có .screenrc, hãy lấy screenrc của tôi từ lekensteyn.nl/files/screenrc
Lekensteyn

Ah, vậy là xong rồi, cảm ơn bạn đã làm rõ. Bạn có thể muốn thêm nó vào câu trả lời của bạn.
Marco Ceppi

10

Để triển khai thô và bẩn, hãy cài đặt gói xsel, cho phép tương tác dòng lệnh với X clipboard, sau đó đặt các dòng này vào~/.screenrc

bind > eval writebuf "exec sh -c 'xsel -nbi </tmp/screen-exchange'"
bind y eval "exec sh -c 'xsel -bo >/tmp/screen-exchange'"

sau đó khởi động lại screen.

Bây giờ, khi bạn chọn một cái gì đó trong screenchế độ sao chép / cuộn và ghi bộ đệm dán vào một tệp bằng C- a >, bạn có thể di chuyển đến trình duyệt và dán nội dung của bảng tạm như bình thường (ví dụ với Ctrl- V).

Để ngược lại, sao chép một cái gì đó trong trình duyệt của bạn bằng Ctrl- C, sau đó đi đến screenvà đọc bảng tạm bằng lệnh mới C- a y, sau đó đọc tệp trao đổi màn hình vào bộ đệm dán với C- a <, cuối cùng dán bất cứ nơi nào bạn muốn với C- a ].

Để làm việc này, biến DISPLAYphải được đặt chính xác và bạn phải có quyền truy cập vào máy chủ X. Đây không phải là vấn đề khi bạn ở trên một thiết bị đầu cuối đang chạy trên cùng một máy chủ X, nhưng nếu bạn chạy screentrong một thiết bị ảo, ví dụ: tty1, thì bạn có thể cần phải chạy xhost +ở phía X và export DISPLAY=:0hoặc tương tự trên thiết bị đầu cuối, trước khi bắt đầu screen.

Như bạn thấy, nó không đơn giản và không phải là bằng chứng đạn, nhưng tôi hy vọng nó có thể giúp ích.

Câu trả lời này được lấy cảm hứng một phần từ việc đồng bộ hóa bộ đệm dán của màn hình GNU và lựa chọn X


Các xhost +là lời khuyên khủng khiếp. Nó cho phép bất cứ ai trên internet chiếm quyền điều khiển phiên X của bạn, chụp phím, chụp ảnh màn hình, v.v. Không bao giờ làm điều đó. Có những cách chính xác để làm điều tương tự; miễn là bạn trên cùng một máy chủ và sử dụng cùng một homedir, chỉ cần cài đặt $DISPLAYsẽ hoạt động.
R .. GitHub DỪNG GIÚP ICE

0

Chỉ cần sử dụng thao tác sao chép trong ứng dụng thiết bị đầu cuối của bạn. Nếu bạn đang sử dụng gnome-terminal chẳng hạn, chỉ cần chọn kiểm tra và sử dụng menu ngữ cảnh -> sao chép.


1
Điều gì xảy ra nếu ứng dụng đầu cuối không có menu ngữ cảnh? Điều gì nếu nó không có một hoạt động sao chép? Tôi đã không downvote vì tôi không tin rằng nó xứng đáng nhiều hơn một.
djeikyb
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.