私は、FreeBSDやLinuxサーバーにアクセするときには接続が切断されにくいsshクライアントであるmoshを使っています。その設定は以下で書いています。
FreeBSDとMacOS Xでmoshを使うWindows 10でもBash on Ubuntu on Windows(以下BUW)により、Linux環境が使えるようになったので、moshを使えるようにしてみました。
http://www.sakashita-net.jp/2015/05/freebsdmacos-xmosh.html
MacOS Xのターミナル.appでmoshを使う(日本語環境の場合)
http://www.sakashita-net.jp/2015/05/macos-x1095appterminalappmosh.html
MacOS XのTerminal.appでmoshを使う(英語環境の場合)
http://www.sakashita-net.jp/2015/05/macos-xappmosh.html
BUWのインストールは以下を参考にしました。
Windows 10で始めるBash次に、BUWのコンソール環境をインストールします。というのは、デフォルトのコンソールである現在のバージョンのcmd.exeは日本語表示に難があるためです。これは以下を参考にしました。
1 フォルダー内のJPEGファイルを連番でリネームする
http://news.mynavi.jp/series/bashonwindows/001/
Windows 10で始めるBash私の場合、wsl-terminalは「Program Files」の下に展開し、open-wsl.exeのショートカットをスタートメニューに入れています。このとき、コンソールのminttyの設定がうまく保存できなかったので、wsl-terminalフォルダの中にあるetc/minttyrcファイルを直接編集しました。値は、
10 時間軸でデスクトップを片付ける
http://news.mynavi.jp/series/bashonwindows/010/
Git Bashでssh-agentを動かすで書いたように、既にminttyを使っていたので、その値をそのまま使いました。
http://www.sakashita-net.jp/2016/08/git-bashssh-agent.html
$ cat minttyrc一度、minttyrcを設定すると、GUIでの設定変更を保存できるようになりました。なので、BoldAsFontなど、1行だけ設定を書いてから、設定すれば保存できるのかもしれません。ただ、複数のシステムでの検証はしていません。
BoldAsFont=yes
ForegroundColour=0,0,0
BackgroundColour=255,255,255
Transparency=low
FontHeight=13
Font=MeiryoKe_Gothic
BackspaceSendsBS=yes
CtrlShiftShortcuts=yes
CursorType=block
CursorBlinks=no
Columns=90
Rows=50
ScrollbackLines=0
Scrollbar=none
BoldAsColour=no
FontSmoothing=default
Locale=ja_JP
Charset=UTF-8
$
ホームディレクトリはWindowsと共有できるように
/mnt/c/Users/名前にしています。
$ cat passwd.bashrcには上で紹介したWWWページ中のssh-agentの設定を書いています。
……
名前:x:1000:1000:"",,,:/mnt/c/Users/名前
$
これでとりあえずsshなどでサーバーにログインできるようになりました。次にmoshです。
Ubuntu Weekly Recipeにあるように「sudo apt-get install mosh」とするだけで、インストールはできたのですが、うまく動きません。接続すると、
第220回 Ubuntuでモバイルシェル「Mosh」を使う
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0220
[mosh is exiting.]となり、すぐに接続が切れてしまいます。
検索エンジンで探してみると、どうもBUWのptyの扱いに不具合があるようです。
Client not working on Bash on Windows #781これを読んでみると、不具合のフィードバックはしている、動くようにしたバージョンを作ってみたと書いてあります。そこで、
https://github.com/mobile-shell/mosh/issues/781
cgull/mosh forked from mobile-shell/moshからソースコードをダウンロードしてコンパイルしてみました。ダウンロードは右上の「Clone or download」から「Download zip」を選びます。そして、展開した後、次のWWWページの指示に従ってコンパイル、インストールをします。
https://github.com/cgull/mosh/tree/wsl-workarounds-14361
Build Instructions具体的には次のようにします。
https://github.com/mobile-shell/mosh/wiki/Build-Instructions
$ cd 改変したmoshを展開したディレクトリ試してみると、うまく動きます。
$ sudo apt-get install automake libtool g++ protobuf-compiler libprotobuf-dev libboost-dev libutempter-dev libncurses5-dev zlib1g-dev libio-pty-perl libssl-dev pkg-config
$ ./autogen.sh
$ ./configure
$ make
$ make install
$