Bagaimana saya bisa menyalin teks dari xterm (Keren, Debian, VirtualBox)?

15

Saya menjalankan instalasi minimal Debian di dalam instance VirtualBox, menginstal X11 dan Awesome window manager secara manual (tanpa konfigurasi kustom apa pun) dan menginstal penambahan VirtualBox juga (dan mengaktifkan clipboard bersama dalam pengaturan). Namun, copy-paste teks dari terminal xterm tampaknya masih tidak berfungsi: CTRL+ Cdikirim sebagai sinyal ke terminal, dan Shift+ Insertmemasukkan teks yang telah saya pilih (yang mungkin berarti bahwa ia dapat disalin ke beberapa buffer entah bagaimana), tetapi masih tidak tersedia dari sistem operasi host.

Max Yankov
sumber

Jawaban:

20

X11 menggunakan dua buffer: PRIMARYdan CLIPBOARD. Untuk menyalin / menempel ke CLIPBOARDbuffer Anda sering dapat menggunakan CTRL-Cdan CTRL-V. Anda dapat menyisipkan ke PRIMARYbuffer dengan memilih teks dan menempelkannya dengan menekan tombol tengah mouse.

Jika Anda ingin menggunakan CLIPBOARDbuffer, letakkan ini di ~/.Xresourcesfile Anda dan gunakan Ctrl+ Shift+ Cdan Ctrl+ Shift+ Vuntuk menyalin / menempel dari / ke CLIPBOARDbuffer di xterm:

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

Anda harus menjalankannya xrdb ~/.Xresourcessetelah memasukkannya ke dalam file.

Mikhal
sumber
2
Menggunakan xrdb ~/.Xresourcessecara destruktif akan menimpa konfigurasi default Anda. alih-alih gunakanxrdb -merge ~/.Xresources
xaedes
14

Tidak perlu memodifikasi sumber daya terjemahan xterm untuk menyalin data ke / dari Firefox, kecuali Anda lebih suka menggunakan keyboard untuk membantu prosesnya.

Sejak 2006 xterm memiliki fitur selectToClipboardyang memungkinkan Anda beralih antara PRIMARYpemilihan (standar) dan CLIPBOARD(Firefox, dll).

Karena beberapa program memang menggunakan pemilihan utama, dan beberapa tidak, itu adalah entri menu di xterm ( controlmiddle-mouse):

tampilkan selectToClipboard di menu-entry

Mengadaptasi saran untuk karakter kontrol seperti aplikasi GNOME memungkinkan Anda menggunakan keyboard, dan pada saat yang sama membiarkan menu beralih di antara dua jenis pilihan:

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

meskipun menambahkan shiftInsertmungkin lebih dekat dengan maksud aslinya:

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)

Plain controlCbiasanya ditugaskan untuk sinyal :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

Bacaan lebih lanjut:

Thomas Dickey
sumber
4
  1. Buka xtermdan sorot teks yang ingin Anda salin.
  2. Buka aplikasi tempat Anda ingin menempel dan mengarahkan kursor mouse ke bidang yang ingin Anda tempel.
  3. Klik tombol gulir di mouse Anda. (pada laptop ini dapat dilakukan dengan menekan klik kiri dan kanan pada saat yang bersamaan)

Saat Anda menyorot teks, itu menyalin teks ke buffer utama Anda. Ingatlah bahwa jika Anda menyorot teks lain sebelum menempel, teks itu kemudian akan menggantikan konten sebelumnya di buffer utama.

Peschke
sumber
1
Tolong, baca pertanyaan dengan seksama. "Buka aplikasi tempat Anda ingin menempel" - ini menunjukkan bahwa Anda tidak memperhatikan bahwa saya perlu menempelkannya ke OS host.
Max Yankov
Maaf saya tidak memiliki tombol ketiga pada mouse. menggunakan trackball di sini
holms
2

Ternyata, saya tidak menjelaskan fakta bahwa X11 memiliki dua buffer: primer dan clipboard . Teks saya dari xterm disalin ke buffer utama, sementara saya membutuhkannya di buffer clipboard.

Saya dapat memperbaiki masalah dengan menginstal parcellitepaket, meluncurkannya dan mengonfigurasinya untuk menyinkronkan dua buffer.

Max Yankov
sumber