最近のデスクトップ環境は通常、以前のセッションで開いていたすべてのアプリケーションを実行し、一部の端末エミュレータは以前と同じように多くのタブを開くことができますが、私はそのような端末エミュレータを見たことがありません。
- ターミナルエミュレータを閉じるときに、以前のシェルがあったディレクトリでシェルを開きます。と
- 前と同じ出力を表示します。。
技術的には、次の両方が可能でなければなりません。
- シェルの現在の作業ディレクトリはファイルシステムを介して見つけることができます
/proc
。 - 端末エミュレータが閉じる前に表示されたすべてのテキスト(ANSIシーケンスを含む)を保存すると、その状態が復元されます。それから最後にあったディレクトリからシェルを起動します。ターミナルエミュレータがターミナルを閉じた後と同様に、シェルの履歴ファイルの状態を保存すると、次回の起動時にシェルはその特定の履歴ファイルをロードすることもできます。
もちろん、前のコマンドの終了コードや以前の作業ディレクトリを変数に提供するなど、他のものもありますが、私の主な内容は次のとおりです。やる気Xセッション全体を終了するか、コンピュータを再起動する必要がありますが、前のコマンドの結果(エラーが発生したコンパイラの実行、またはいくつかの警告を含むパッケージのビルドなど)を引き続き処理できます。その出力を手動でキャプチャすると、私に警告が表示されます。
だから私は知りたいです:Xこれらのタスクを実行できる端末エミュレータはすでにありますか?
他のアプリケーション(特にテキストモードアプリケーション)がそのような端末(おそらくシェル内で呼び出される)で実行されている場合、状況は確かにより困難です。状態の複製は、ディレクトリ名と履歴ファイルだけで行われるものではありません。
しかし、繰り返しますが、プロセス全体を凍結または凍結解除する(やや効率的な)ツールがあります。