Copier coller

De ArchwikiFR

D'aucuns trouvent le mécanisme de copier/coller complexe sous GNU/linux. C'est qu'il n'existe pas de méthode universelle, mais une série de technologies différentes.

Sommaire

X.org

Le serveur X a trois presse-papiers, appelés sélections. En réalité, ce ne sont pas à proprement parler des presse-papiers car ils utilisent un protocole asynchrone, c'est à dire que les données ne sont pas copiées dans un buffer mais transmises d'une application à une autre.

Ces presse-papiers sont spécifiques à un serveur X. Ils permettent donc la copie entre clients (fenêtres d'applications) mais pas entre serveurs.

Presse-papier primaire

Dans ce presse-papier est placé le contenu sélectionné par la souris. Il contient toujours le dernier contenu sélectionné par la souris, est n'est donc vide qu'au lancement de X. Le clic sur la bouton 2 de la souris insère le contenu de ce presse-papier dans la zone active du client courant. C'est une méthode très simple et rapide pour copier du texte.

Astuce: le bouton 2 représente le clic milieu (sur la molette) en général, et peut être accédé sur les touchpads par une tape à deux doigts ou en pressant les deux boutons simultanément.

Presse-papier secondaire

La spécification freedesktop est assez vague à ce propos. Ce presse-papiers peut, entre autres, être utilisé en temps qu'appui au presse papier primaire, mais son implémentation peut varier.

Presse-papier 'Clipboard'

Il est utilisé pour le mécanisme copier/coller "classique", celui utilisé notamment par d'autres systèmes graphiques. Dans ce presse-papier est stocké le contenu envoyé par l'action copier de l'application (Raccourci Ctrl-C, menu copier,…). Notez qu'il est indépendant du presse papier primaire, et que les deux ne se mélangent pas !

Gérer les presse-papiers

L'utilitaire xclip permet de gérer les presse-papiers.

pacman -S xclip

Par exemple :

Copier le contenu du presse-papier primaire dans fichier :

xclip -o -d 0 > fichier

Envoyer la sortie de pacman -Ss kernel dans le presse-papier primaire :

pacman -Ss kernel | xclip -i 

Plus fort, trier le contenu du presse-papier :

xclip -o | sort | xclip -i
Astuce: xclip est très utile pour copier/coller depuis ou vers les consoles virtuelles !

Console virtuelle

Il n'y a pas de mécanisme natif de copier/coller, néanmoins diverses solutions sont possibles.

Screen

Lancer screen dans un tty permet d'obtenir plusieurs terminaux virtuels dans une même console. Screen fournit un mécanisme de copier/coller interne. C-a esc pour copier et C-a ] pour coller.

Notez aussi la commande C-a h qui copie le contenu affiché par la fenêtre courante dans ./hardcopy.n.

Éditeur

Les éditeurs comme emacs, vim, ou nano fournissent aussi des mécanismes de copier/coller internes.

Shell

Le shell est puissant, ne l'oublions pas. Utilisez les redirections (>), les pipes (|) pour rediriger la sortie des commandes dans un fichier que vous pourrez utiliser autre part.

GPM

Le meilleur pour la fin : le daemon gpm fournit un mécanisme de sélection similaire à celui de X.org pour les consoles virtuelles, et un curseur piloté par la souris (c'est mieux avec un framebuffer).

pamcan -S gpm
/etc/rc.d/gpm start

Enjoy !

Outils personnels