Làm cách nào tôi có thể sao chép văn bản từ xterm (Awesome, Debian, VirtualBox)?


15

Tôi đã chạy cài đặt Debian tối thiểu bên trong một phiên bản VirtualBox, cài đặt X11 và trình quản lý cửa sổ Awesome theo cách thủ công (chưa có cấu hình tùy chỉnh nào) và cũng cài đặt các bổ sung VirtualBox (và bật bảng chia sẻ trong cài đặt). Tuy nhiên, văn bản dán sao chép từ thiết bị đầu cuối xterm dường như vẫn không hoạt động: CTRL+ Cđược gửi dưới dạng tín hiệu đến thiết bị đầu cuối và Shift+ Insertchèn văn bản mà tôi đã chọn (có thể có nghĩa là nó đã được sao chép vào bộ đệm nào đó), nhưng nó vẫn không có sẵn từ hệ điều hành máy chủ.

Câu trả lời:


19

X11 sử dụng hai bộ đệm: PRIMARYCLIPBOARD. Để sao chép / dán vào CLIPBOARDbộ đệm, bạn có thể thường xuyên sử dụng CTRL-CCTRL-V. Bạn có thể chèn vào PRIMARYbộ đệm bằng cách chọn một văn bản và dán từ nó bằng cách nhấn nút chuột giữa.

Nếu bạn muốn sử dụng CLIPBOARDbộ đệm, hãy đặt phần này vào ~/.Xresourcestệp của bạn và sử dụng Ctrl+ Shift+ CCtrl+ Shift+ Vđể sao chép / dán từ / vào CLIPBOARDbộ đệm trong xterm:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \n\
                 Ctrl Shift <Key>C:    copy-selection(CLIPBOARD)

Bạn cần chạy xrdb ~/.Xresourcessau khi đưa nó vào tập tin.


2
Sử dụng xrdb ~/.Xresourcessẽ ghi đè lên cấu hình mặc định của bạn. thay vì sử dụngxrdb -merge ~/.Xresources
xaedes

14

Không cần thiết phải sửa đổi tài nguyên dịch xterm để sao chép dữ liệu vào / từ Firefox, trừ khi bạn thích sử dụng bàn phím để trợ giúp cho quá trình này.

Từ năm 2006 xterm có một tính năng selectToClipboardcho phép bạn chuyển đổi giữa PRIMARYlựa chọn (tiêu chuẩn) và CLIPBOARD(Firefox, v.v.).

Bởi vì một số chương trình sử dụng lựa chọn chính và một số chương trình thì không, đây là mục menu trong xterm ( controlmiddle-mouse):

hiển thị selectToClipboard trong mục nhập menu

Điều chỉnh đề xuất cho các ký tự điều khiển như các ứng dụng Gnome cho phép bạn sử dụng bàn phím và đồng thời cho phép menu chuyển đổi giữa hai loại lựa chọn:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

mặc dù việc thêm shiftInsertcó thể gần với mục đích ban đầu hơn:

xterm*VT100.Translations: #override \
                 Shift <Key>Insert:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

Một đồng bằng controlCthường được gán cho một tín hiệu :INTR

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Đọc thêm:


4
  1. Mở xtermvà tô sáng văn bản bạn muốn sao chép.
  2. Chuyển đến ứng dụng mà bạn muốn dán và di con trỏ chuột lên trường bạn muốn dán.
  3. Nhấp vào nút cuộn trên chuột của bạn. (trên máy tính xách tay, điều này có thể được thực hiện bằng cách nhấn chuột trái và nhấp chuột phải cùng một lúc)

Khi bạn tô sáng văn bản, nó sao chép văn bản vào bộ đệm chính của bạn. Hãy nhớ rằng nếu bạn làm nổi bật bất kỳ văn bản nào khác trước khi dán, văn bản đó sẽ thay thế nội dung trước đó trong bộ đệm chính.


1
Xin vui lòng, đọc kỹ câu hỏi. "Truy cập ứng dụng mà bạn muốn dán" - điều này cho thấy rằng bạn không nhận thấy rằng tôi cần phải dán nó vào hệ điều hành máy chủ.
Max Yankov

Xin lỗi tôi không có nút thứ ba trên chuột. sử dụng trackball ở đây
holms 23/218

2

Hóa ra, tôi đã không tính đến thực tế là X11 có hai bộ đệm: chínhclipboard . Văn bản của tôi từ xterm đã được sao chép vào bộ đệm chính, trong khi tôi cần nó trong bộ đệm clipboard.

Tôi đã có thể khắc phục sự cố bằng cách cài đặt parcellitegói, khởi chạy và định cấu hình để đồng bộ hóa hai bộ đệm.

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.