近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について - naoyaのはてなダイアリー
mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記
を読んでmosh良さそう!と思って、Ubuntu 12.04とMacとWindowsにmosh入れてみたのでその顛末です。
moshはモバイルでも快適に使えるsshみたいなもので、sshクライアントではなくmoshという別のサービスになります。なのでサーバとクライアントどちらにもmoshを入れる必要があります。
まず結論から。
- Ubuntu12
$ sudo apt-get install mosh
$ brew install mobile-shell
Cygwinのsetup.exeから「mosh」で検索して入れる
こんだけです。
あと、moshのサーバ側は「UDP」の60000〜61000を開けておく必要があるので、iptablesなどで設定してやります。
Ubuntu12
実はUbuntuにmosh入れる方法を調べると、ほとんどのところで
$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:keithw/mosh $ sudo apt-get update $ sudo apt-get install mosh
と書いてあります。
これは
moshの公式ページでそう案内されてるのでみなそうしてるのだと思いますが、実はUbuntu12ではオフィシャルのリポジトリに入っているのです。
なので、ふつーにapt使うなり、Ubuntuソフトウェアセンターから入れることができます。
と、偉そうに書いてますが、mosh入れてる途中でtweetしてたら@henrichさんに教えてもらったのでした。
Twitter / henrich: @stealthinu なぜにppa...officialパッケージを使えばいいじゃないですか…
Mac
まず、homebrewを入れてください。話はそれからだ。
と思ったら、さっきのmosh公式ページみたらpkgもありますね。
でもbrew使ってる人はbrewで入れるのが一番楽だと思います。
ただ名前が「mosh」で入らないので注意。moshではなく「mobile-shell」になってます。
別にmoshって名前が現在重なっているわけではないようなのに、なんででしょうね?
Windows
現在のところTeraTermやPuttyといったWindowsでよく使われているターミナルアプリでのサポートがないため、Cygwinのmoshしか選択肢はないようです。
というわけでまず、Cygwinを入れてください。話はそれからだ。
Cygwinのsetup.exeで「mosh」を検索すると、なぜかInterpretersのカテゴリに入っています。
たぶんopensshも必要になると思うので、もし入れてない人は一緒に入れておきましょう。
また、自分はこれだけではエラーが出てしまい利用できませんでした。
sshの設定でv6での名前解決をしないようにする必要があります。
~/.ssh/config に
AddressFamily inet
を設定しておきます。
ちなみに自分は最初、この「WindowsのCygwin環境でmoshを使ってみた - ナレッジエース」のエントリーを読んで、Cygwinでコンパイルして利用する方法で試していたのですが、それはこのエントリーでも最後に書いてあるようにそのままではうまくmoshコマンドが利用できず、ダメでした。
でも本家サイト見てみたら、今はCygwinのsetupからインストールできちゃうという。とほほでした。
あと、そのあたりをぐだぐだやっている時、wgetでgithubからのダウンロードがSSLのルート証明書の問題でうまく出来ないというのがありました。
それについては@kfujiedaさんより
CygwinのgitでSSLのエラーになったら - 普段はWindowsを使っているのよ
Cygwinのsetupでca-certificatesパッケージをインストールのが正解と教えてもらいました。
twitterって、バカなことやってると、ちゃんとわかってる人が指摘してくれるんでほんとありがたいです。