完全なGNU画面セッション状態の保存

完全なGNU画面セッション状態の保存

再起動後にすべてを再ロードできるように、GNU画面ウィンドウ(または標準シェル)の「状態」を保存することは可能ですか?

  • 開いた殻の数
  • 各シェルの名前
  • 各シェルの現在のディレクトリ
  • 各シェルの歴史
  • 可能であれば環境変数

ベストアンサー1

フルスクリーンセッションを保存することは事実上不可能です。

あなたができることは、.screenrcシステムを再起動した後にいくつかのことを設定する適切なファイルを作成することです。

あなたがリストした内容に関するいくつかのコメントは次のとおりです。

  • 開いた殻の数
  • 各シェルの名前
  • 各シェルの現在のディレクトリ

起動時に.screenrc特定のシェルを開くには、次のものを使用します。

## set the default shell
shell                   zsh

# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]

ウィンドウ名として「」の間に文字列が表示され、名前の後のコマンドはデフォルトのシェルで実行されます。特定のディレクトリの変更、一部のログオンなど、必要なスクリプトを含めます。

  • 各シェルの歴史

セッション内でシェル履歴を共有することを検討しましたか? IMHO これにより、作業が簡単になります。 ZSHでは、すべてのsetopt SHARE_HISTORY操作が完了します。.zshrc

  • 可能であれば環境変数

これが本当に必要であり、妥協点を作成したくない場合は、画面の現在の状態を読み、シェルの数、環境変数などを保存し、その情報を呼び出す起動スクリプトです.screenrc。私にとっては、画面のメインウィンドウをカスタマイズできる場合は、再起動後にクリーンな環境が好きなので、努力する価値はありません。

おすすめ記事