試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

mltermにおける複数の疑似端末の扱いについて

mltermは、1つのmltermプロセスの中に疑似端末(PTY)を複数持つことができ、疑似端末の切り替えも、いつでもできる。
プロセスのツリー構造表示を行うpstreeコマンドを実行させることで、1つのmltermプロセスの下に複数のシェルがぶら下がっていることが確認できる。

複数起動時のプロセスツリー
├─mlterm───(シェル)
├─mlterm───(シェル)───(実行中のプロセス)
├─mlterm───(シェル)───(実行中のプロセス)───(プロセス)...

マルチPTY動作時のプロセスツリー
├─mlterm─┬─(シェル)
         ├─(シェル)───(実行中のプロセス)
         └─(シェル)───(実行中のプロセス)───(プロセス)...

  1. アクティブ状態・バックグラウンド状態
  2. 疑似端末を制御するキー操作
  3. 注意点

アクティブ状態・バックグラウンド状態

疑似端末がウィンドウに表示されているものが「アクティブ」で、後ろで何かの動作をしているがどのウィンドウにも表示されていない(見えない)ものが「バックグラウンド」。

疑似端末を制御するキー操作

デフォルト設定での操作は以下のようになっている。キー設定ファイル[ホームディレクトリ]/.mlterm/keyで変更可能。
疑似端末を制御する既定のキー操作
キー機能名動作
Ctrl+F1OPEN_SCREEN新規疑似端末をウィンドウとともに作成
Ctrl+F2OPEN_PTY新規疑似端末を現在のウィンドウに作成し、切り替える
Ctrl+F3NEXT_PTY疑似端末の切り替え(次)
Ctrl+F4PREV_PTY疑似端末の切り替え(前)

注意点

  • 疑似端末は、基本的に他のタブ式端末エミュレータと同様、mltermのプロセス終了時に終了してしまう。しかし、デーモンモードという動作モードを使用することで、中のシェルの状態を保存させることは可能。
  • ウィンドウマネージャの「閉じる」機能により閉じたウィンドウの中のプロセスはバックグラウンドで動作し続け、別のウィンドウからNEXT_PTY/PREV_PTYでアクティブにできるようになる。