iOS用のmosh/ssh環境作成

iPad Pro+smartkeyboardを手に入れました。リモートのlinuxマシン上でちょっとした作業をしたいけれども、いちいちPCを起動するのが面倒なときのために、早速mosh/sshクライアントアプリをインストールすることにしました。結論から言うと、しばらくはBlinkというアプリを使う予定です。

App Storeにおいて"mosh ssh"で検索したところ、該当するのはTermiusとBlinkの二つのみでした。前者は評価版を無償で使えるようなので、とりあえず前者を試してみました。こちらはsshは期待通り動くのですが、moshの挙動が怪しいのが難点でした。なにより辛いのが、emacs上でC-spcによる範囲選択が動作しないことでした。このため候補から外しました。

次に試したのがBlinkです。ろくに情報もレビューも無いのに2400円もするのが不安でしたが、悩んでる時間が勿体無いので買ってみました。起動してみると、そろそろ2020年になろうとするこの時代のiOSアプリとしては信じられないほど不親切な出来栄えであり、最初はいきなり謎のコマンドプロンプトが表示されて放置でした。Windowsユーザだったころにlinuxを最初に触ったときの絶望感を思い出しました。

最初はハズレを掴まされたかなと思ったのですが、一旦触ってみるとTermiusとは異なり、前述のmoshの問題も無いため、しばらくはこれを使ってみることにしました。C-mが効かないという別の問題があるのですが、致命的ではないこと、かつ、次のように、すでにgithub上にissueも発行されていることより、しばらく我慢することにしました。

github.com

最後に、どちらのクライアントも私の持っているJISキーボードでは"\"が入力できずに"¥"になってしまうことが大きな問題でした。プログラミングで頻繁に使用するエスケープシーケンスを挿入するためには必須のキーなので、これは辛いです。本来は"option + ¥"によって"\"を入力できるのですが、optionキーでescをエミュレーションしているせいか、この手は使えませんでした。結局のところ.emacsへの次の行を追加によって解決しました。

(define-key global-map (kbd "¥") "\\")