Accéder au presse-papiers Unix

16

Nous avons un serveur Linux et il y a plusieurs utilisateurs (donc plusieurs comptes) sur ce serveur. Donc, logiquement, il y aurait différents presse-papiers pour différents utilisateurs.

Ma question est: tout comme dans Windows, nous pouvons avoir un visualiseur de presse-papiers, comment puis-je voir le contenu du presse-papiers sur Unix?

Maggi
la source
3
Je ne sais pas ce que vous demandez? Vos utilisateurs utilisent-ils X? Sinon et qu'ils utilisent, sshils n'ont pas de presse-papiers.
Ulrich Dangel

Réponses:

16

Votre raisonnement est solide, mais vous êtes parti d'une prémisse incorrecte. Linux n'a pas vraiment de "presse-papiers", ce concept ne fait tout simplement pas partie du système d'exploitation. Au lieu de cela, le système de fenêtrage, presque toujours X11, implémente des presse-papiers . Le serveur X11, qui gère et exécute l'affichage, fait des presse-papiers. De cette façon, un presse-papiers est une propriété d'un programme de niveau utilisateur, pas le système d'exploitation, et de plus, il y a un ensemble de presse-papiers pour chaque affichage (qui est plus ou moins chaque moniteur ou écran, mais pas toujours).

Cela dit, le presse-papiers X11 est un peu bizarre .

En ce qui concerne le contenu, j'ai toujours aimé xcb , mais cela est apparemment considéré comme assez obscur ces jours-ci. Vous aimerez peut-être parcellite , mais regardez autour de vous, il semble que de nombreux gestionnaires de presse-papiers X11 et programmes d'interaction existent.

Bruce Ediger
la source
11

Un presse - papiers est spécial rien et juste un détail de mise en œuvre de certains programmes, par exemple X, emacs, vimet d' autres programmes ont mises en œuvre ce que vous pouvez faire référence comme clipboards.

Comme vous parlez d'un serveur, je suppose que vos utilisateurs se connectent au système via sshcela signifie qu'il n'y a pas de presse-papiers pour ces utilisateurs, cela est géré par leur système hôte et terminal.

Si vous souhaitez accéder au Xpresse - papiers, il existe plusieurs solutions, par exemple:

  • xclip - une interface de ligne de commande pour le clibpoard
  • clipit - un gestionnaire de presse-papiers sans dépendances à d'autres environnements de bureau

Si vous souhaitez accéder au Xcontenu du presse - papiers pour un autre utilisateur, vous devez accéder à la Xsession pour cet utilisateur.

Il y a beaucoup d'autres choses que vous pouvez examiner, par exemple l' autocutsel , l'intégration entre le presse-papiers X et emacs, etc.

Ulrich Dangel
la source
1

Dans emacs, examinez

clipboard-kill-region
clipboard-kill-ring-save
clipboard-yank

J'ai écrit ceci pour copier un tampon entier dans le presse-papiers:

(defun copy-all ()
  "copy buffer to clipboard"
  (interactive)
  (clipboard-kill-ring-save (point-min) (point-max))
  (message "Copy done.") )

Je l' ai aussi fait un alias utile appelé xc, comme ceci: xclip -selection clipboard. Ensuite, echo $(pwd) | xc(par exemple) enverra la position de votre arborescence de répertoires dans le presse-papiers.

Et, par accident, j'ai remarqué que je peux coller dans urxvt en appuyant sur le bouton de la molette de la souris. Je n'aime pas du tout utiliser la souris, donc si vous savez comment le lier à un raccourci clavier, dites-le moi.

Edit: J'ai trouvé (quelque part sur ce site) que la réponse à la dernière (ma) question est - c'est déjà fait, à savoir Shift-Insert.

Emanuel Berg
la source
Vous devriez publier votre raccourci bind-paste-to-keyboard comme question - vous obtiendrez une meilleure aide de cette façon.
Bruce Ediger
@BruceEdiger: D'accord, mais tout le reste dans le post, y compris comment coller dans un terminal (au moins une façon de le faire) est utile si j'ai bien compris la question - vous voyez où j'arrive? - ignorez la dernière phrase si ça vous dérange :)
Emanuel Berg