Macに標準でついてるscreenや,MacPortsの最近のscreenの上だと pbpaste が実行できなくて実に不便.いろいろ調べてみたところ,
http://www.samsarin.com/blog/2008/10/18/copying-gnu-screen-buffer-to-leopard-clipboard/
によれば,screenにはクリップボードを管理してるサービスにアクセスする権限がなくて,こんな事になってるらしい.上のURLでは,
- screenから起動していない別のプロセスでクリップボードにアクセスして
- その結果を取得
して解決していた.より具体的には,
- 要求されると クリップボード にアクセスするサーバ (screen上でないところで動作)
- サーバに要求を投げて結果を取得するクライアント (screen上で動作)
があればOK.上のURLではpbcopy向けのサーバ/クライアントを書いて他のですが,うちはpbpasteをよく使う*1 ので,そのためのサーバクライアントを書いてgistにおきました.
いろいろ強引なやりかたなので,もう少しスマートに解決したいなぁ.
*1:vim からpbpaste たたいてペーストするときれいにペーストできる