64 votes

Impossible d'utiliser pbcopy dans une session tmux

En utilisant tmux 1.4 installé à partir des ports sur snow-leopard, je ne suis pas en mesure d'utiliser la fonction intégrée d'OSX. pbcopy mando.

En dehors de tmux :

> echo "abc" | pbcopy
> echo $(pbpaste) # or using ^v
abc

Mais à l'intérieur de tmux :

> echo "123" | pbcopy
> echo $(pbpaste)
abc

J'ai parcouru la page du manuel mais je n'ai trouvé aucune option qui pourrait être liée à ce comportement. Je n'arrive pas non plus à comprendre pourquoi tmux perturberait la redirection de Shell.

Quelqu'un a des indices ?

75voto

Amit Tiwari Points 31

Utilisation de homebrew

brew install reattach-to-user-namespace --with-wrap-pbcopy-and-pbpaste

ou Macports

sudo port install tmux-pasteboard

Ajoutez ce qui suit au début du fichier ~/.tmux.conf

set-option -g default-command "reattach-to-user-namespace -l zsh"

Vous pourriez vouloir échanger le zsh pour n'importe quel Shell que vous utilisez, pour la portabilité vous devriez probablement utiliser $SHELL .

Tiré de => robots.thoughtbot.com

11voto

allyourcode Points 5670

Lorsque tmux se détache de la console (afin de supporter attach/detach), il le fait d'une manière qui ne lui permet plus de communiquer avec l'interface graphique.

Les correctifs d'Apple à GNU screen utiliser un appel système privé pour se détacher d'une manière différente. Il y a un correctif dans le tracker de bogues de Macports qui fait que pbcopy / pbpaste travailler à nouveau. Je l'ai également soumis au dépôt Homebrew, où il a été brièvement accepté, puis annulé.

Ceci est dû au fait que lorsque ce correctif est appliqué, il provoque un crash de tmux lors de la ré-attachement à une session.

Voir le demande de téléchargement sur github pour le projet Homebrew pour plus d'informations.

6voto

GmonC Points 129

J'ai trouvé un projet github qui englobe tmux de sorte que pbpaste et pbcopy fonctionnent et n'ont pas les problèmes décrits qui ont causé la suppression du patch par Homebrew. Il est assez facile à installer, juste un petit peu de compilation et une ligne dans votre .tmux.conf

Homebrew avait un patch, mais comme d'autres l'ont mentionné, il a été retiré parce qu'il causait des problèmes de rattachement.

Il y avait un plainte déposée contre tmux mais il a été fermé parce que l'auteur de tmux n'a pas de Mac pour le tester. Le README sur le projet github tmux-MacOSX-pasteboard a de grands détails sur pourquoi Parcheando tmux est difficile dans ce cas, et un tas d'autres infos entourant la situation. Il fonctionne sur OSX 10.6 pour moi et en lisant le code, il semble qu'il fonctionnera également pour 10.5.

3voto

Fabrice Dufils Points 31

Ce problème est résolu avec la dernière version ( 2.6 ) changelog https://raw.githubusercontent.com/tmux/tmux/2.6/CHANGES .

1voto

terrace Points 295

Il y a un ticket ouvert ici : http://sourceforge.net/tracker/index.php?func=detail&aid=2960136&group_id=200378&atid=973265

Date : 2010-02-28 11:20:57 UTC Expéditeur : nicm

Il n'y a aucune raison pour que vous ne puissiez pas simplement y envoyer tmux showb, bien sûr.

Date : 2010-02-28 11:20:05 UTC Expéditeur : nicm

Non, sauf si quelqu'un m'envoie du code pour le faire ou du matériel avec OS X dessus.

J'ai essayé de passer showb à pbcopy et ça n'a pas marché.

~: echo "12345"
12345
[use copy-mode to copy "12345"]
~: tmux showb
12345
~: tmux showb | pbcopy
~: pbpaste

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X