web-dev-qa-db-ja.com

ssh経由でスクリーンセッションのスクリーンショットを撮る

screen -rを実行して、irssi ircセッションを確認するためだけに、ssh経由でサーバーにログインすることがよくあります。次に、Ctrl-ADlogoutを実行します。

これをスクリプトにラップして、画面セッションのスナップショットを任意の形式(グラフィックまたはテキスト)で表示できるようにするための優れたソリューションはありますか?

3
qwerty

次のようなスクリーンセッションの「スクリーンショット」を取得できます。

screen -p0 -X hardcopy hardcopy.txt

したがって、これは最初のウィンドウ(-p0)にあるもののハードコピーを取り、それをhardcopy.txtというファイルに入れます(ファイル名を省略した場合は、hardcopy.nを使用します。ここでnはゼロから始まり、毎回増分します。

スクリーンショットはリモートマシン上にあり、表示したいと思います。おそらく次のようなものです:

ssh user@remote 'screen -p0 -X hardcopy hardcopy.txt; cat hardcopy.txt'

Irssiセッションをログに記録することもできるので、以下が機能します。

ssh user@remote 'tail -50 /path/to/irssi/log'

色を維持するスクリーンショットが必要な場合、それは、sshするOSとデスクトップ環境に少し依存します。

3
Paul