web-dev-qa-db-ja.com

ttyのXのスクリーンショット

Xvfbを使用して、アプリケーションを起動し、スクリーンショットを撮ることができます。

私が不思議に思っているのは、既存の(休止中の)Xセッションからキャプチャする方法です。

Ttyまたはsshから言います。

私が理解していることから、ウィンドウはマップされておらず、リソースを保持するために存在していません。仮想ウィンドウマネージャーで既存のウィンドウやワークスペースなどをマップしてスナップできるツールはありますか?

または、おそらくlibx11を使用し、XShmCreateImageなどを使用してスナップを作成できますか?

15
Runium

Ctrl-alt-F(x)を使用せずに、コマンドラインから手動でXttyを「オン」にすることができます。

Xがtty 7にあり、テキスト端末にログインする場合

chvt 7 ; DISPLAY=0.0 xwd -root > screendump.xwd ; chvt 1

ただし、xhost + localhostはxsession内で発行する必要があります。そうでない場合、xwdはxサーバーに接続できません。

これにより、sshセッションからそれを行うことができます。

PS:理論的には、 [〜#〜] mtd [〜#〜] を使用すると、ビデオカードのメモリから画面キャプチャを実行できるはずです。したがって、最初にXセッションを「ウェイクアップ」する必要はありません。

7
John Siu