screenでpbpasteできないのをどうにか

Macに標準でついてるscreenや,MacPortsの最近のscreenの上だと pbpaste が実行できなくて実に不便.いろいろ調べてみたところ,

http://www.samsarin.com/blog/2008/10/18/copying-gnu-screen-buffer-to-leopard-clipboard/

によれば,screenにはクリップボードを管理してるサービスにアクセスする権限がなくて,こんな事になってるらしい.上のURLでは,

  1. screenから起動していない別のプロセスでクリップボードにアクセスして
  2. その結果を取得

して解決していた.より具体的には,

  1. 要求されると クリップボード にアクセスするサーバ (screen上でないところで動作)
  2. サーバに要求を投げて結果を取得するクライアント (screen上で動作)

があればOK.上のURLではpbcopy向けのサーバ/クライアントを書いて他のですが,うちはpbpasteをよく使う*1 ので,そのためのサーバクライアントを書いてgistにおきました.

http://gist.github.com/115372

いろいろ強引なやりかたなので,もう少しスマートに解決したいなぁ.

*1:vim からpbpaste たたいてペーストするときれいにペーストできる