別の端末から既存のコンテンツを読み取る

別の端末から既存のコンテンツを読み取る

SSH ターミナルなどの別のターミナルから既存の出力コンテンツを読み取るにはどうすればよいですか?

シナリオとしては、GUI セッションでプログラムを実行したが、後で GUI セッションに触れることなくその出力をリモートで読み取る必要があるというものです (VNC を使用すればそれが可能であることはわかっています)。StackExchange で少し検索しましたが、状況は異なります。

https://unix.stackexchange.com/a/72334将来の出力をリモート端末にリダイレクトする解決策が提供されていますが、それでも既存の出力が欠落しています。これに対する解決策はありますか?

答え1

過去に書き込まれたコンテンツは、その端末 (通常はそのプロセスのメモリ) にのみ存在します。それを読むには、端末のドキュメントを調べ、何らかの方法でアクセスできるかどうか (xterm または screen には画面やスクロール バッファのコンテンツを照会する方法があります)、アクセス可能にするために何が必要かを調べるか、端末プロセスのメモリから直接探し出す必要があります。

私の知る限り、それを実行する一般的な方法はありません。

答え2

screenターミナル セッションで使用します。後でそのセッションにアタッチして-r、終了時のターミナルの現在のビューを表示し、同じシェルで続行するオプションを使用できます。

詳細については、こちらをご覧くださいman screen

関連情報