Wie kann ich Text aus xterm kopieren (Awesome, Debian, VirtualBox)?

15

Ich habe die minimale Debian-Installation in einer VirtualBox-Instanz ausgeführt, X11 und Awesome Window Manager manuell (noch ohne benutzerdefinierte Konfiguration) installiert und VirtualBox-Ergänzungen installiert (und die gemeinsame Zwischenablage in den Einstellungen aktiviert). Das Kopieren und Einfügen von Text aus dem xterm-Terminal scheint jedoch immer noch nicht zu funktionieren: CTRL+ Cwird als Signal an ein Terminal gesendet und Shift+ Insertfügt den von mir ausgewählten Text ein (was wahrscheinlich bedeutet, dass er irgendwie in einen Puffer kopiert wurde). Auf dem Host-Betriebssystem ist es jedoch immer noch nicht verfügbar.

Max Yankov
quelle

Antworten:

19

X11 verwendet zwei Puffer: PRIMARYund CLIPBOARD. Zum Kopieren / Einfügen in den CLIPBOARDPuffer können Sie häufig CTRL-Cund verwenden CTRL-V. Sie können in den PRIMARYPuffer einfügen, indem Sie einen Text auswählen und mit der mittleren Maustaste einfügen .

Wenn Sie den CLIPBOARDPuffer verwenden möchten, fügen Sie diesen in Ihre ~/.XresourcesDatei ein und kopieren / fügen Sie ihn mit Ctrl+ Shift+ Cund Ctrl+ Shift+ Vin den CLIPBOARDPuffer in xterm ein:

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

Sie müssen ausführen, xrdb ~/.Xresourcesnachdem Sie das in die Datei gestellt haben.

MichalH
quelle
2
Durch xrdb ~/.Xresourcesdie Verwendung von wird Ihre Standardkonfiguration zerstört. Verwenden xrdb -merge ~/.Xresources
Sie
14

Es ist nicht erforderlich, die xterm-Übersetzungsressourcen zu ändern, um Daten nach / von Firefox zu kopieren, es sei denn, Sie möchten die Tastatur verwenden, um den Vorgang zu unterstützen.

Seit 2006 verfügt xterm über eine Funktion, mit selectToClipboardder Sie zwischen der PRIMARYAuswahl (Standard) und CLIPBOARD(Firefox usw.) wechseln können .

Da einige Programme die primäre Auswahl verwenden und andere nicht, handelt es sich um einen Menüeintrag in xterm ( controlmiddle-mouse):

show selectToClipboard im Menüeintrag

Durch Anpassen des Vorschlags für Steuerzeichen wie die GNOME-Anwendungen können Sie die Tastatur verwenden und gleichzeitig im Menü zwischen den beiden Auswahltypen wechseln:

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

Obwohl das Hinzufügen shiftInsertmöglicherweise näher an der ursprünglichen Absicht liegt:

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)

Eine Ebene controlCwird normalerweise einem Signal zugeordnet :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

Weitere Lektüre:

Thomas Dickey
quelle
4
  1. Öffnen xtermund markieren Sie den zu kopierenden Text.
  2. Gehen Sie zu der Anwendung, in die Sie einfügen möchten, und bewegen Sie den Mauszeiger über das Feld, in das Sie einfügen möchten.
  3. Klicken Sie mit der Maus auf die Bildlauftaste. (Auf Laptops kann dies durch gleichzeitiges Drücken der linken und rechten Maustaste erfolgen.)

Wenn Sie Text markieren, wird der Text in den Primärpuffer kopiert. Beachten Sie, dass, wenn Sie vor dem Einfügen einen anderen Text markieren, dieser Text den vorherigen Inhalt im Primärpuffer ersetzt.

Peschke
quelle
1
Bitte lesen Sie die Frage sorgfältig durch. "Gehen Sie zu der Anwendung, in die Sie einfügen möchten" - dies deutet darauf hin, dass Sie nicht bemerkt haben, dass ich sie in das Host-Betriebssystem einfügen musste.
Max
Tut mir leid, ich habe keine dritte Taste an der Maus. mit Trackball hier
drin
2

Es stellte sich heraus, dass ich nicht berücksichtigt habe, dass X11 zwei Puffer hat: Primär und Zwischenablage . Mein Text aus xterm wurde in den Primärpuffer kopiert, während ich ihn im Zwischenablagepuffer benötigte.

Ich konnte das Problem beheben, indem ich das parcellitePaket installierte , startete und es so konfigurierte, dass zwei Puffer synchronisiert wurden.

Max Yankov
quelle