よくtmux on tmuxで作業をするんだけどリモートのコマンド出力をローカルにコピーするときに割と面倒くさい。
ssh接続したリモートサーバの出力を手元Macのクリップボードに送る - Glide Note - グライドノート を使おうかと思ったけどできればLaunchAgentを使いたくなかったのでRubyで簡単なサーバを書いた。
# !/usr/bin/env ruby
require 'socket'
require 'terminal-notifier'
server = TCPServer.open('localhost', 2224)
loop do
socket = server.accept
buffer = socket.read
IO.popen('pbcopy', 'w') { |f| f << buffer }
TerminalNotifier.notify(buffer, :title => 'Called Pbcopy')
socket.close
end
server.close
これを起動しておいて(自分はgodでプロセス管理することにした) echo 'hoge' | nc localhost 2224
って打ってクリップボードにhogeがコピーされたら成功
あとはSSH先からトンネリングするように ~/.ssh/config
に設定を追記しておいて、SSH先からncで叩けるようにして完成。
Host *
RemoteForward 2224 localhost:2224