Comment copier du texte depuis xterm (Awesome, Debian, VirtualBox)?

15

J'ai exécuté l'installation minimale de Debian dans une instance VirtualBox, installé manuellement X11 et le gestionnaire de fenêtres Awesome (sans aucune configuration personnalisée) et installé des ajouts VirtualBox (et activé le presse-papiers partagé dans les paramètres). Cependant, le copier-coller du texte du terminal xterm ne semble toujours pas fonctionner: CTRL+ Cest envoyé comme signal à un terminal, et Shift+ Insertinsère le texte que j'avais sélectionné (ce qui signifie probablement qu'il a été copié dans un tampon d'une manière ou d'une autre), mais il n'est toujours pas disponible sur le système d'exploitation hôte.

Max Yankov
la source

Réponses:

20

X11 utilise deux tampons: PRIMARYet CLIPBOARD. Pour copier / coller dans le CLIPBOARDtampon, vous pouvez souvent utiliser CTRL-Cet CTRL-V. Vous pouvez insérer dans le PRIMARYtampon en sélectionnant un texte et le coller en appuyant sur le bouton central de la souris.

Si vous souhaitez utiliser le CLIPBOARDtampon, placez-le dans votre ~/.Xresourcesfichier et utilisez Ctrl+ Shift+ Cet Ctrl+ Shift+ Vpour copier / coller depuis / vers le CLIPBOARDtampon dans xterm:

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

Vous devez exécuter xrdb ~/.Xresourcesaprès avoir mis cela dans le fichier.

MichalH
la source
2
L'utilisation xrdb ~/.Xresourcesécrasera de manière destructive votre configuration par défaut. utilisez plutôtxrdb -merge ~/.Xresources
xaedes
14

Il n'est pas nécessaire de modifier les ressources de traduction de xterm pour copier des données vers / depuis Firefox, sauf si vous préférez utiliser le clavier pour vous aider dans le processus.

Depuis 2006, xterm dispose d'une fonctionnalité selectToClipboardqui vous permet de basculer entre la PRIMARYsélection (standard) et CLIPBOARD(Firefox, etc.).

Parce que certains programmes utilisent la sélection principale et d'autres non, il s'agit d'une entrée de menu dans xterm ( controlmiddle-mouse):

affichez selectToClipboard dans l'entrée de menu

L'adaptation de la suggestion de caractères de contrôle comme les applications GNOME vous permet d'utiliser le clavier, et en même temps, le menu bascule entre les deux types de sélections:

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

bien que l'ajout shiftInsertpuisse être plus proche de l'intention initiale:

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)

Une plaine controlCest généralement affectée à un signal :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

Lectures complémentaires:

Thomas Dickey
la source
4
  1. Ouvrez xtermet mettez en surbrillance le texte que vous souhaitez copier.
  2. Accédez à l'application dans laquelle vous souhaitez coller et placez le curseur de la souris sur le champ que vous souhaitez coller.
  3. Cliquez sur le bouton de défilement de votre souris. (sur les ordinateurs portables, cela peut être fait en appuyant simultanément sur les clics gauche et droit)

Lorsque vous mettez du texte en surbrillance, il copie le texte dans votre tampon principal. Gardez à l'esprit que si vous mettez en surbrillance un autre texte avant de le coller, ce texte remplacera alors le contenu précédent dans le tampon principal.

Peschke
la source
1
Veuillez lire attentivement la question. "Accédez à l'application dans laquelle vous souhaitez coller" - cela suggère que vous n'avez pas remarqué que je devais le coller dans le système d'exploitation hôte.
Max Yankov
Désolé, je n'ai pas le troisième bouton de la souris. en utilisant le trackball ici
holms
2

Il s'avère que je n'ai pas tenu compte du fait que X11 a deux tampons: primaire et presse - papiers . Mon texte de xterm a été copié dans le tampon principal, alors que j'en avais besoin dans le tampon du presse-papiers.

J'ai pu résoudre le problème en installant le parcellitepackage, en le lançant et en le configurant pour synchroniser deux tampons.

Max Yankov
la source