この間 iOS デバイス用 IRC クライアントとして LimeChat を入れたのだけれど、SSH port forwarding は別のホストに頼っていた(記事)。 でもやっぱり iOS デバイス内で SSH port forwarding もまかないたいと思い iSSH を入れてみた。
結論としては、やはり iOS マルチタスキングの制約によりバックグラウンドから10分でサスペンドになってしまい接続が切れてしまう。むむむ。まあストアで
Multitasking support - can hold connections open for up to 10 minutes
と書いてある通りではあるのだけれど。残り時間が近くなると通知でお知らせしてくれるので、再度フォアグラウンドにもってきて継続させることはできるのだけれど、手間だし、ずっと操作しているときはいいけれどその辺に置いておいてたまにウオッチするというのには向かない。あとアプリのせいではないけれど、メモリを使ような写真系アプリの起動とかしちゃうとあっさり止められちゃうのも悲しい。
あと、ポートフォワードしているローカルポートに LimeChat か接続しても「接続を試みます…」「接続しました」で止まってしまうことが多々ある。ちょっと原因不明だし不便。
SSH クライアントとしても「日本語が表示できない」「Active Connections 画面の Back ボタンが効かなくなることがある」「起動後 ssh-add までに必要なタップ数が多い」「ssh-add の後に落ちやすい」などもうちょっとお願いしますというところ。
ノート PC でサスペンドして移動してまた開いて使おうとすると SSH 接続が切れていてまた PuTTY で接続しなおしからとか、ちょっとコードを確認したり Emacs でノートを取りたい時に不便。
そんな場合は Mosh (mobile shell) を使うと良いらしい。
ただ Windows だと Cygwin かーと思ったら MobaXterm が Mosh をサポートしているとのことなので入れてみることにした。
ポータブルアプリケーション版があるのでアーカイブを展開してそのまま使える。 Pageant に対応しているので、PuTTY で Pageant で秘密鍵管理している端末ならそのままさくっと使えるのも良い。
実際に MobaXterm + Mosh と PuTTY + SSH の両方で接続した状態で、サスペンド後に再開してみたところ後者が切れている場合でも前者はきちんとつながったままだった。
いい感じ。ノート PC ではしばらくこれを使ってみることにする。
ノート PC 上の Emacs で Dropbox で共有しているファイルを編集してフタを閉じて家を出る。 スマートフォンだったり別の端末でそのファイルを参照したり続きを書こうとしたりしたら……あれさっき書いたやつは……上書き保存 (C-x C-s) し忘れたままサスペンドしてしまったか……。あるある。
結構切ないので更新するたびに自動で上書き保存するように設定しておくことにした。 この手のは kentaro 氏 の auto-save-buffers-enhanced.el が有名なようなのでそれを利用させていただく。
設定はとりあえず以下。
(require `auto-save-buffers-enhanced) (setq auto-save-buffers-enhanced-interval 3) (setq auto-save-buffers-enhanced-include-regexps '("/howm/capture/")) (auto-save-buffers-enhanced t)
~/var/howm/capture/ 以下など /home/capture/ がパスに含まれるものを自動的に保存するように設定した。慣れてきたらだんだん対象を増やすつもり。
自分は開いているプログラムのソースファイルに気がついたら 'p' とかよく間違えて入力しちゃっていることがあるので、全部自動保存対象にするのはやめておく。あと保存したら即公開系のものもちょっと危険なので対象外にしておくつもり。
それとファイルの保存時に hook で delete-trailing-whitespace を呼んで行末の余分な空白文字列は除去しようとしている(プログラムを書く人ならみんなそうしているよね?)んだけれど、しょっちゅう自動保存が走ってそのたびに毎回行末の空白が消えるとちょっと困る(英単語間のために空白を入力している状態の時とか)。
Org Capture で追記する時なんかも
- [2014-07-04 23:10:20] (←ここにスペース1コ)
を自動挿入しているのだけれど挿入した直後に上書き保存されてテンプレートの最後の空白が無くなるとがちょっと嫌。ということでインターバルは3秒に設定してみた。これぐらいなら問題ないはず。
昨日 Wi-Fi でつながらなくなった Debian GNU/Linux sid な ThinkPad X200 であるがいろいろ試行錯誤しても駄目で、しょうがないので network-manager パッケージ(NetworkManager)を以前のものにダウングレードすることにした。snapshot.debian.org から古い Debian パッケージをダウンロードしてきて、dpkg でインストール。同時にアップデートしていたいくつかのパッケージの依存関係の問題でダウングレードできないと出るので、それらも1つずつ古いのを取ってくる。
最終的にダウングレードできたものの、結局やはり Wi-Fi がつながらないのでこれも駄目かとまた最新のバージョンに上げたらあっさり接続できるようになった。あれ? もしかしたら普通にreconfigure とかで直ったのかな?
「ディスプレイを閉じたらサスペンド」の方はまだ直らず。とりあえず s2ram -f でのサスペンドは効いたのでこれでしのぐことにする。
あとアップデートするパッケージを精査するの大変なので不要なパッケージを適宜 purge したり。数年使っていない TeX もさよならした。ちょっとキュンとなった。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。