web-dev-qa-db-fra.com

impossible de coller avec xclip en dehors du terminal

J'essaie de copier depuis le terminal avec xclip et de le coller dans l'environnement de bureau de l'unité dans l'éditeur de texte gedit. Je peux copier et coller avec xclip dans le terminal:

$ cat line-size.c | xclip
xclip -o > input5.txt
cat input5.txt
#include <stdio.h>
...

Cependant, lorsque j'appuie sur les touches Ctrl + V pour coller dans gedit, cela ne fait que coller la dernière chose que j'ai copiée dans le bureau de l'unité, telle que quelque chose du navigateur Firefox.

Comment puis-je coller dans une application graphique quelque chose que j'ai copié du terminal?

38
JohnMerlino

Je pense qu'il suffit de comprendre les différents presse-papiers de sélection utilisés par l'utilitaire xclip

   -selection
          specify  which X selection to use, options are "primary" to use
          XA_PRIMARY (default), "secondary" for  XA_SECONDARY  or  "clip‐
          board" for XA_CLIPBOARD

Lorsque vous faites cat line-size.c | xclip, le comportement par défaut consiste à copier le tampon de sélection X principal - pour coller à partir de ce tampon, vous devez utiliser un clic de souris à la place du Ctrl+v combinaison.

Pour copier dans le presse-papiers à la place, afin que vous puissiez coller avec Ctrl+v, vous auriez besoin de faire

cat line-size.c | xclip -selection clipboard
68
steeldriver

Juste au cas où quelqu'un chercherait la version la plus courte sans utiliser d'alias. En utilisant something|xclip -se c au lieu de simplement something|xclip, vous pouvez appuyer sur Ctrl + V/Ctrl + Maj + V et voir un résultat souhaité. Où something — cat somefile.txt par exemple.

5
daGo