GNU画面ウィンドウ(または単なる標準シェル))の「状態」を永続化して、再起動後にすべてを再ロードできるようにすることは可能ですか?
画面セッション全体を保存することは実際には不可能です。
あなたができることは、あなたがシステムを再起動した後にいくつかをセットアップする適切な.screenrc
を作成することです。
あなたがリストしたものへのいくつかのコメントはここにあります:
私は.screenrc
で次のようなものを使用して、起動時にいくつかの特定のシェルを開きます。
## set the default Shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
名前がデフォルトのシェルで実行された後、ウィンドウ名としての ''とコマンドの間の文字列を取得します。特定のディレクトリでの変更やいくつかのログのオープンなど、必要なスクリプトを含めます。
セッション全体でシェルの履歴を共有することを考えたことがありますか?私見これは物事をより簡単にします。 ZSHでは、setopt SHARE_HISTORY
の.zshrc
を使用します
本当にこれが必要でトレードオフを望まない場合は、画面の現在の状態を読み取り、シェルの数、環境変数などを保存し、この情報を起動スクリプトに入れるシェルスクリプトについて考えることができます。 .screenrc
から呼び出されました。画面のデフォルトのウィンドウをカスタマイズできれば、再起動後のクリーンな環境に感謝しているので、私にとってこれは努力に値しません。
screen-session というプロジェクトに遭遇しました。 GNU Screenセッションをある程度保存して再ロードできます。
cryopid と呼ばれるプロセスの状態をフリーズするツールがあります。ただし、サブプロセスの階層の再作成をサポートしていないため、現在GNU screenでは機能しません。将来的にはこれを達成したいと考えていますが、プロジェクト現時点ではあまり活発ではないようですが、進捗状況を追跡することをお勧めします。
私は同じようなことを数年前にソラリスで構築しました。画面にも関係ありません。セッション関連でした。 「$ TTYの場合=何でも」。 echoxは正しい考えを持っています。
ヒント:複数のマシンでこれを行う場合は、/ homeにマウントされた/ fsなどですべて同じであるのではなく、各マシンがログインしたときに実行する必要のあることの独自の定義に値することを認識してください。
HTH、-pbr