モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

moshをUbuntu12とMacとWindowsに入れるには

近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について - naoyaのはてなダイアリー
mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記

を読んでmosh良さそう!と思って、Ubuntu 12.04とMacWindowsmosh入れてみたのでその顛末です。


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

実はUbuntumosh入れる方法を調べると、ほとんどのところで

$ 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

現在のところTeraTermPuttyといったWindowsでよく使われているターミナルアプリでのサポートがないため、Cygwinmoshしか選択肢はないようです。
というわけでまず、Cygwinを入れてください。話はそれからだ。


Cygwinのsetup.exeで「mosh」を検索すると、なぜかInterpretersのカテゴリに入っています。
たぶんopensshも必要になると思うので、もし入れてない人は一緒に入れておきましょう。


また、自分はこれだけではエラーが出てしまい利用できませんでした。
sshの設定でv6での名前解決をしないようにする必要があります。

~/.ssh/config に

AddressFamily inet

を設定しておきます。


ちなみに自分は最初、この「WindowsのCygwin環境でmoshを使ってみた - ナレッジエース」のエントリーを読んで、Cygwinコンパイルして利用する方法で試していたのですが、それはこのエントリーでも最後に書いてあるようにそのままではうまくmoshコマンドが利用できず、ダメでした。
でも本家サイト見てみたら、今はCygwinのsetupからインストールできちゃうという。とほほでした。


あと、そのあたりをぐだぐだやっている時、wgetgithubからのダウンロードがSSLルート証明書の問題でうまく出来ないというのがありました。

それについては@kfujiedaさんより
CygwinのgitでSSLのエラーになったら - 普段はWindowsを使っているのよ
Cygwinのsetupでca-certificatesパッケージをインストールのが正解と教えてもらいました。


twitterって、バカなことやってると、ちゃんとわかってる人が指摘してくれるんでほんとありがたいです。