MacでX11 Forwardingで接続が切れる問題をどうにかした
わたしの研究室では手元のクライアントから計算機(Linuxマシン)にsshで繋いで作業をすることが多い. 作図なんかも多くの場合繋いだ先の計算機で行う. その際に作図した図の確認をするためにGUIが必要である. 手元にもってきてもいいがsshでつないでGUIを使う方法としてX11 Forwardingがある.
困ったことになぜかMacからつなぐとX11 Fowardingがなぜか途中で切れる. この現象がなかなか解決せずここ数年放置してたものの,いちいちつなぎ直すのも面倒なのでついに調べてみた. 結論から言うと手元のsshの設定で「X11 Fowarding」を設定すればよかった.
今まではTCPKeepAliveしても改善しないなぁと思っていた. なにか他に設定できるところはないかssh_configのmanをよく読むと下記があった.
ForwardX11Timeout Specify a timeout for untrusted X11 forwarding using the format described in the TIME FORMATS section of sshd_config(5). X11 connections received by ssh(1) after this time will be refused. The default is to disable untrusted X11 forwarding after twenty minutes has elapsed.
つまり,sshのコネクションだけではなくX11のタイムアウトもありそれがデフォルトだと20分で切れるということらしい. そこでこのForwardX11Timeoutの値を24hに設定してあげた. 結果,今のところ切れずに使えている.
結論.manをちゃんとよんで設定しましょう.