mltermのデーモンモードについて
mltermは、デーモンモードという動作モードを持ち、mlclientというクライアントを実行させると、mltermを普通に起動したかのように見えるが、内部的には、デーモンとして起動された(1つの)mltermプロセスの中で新しく疑似端末を作っている。
2種類の動作モード(blend,genuine)の違い
- blendモードでは、全ウィンドウが閉じられた時点でデーモンは終了する。
- genuineモードでは、全ウィンドウが閉じられてもデーモンは終了しない。
デーモンモードを使用するメリット
- mlclientで新規ウィンドウを開くと、mltermを普通に起動させるよりも短時間で、素早く開く
- ウィンドウを複数開く場合、mltermを複数起動させるのと比べて使用メモリが節約できる
- genuineモードで使用すると、ウィンドウを全て閉じても中のシェルの状態は保持され*1、後にmlclientで接続したときに同じ状態で作業再開ができる。GNU screenでも同様のことが可能。GNU screenの方が好みという人もいるので、使い方は人それぞれ。
注意点
- [ホームディレクトリ]/.mlterm/以下の設定はデーモン起動時にのみ読み込まれるため、設定の変更を反映したい場合にはデーモンを再起動*2する必要がある。
- mlclientは、mltermのコマンドラインオプションのほとんどが使用できるが、一部使用できないものもある。その一覧はmlclientのマニュアルページで確認できる。
- セキュリティについてほとんど考慮していないとのことなので、外部ネットワークにつながった環境では使用しないほうがよさそう。
(2014/10/10)manページのリンク先を修正
使用方法
デーモン動作時はmlclientを起動すればよいが、動作していない(mlclientが失敗する)場合にはデーモンを起動させるようにする。以下の内容のシェルスクリプトを作成して、メニュー項目やランチャに登録しておくと便利。[任意]ファイル名: ~/bin/mlterm.sh
#! /bin/bash mlclient "$@" 2>/dev/null || mlterm -j genuine "$@" # genuineモードで使用 #mlclient "$@" 2>/dev/null || mlterm -j blend "$@" # blendモードで使用する場合
クライアントの状態一覧を見る
$ mlclient -P
と実行することで、クライアントの端末の状態が一覧できる。