ฉันจะคัดลอกข้อความจาก xterm (Awesome, Debian, VirtualBox) ได้อย่างไร


15

ฉันใช้การติดตั้ง Debian ที่น้อยที่สุดภายในอินสแตนซ์ VirtualBox ติดตั้ง X11 และตัวจัดการหน้าต่างที่ยอดเยี่ยมด้วยตนเอง (โดยไม่ต้องกำหนดค่าเอง) และติดตั้งเพิ่มเติม VirtualBox เช่นกัน (และเปิดใช้งานคลิปบอร์ดที่ใช้ร่วมกันในการตั้งค่า) อย่างไรก็ตามข้อความการคัดลอกวางจากเทอร์มินัล xterm ยังคงไม่ทำงาน: CTRL+ Cถูกส่งเป็นสัญญาณไปยังเทอร์มินัลและShift+ Insertแทรกข้อความที่ฉันเลือกไว้ (ซึ่งอาจหมายความว่ามันถูกคัดลอกไปยังบัฟเฟอร์บางส่วน) แต่ก็ยังไม่สามารถใช้งานได้จากระบบปฏิบัติการโฮสต์

คำตอบ:


20

X11 ใช้สองบัฟเฟอร์: และPRIMARY CLIPBOARDในการคัดลอก / วางกับCLIPBOARDบัฟเฟอร์คุณมักจะสามารถใช้และCTRL-C CTRL-VคุณสามารถแทรกลงในPRIMARYบัฟเฟอร์โดยการเลือกข้อความและวางจากมันโดยการกดปุ่มกลางของเมาส์

หากคุณต้องการใช้CLIPBOARDบัฟเฟอร์ใส่สิ่งนี้ลงใน~/.Xresourcesไฟล์ของคุณและใช้Ctrl+ Shift+ CและCtrl+ Shift+ Vเพื่อคัดลอก / วางจาก / ไปยังCLIPBOARDบัฟเฟอร์ใน xterm:

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

คุณต้องเรียกใช้xrdb ~/.Xresourcesหลังจากใส่ลงในไฟล์


2
การใช้xrdb ~/.Xresourcesจะเขียนทับการกำหนดค่าเริ่มต้นของคุณแบบทำลายล้าง ใช้แทนxrdb -merge ~/.Xresources
xaedes

14

ไม่จำเป็นต้องแก้ไขแหล่งข้อมูลการแปล xterm เพื่อคัดลอกข้อมูลไปยัง / จาก Firefox เว้นแต่คุณต้องการใช้แป้นพิมพ์เพื่อช่วยในกระบวนการ

ตั้งแต่ปี 2549 xterm มีฟีเจอร์selectToClipboardที่ให้คุณสลับระหว่างตัวPRIMARYเลือก (มาตรฐาน) และCLIPBOARD(Firefox ฯลฯ )

เนื่องจากบางโปรแกรมใช้การเลือกหลักและบางโปรแกรมไม่เป็นรายการเมนูใน xterm ( controlmiddle-mouse):

แสดง selectToClipboard ในรายการเมนู

การปรับคำแนะนำสำหรับตัวควบคุมเช่นแอปพลิเคชั่น GNOME ช่วยให้คุณใช้แป้นพิมพ์และในขณะเดียวกันให้เมนูสลับไปมาระหว่างตัวเลือกสองประเภท:

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

แม้ว่าการเพิ่มshiftInsertอาจใกล้เคียงกับเจตนาดั้งเดิม:

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)

โดยทั่วไปที่ราบcontrolCจะถูกกำหนดให้กับสัญญาณ :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

อ่านเพิ่มเติม:


4
  1. เปิดxtermและเน้นข้อความที่คุณต้องการคัดลอก
  2. ไปที่แอปพลิเคชันที่คุณต้องการวางและวางเคอร์เซอร์ของเมาส์เหนือเขตข้อมูลที่คุณต้องการวาง
  3. คลิกปุ่มเลื่อนบนเมาส์ของคุณ (บนแล็ปท็อปสามารถทำได้โดยการกดซ้ายและคลิกขวาพร้อมกัน)

เมื่อคุณเน้นข้อความมันจะคัดลอกข้อความไปยังบัฟเฟอร์หลักของคุณ โปรดทราบว่าหากคุณเน้นข้อความอื่น ๆ ก่อนวางข้อความนั้นจะแทนที่เนื้อหาก่อนหน้าในบัฟเฟอร์หลัก


1
กรุณาอ่านคำถามอย่างระมัดระวัง "ไปที่แอปพลิเคชันที่คุณต้องการวาง" - นี่เป็นการแนะนำว่าคุณไม่ได้สังเกตเห็นว่าฉันต้องวางลงในโฮสต์ระบบปฏิบัติการ
Max Yankov

ขออภัยฉันไม่มีปุ่มที่สามบนเมาส์ โดยใช้ลูกกลิ้งที่นี่
Holms

2

เปิดออกผมไม่ได้บัญชีสำหรับความจริงที่ว่า X11 มีสองบัฟเฟอร์: หลักและคลิปบอร์ด ข้อความของฉันจาก xterm ถูกคัดลอกไปยังบัฟเฟอร์หลักในขณะที่ฉันต้องการในคลิปบอร์ดบัฟเฟอร์

ฉันสามารถแก้ไขปัญหาด้วยการติดตั้งparcelliteแพคเกจเปิดใช้งานและกำหนดค่าให้ซิงโครไนซ์บัฟเฟอร์สองตัว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.