web-dev-qa-db-ja.com

tmuxセッション中はpbcopyを使用できません

Snow-leopardのポートからインストールされたtmux 1.4を実行しています。組み込みのOSX pbcopyコマンドを使用できません。

tmux外:

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

しかしtmuxの内部:

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

Manページを精査しましたが、この動作に関連する可能性のあるオプションが見つかりません。また、tmuxがシェルリダイレクトを混乱させる理由を理解できません。

誰か手がかりはありますか?

64
lagsalot

自作を使う

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

またはMacports

Sudo port install tmux-pasteboard

〜/ .tmux.confの先頭に以下を追加します

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

zshを使用しているシェルと交換する必要があるかもしれません。移植性のために、おそらく$Shell

=> robots.thoughtbot.com から取得

tmuxがコンソールから切り離されると(接続/切り離しをサポートするため)、GUIとの通信ができなくなるような方法で切り離されます。

AppleのGNU screenへのパッチは、プライベートシステムコールを使用して別の方法で切り離します。Macportsバグトラッカーには、pbcopy/pbpasteを再び機能させるパッチがあります。Homebrewにも提出しました簡単に受け入れられたrepoは元に戻りました。

これは、このパッチを適用すると、セッションに再接続するときにtmuxがクラッシュするためです。

詳細については、Homebrewプロジェクトの githubのプルリクエスト を参照してください。

11
David Goodlad

私は tmuxをラップするgithubプロジェクト を見つけたので、pbpasteとpbcopyは機能し、Homebrewがパッチを削除する原因となった問題はありません。インストールは非常に簡単で、ほんの少しのコンパイルと.tmux.confの1行だけです。

Homebrewにはパッチがありましたが、他の人が述べたように、再接続で問題が発生したため取り消されました。

tmuxに対して提出された問題 がありましたが、tmuxの作者がテストするMacを持っていなかったため、クローズされました。 github tmux-MacOSX-pasteboardプロジェクトのREADMEコードを読むと、10.5でも機能するように見えます。

6
mmrobins

この問題は、最新リリース(2.6)の変更ログ https://raw.githubusercontent.com/tmux/tmux/2.6/CHANGES で解決されています。

3
Fabrice Dufils

Snow LeopardとLionの両方で tmux-MacOSX-pasteboard を使用し、tmuxのpbcopy/pbpaste機能にパッチを適用します。取り付けも簡単。

1
wyattdanger

ここにオープンチケットがあります: http://sourceforge.net/tracker/index.php?func=detail&aid=2960136&group_id=200378&atid=973265

日付:2010-02-28 11:20:57 UTC送信者:nicm

もちろん、それにtmux showbをパイプできないだけの理由はありません。

日付:2010-02-28 11:20:05 UTC送信者:nicm

誰かが私にそれを行うためのコードまたはOS Xを搭載したハードウェアを送らない限り、そうではありません。

Showbをpbcopyにパイプ接続しようとしましたが、機能しませんでした。

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