Help us understand the problem. What is going on with this article?

macOS Sierra の tmux 上で pbcopy と pbpaste が動くようにする

More than 1 year has passed since last update.

tmux 2.6 で問題が解消されたので、この記事の対応は不要となりました。


Mac には、ターミナル上でクリップボードへのコピーとペーストを行う pbcopypbpaste というコマンドがありますが、 Sierra にアップグレードしたら tmux 上でこれらのコマンドが効かなくなってしまいました。

環境

  • macOS Sierra

    $ sw_vers
    ProductName:    Mac OS X
    ProductVersion: 10.12.2
    BuildVersion:   16C68
    
  • tmux 2.3

    $ tmux -V
    tmux 2.3
    

既に同様の声が多く上がっており、暫定的な対応策として reattach-to-user-namespace というラッパーが作られていたのでこれを入れます。

reattach-to-user-namespace で pbcopypbpaste を動くようにする

1. reattach-to-user-namespace をインストールする

Homebrew を使っていればこれでインストールできます。

$ brew install reattach-to-user-namespace

2. .tmux.conf に設定を追加する

自分の .tmux.conf に設定を追加します。

$ echo 'set -g default-command "reattach-to-user-namespace -l ${SHELL}"' >> /path/to/your/.tmux.conf

3. tmux を再起動する

$ tmux kill-server

これで pbcopypbpaste が使えるようになりました。

reattach-to-user-namespace を作った経緯

reattach-to-user-namespace の README に Quick Summary として作成の経緯が書いてありました。

  • tmux で Mac OS X の pbpaste と pbcopy が動かなくなった。 screen も同様の影響を受けている。
  • ドキュメントになっていないプライベート API 関数でこの問題を解決できる。
  • その関数は安定していない (現に 10.6 で引数が追加されている) ので、 tmux にパッチを当てるより小さなラッパーを使った方がいいと思い reattach-to-user-namespace を作った。

ということでこの方法はあくまで応急措置であり、当該のプライベート API がパブリックになるなどすれば tmux 本体で対応されるかもしれませんね。

参考

Problems copying text on Mac OS Sierra · Issue #543 · tmux/tmux

tchssk
A web developer who loves Ginger Ale !!
https://tchssk.github.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした