XQuartzにアプリケーションを登録すると、MacBook AirからBeelink S1の「emacs -damon」を起動できる。
これはよかった。「emacs -daemon」はXQuartzを終了させてもBeelink S1で立ち上がりつづけるからだ。Emacsが一種のサーバになる。これに接続するには「emacsclient」を使うのだけれど、「ssh -Y ほげほげ emacsclient -c」でこれはOK。XQuartzにEmacsが表示される。
実体は「emacs -daemon」なのでそれまで編集していたバッファとかがそのまま、残されている——なのだけれど、どうやらXサーバに接続する「-c」オプションはemacsclientを終わらせてもXサーバに接続されたままらしい。Xサーバ(XQuartz)を終了させると、「emacs -daemon」がcoreを吐いて落ちてしまう1。
これがターミナル上に表示される「-nw」オプションだと、emacsclientを終了させてもdaemonは動きつづけているし(ここまでは「-c」オプションのときと同じ)、ターミナルを終了させてもだいじょうだ(ここがちがう)。もちろんMacBook Airを終了させてもOKだ。
ふむ。
しかたないのでワンクッションいれることにした。
「ssh -Y ほげほげ」でBeelink S1からターミナル2を立ち上げ、その中で「emacsclient -nw」を立ち上げる。これでEmacs自体はXに接続していないのでdaemonごとお亡くなりにならないだろう。Beelink S1のターミナルならcommandキーをmetaキーと認識できる。ただしクリップボードの共有はできないけれど。
まぁ、これはしかたないか。
アプリケーションには次のように登録した。
ssh -Y ほげほげ lxterminal -e emacsclient -nw
これでemacsclientまで一気に起動される。当たり前だが、起動はやたら速い。