Xvfbを使用して、アプリケーションを起動し、スクリーンショットを撮ることができます。
私が不思議に思っているのは、既存の(休止中の)Xセッションからキャプチャする方法です。
Ttyまたはsshから言います。
私が理解していることから、ウィンドウはマップされておらず、リソースを保持するために存在していません。仮想ウィンドウマネージャーで既存のウィンドウやワークスペースなどをマップしてスナップできるツールはありますか?
または、おそらくlibx11
を使用し、XShmCreateImage
などを使用してスナップを作成できますか?
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セッションを「ウェイクアップ」する必要はありません。