remote サーバで pbcopy for iTerm2
pbcopy は MacOSX 用の標準入力をクリップボードにコピーしてくれる便利ツールだが、 local でしか利用できない。
しかしながら実際のところ、OSC52 エスケープシーケンスを使えば remote サーバからも クリップボードにアクセスできる。下記 url に詳しく書いてある。
- http://doda.b.sourceforge.jp/2011/12/15/tmux-set-clipboard/
- http://qiita.com/kefir_/items/1f635fe66b778932e278
- http://qiita.com/kefir_/items/515ed5264fce40dec522
ということで iTerm2 前提の remote サーバ用 pbcopy を用意してみた。
注
以下、おそらく不安定な nightly の iTerm2 を使い、 さらにセキュリティ上の問題をはらむ OSC52 を使う。
インストール
まず OSC52 で読み込めるデータサイズ制限をなくした iTerm2 をインストールする (そうしないと base64 encode 後の1024 byte しかコピーできず役に立たない)。 http://iterm2.com/downloads/nightly から nightly を ダウンロードし、解凍してでてきた iTerm.app を /Applications におけばいい (もっといいインストール方法がある気がする)。
また iTerm2 の Preference で "Allow clipboard access to terminal apps" にチェックをいれておく。
あとは remote サーバで github から pbcopy をダウンロードすればいい。
[remote] $ wget https://raw.githubusercontent.com/shoichikaji/remote-pbcopy-iterm2/master/pbcopy
[remote] $ chmod +x pbcopy
[remote] $ mv pbcopy /path/to/bin/
使い方
普通の pbcopy と同じように使える。
[remote] $ echo "copy data to clipboard from remote!" | pbcopy
[local] $ pbpaste
copy data to clipboard from remote!
See also
iTerm2 の "OSC52 で読み込めるデータサイズ制限" に関する issue:
TeraTerm 版 pbcopy