pockestrap

Programmer's memo

リモートユーティリティーツール、Lemonade v0.2.0 をリリースした

github.com

バージョンアップしました。 公開した時の記事はこちらです。 pocke.hatenablog.com

使い方

簡単な使い方に関しては、上記記事をご覧ください。
上記記事では具体的な使い方について述べていなかったので、この記事ではまず Lemonade が一番活きる使い方を解説します。

f:id:Pocke:20150823173041g:plain

Lemonade が一番活きるのは、上の図のような時だと思います。
Windows 上に VirtualboxLinux を建て、そこに Windows から SSH して使うことがあると思います(私はあります)。

そのような時に、コピペやURLを開くのにストレスを感じることが多いです。
例えば、ファイルの内容をコピーしたい時、cat して SSHクライアントに表示されたものをドラッグしてコピーして…などとやっていると、一々マウスを使うためにキーボードから手を離さなくてはいけなくてストレスです。
また、SSHクライアントのバッファが溢れてしまったり、tmuxと相性が悪かったりもします。

そんな時、Lemonade が活躍します。
Windows 側で予めlemonade serverを立ち上げておくと、cat file.txt | lemonade copyと言った感じにlemonade にコピーしたいテキストを渡してやることで、Windows側でテキストがクリップボードに入ります。便利!

また、同じような感じでブラウザを開くことも出来ます。
lemonade open http://google.comと入力すれば、Windows側のブラウザで Google が開かれます。
これだけだとあまり便利さを感じませんが、lemonade が xdg-open として働くことを利用すると、一気に便利になります。
例えば、拙作 gfm-viewerwww は、ブラウザを自動的に開くために内部で xdg-open を使用しています。
下記のように、本来の xdg-open より上位の PATH に lemonade を xdg-open として設置することで、上記のソフトウェアから lemonade を使用することが可能となります。

$ ln -s /path/to/lemonade ~/bin/xdg-open
$ export PATH=~/bin/:$PATH

このようにすると、lemonade を通して他のソフトウェアが別のコンピュータでブラウザを開くことが出来ます。
便利ですね。

v0.2.0 での変更点

大きな変更点は2つあります。どちらもopenコマンドへの機能追加です。

ループバックアドレスを渡せる

以前は、lemonade open http://127.0.0.1などとした場合、直接ループバックアドレスが渡ってしまいうまく開けませんでした。
v0.2.0 では、ループバックアドレスをクライアントのアドレスに変換することでいい感じに動作するようになっています。

ローカルファイルのパスを渡せる

以前は、lemonade open ~/hoge.txt などとした場合、サーバー側は自身に存在するファイルを探してしまいうまく開けませんでした。
v0.2.0 では、クライアント側が一時的に対象のファイルをHTTPでサーブすることで、ローカルのファイルを開けるようにしました。


Windows 上に Linux仮想マシンで建てて開発している場合など、とてもQoLが上昇するツールだと思います。
質問やPRなど、常時受け付けております、待ってます!