Comment copier du texte de «l'écran» du programme dans mon presse-papiers?

13

Je veux copier du texte de l' écran dans mon presse-papiers. Je sais comment passer en mode copier-coller à l'écran, mais je veux que ce texte aille dans mon presse-papiers pour que je puisse le coller sur le navigateur, par exemple.

Comment puis-je faire cela? Merci!

Ramon Tayag
la source

Réponses:

8

Dans la plupart des programmes, vous sélectionnez le texte et appuyez sur Ctrl+ Cpour le copier. Le collage de texte se ferait en appuyant sur Ctrl+ V. Dans le programme d'émulation de terminal, Ctrl+ Ca une signification particulière, il interrompt (arrête) les programmes par défaut.

Votre programme d'émulateur de terminal peut avoir défini d'autres raccourcis. Par exemple, Konsole et Gnome Terminal utilisent Ctrl+ Shift+ Cpour copier le texte sélectionné. Vous pouvez également sélectionner du texte et le copier à l'aide de l' option Copier du menu Edition ou du menu contextuel.

Si la sortie de votre programme est volumineuse, vous souhaiterez peut-être activer le tampon de défilement de screen. Cela peut être fait en ajoutant la ligne ci-dessous au ~/.screenrcfichier:

termcapinfo xterm ti@:te@
Lekensteyn
la source
2
Cela ne fonctionnera pas si le texte que vous essayez de copier à partir de GNU Screen dépasse la taille réelle de l'écran
Marco Ceppi
Je fais habituellement défiler à l'époque (ou je continue de faire défiler tout en sélectionnant).
Lekensteyn
Vous voulez dire en mode Copie à l'écran?
Marco Ceppi
3
Non, lors de la sélection de texte en mode normal à l'aide de la souris. Pour que cela fonctionne, vous devez mettre termcapinfo xterm ti@:te@votre fichier ~ / .screenrc pour permettre le défilement. Si vous n'avez pas de .screenrc, obtenez mon screenrc de lekensteyn.nl/files/screenrc
Lekensteyn
Ah, c'est tout alors, merci pour la clarification. Vous voudrez peut-être ajouter cela à votre réponse.
Marco Ceppi
10

Pour une implémentation brute et sale, installez le package xsel, qui permet l'interaction en ligne de commande avec le presse-papiers X, puis placez ces lignes dans votre~/.screenrc

bind > eval writebuf "exec sh -c 'xsel -nbi </tmp/screen-exchange'"
bind y eval "exec sh -c 'xsel -bo >/tmp/screen-exchange'"

puis redémarrez screen.

Maintenant, lorsque vous sélectionnez quelque chose en screenmode copie / défilement et que vous écrivez le tampon de collage dans un fichier avec C- a >, vous pouvez vous déplacer vers le navigateur et coller le contenu du presse-papiers comme d'habitude (par exemple avec Ctrl- V).

Pour l'inverse, copiez quelque chose dans votre navigateur avec Ctrl- C, puis allez screenet lisez le presse-papiers avec la nouvelle commande C- a y, puis lisez le fichier d'échange d'écran dans le tampon de collage avec C- a <, collez enfin où vous voulez avec C- a ].

Pour que cela fonctionne, la variable DISPLAYdoit être correctement définie et vous devez avoir accès au serveur X. Ce n'est pas un problème lorsque vous êtes sur un terminal fonctionnant sur le même serveur X, mais si vous exécutez screendans un terminal virtuel, par exemple tty1, vous devrez peut-être exécuter xhost +sur le côté X, export DISPLAY=:0ou similaire sur le terminal, avant de démarrer screen.

Comme vous le voyez, ce n'est pas simple et pas à l'épreuve des balles, mais j'espère que cela peut aider.

Cette réponse est en partie inspirée de la synchronisation du tampon de collage de l'écran GNU et de la sélection X

enzotib
la source
C'est xhost +un conseil terrible. Il permet à n'importe qui sur Internet de détourner votre session X, de capturer vos frappes, de prendre des captures d'écran, etc. Ne le faites jamais . Il existe des façons correctes de faire la même chose; tant que vous êtes sur le même hôte et que vous utilisez le même homedir, le réglage $DISPLAYdevrait fonctionner.
R .. GitHub STOP HELPING ICE
0

Utilisez simplement l'opération de copie dans votre application de terminal. Si vous utilisez gnome-terminal par exemple, sélectionnez simplement test et utilisez le menu contextuel -> copier.

Michał Šrajer
la source
1
Que faire si l'application de terminal n'a pas de menu contextuel? Et s'il n'a pas d'opération de copie? Je n'ai pas déçu parce que je ne pense pas que cela en mérite plus d'un.
djeikyb