X11を使用してクラウド上のコンピュータ(ec2、Compute Engineなど)に表示されるプログラムを実行しようとしています(xeyesまたは同様のものと仮定)。私が知っている限り、-X
サーバーにSSHで接続するときにそのオプションを使用すると、X11サーバーにWindowsが表示されるようにすることができます。しかし、実際にそのコンピュータにウィンドウを表示しようとしています(これはなぜ必要なのかわかりませんが、必要なビデオ録画プログラムがいくつかあります)。どうすればいいですか?スケーラブルなソリューションを作成しようとしています。
家に機械があってテスト中です。 Ubuntuデスクトップ20.04があります。正常にログイン(キーボード、マウス、モニター)すると、ps aux | grep X
Xサーバーが稼働していることがわかります。コンピュータにSSH接続し、DISPLAY
環境変数を変更してコンピュータでグラフィックプログラムを起動すると、同じ内容が表示されます。ただし、Ubuntuデスクトップを介してシステムにログインしないと、実行中のXサーバーがなく、プログラムを起動できません。私はこれがおそらくそうであることを理解しています。私は機械がモニターを持っていると思うように「だまされたい」と思います。
を実行してsshからxを起動しようとしましたが、sshでUbuntu Desktopを起動する必要があるかどうか、またはX11プログラムを実行するためにまったく別の作業を実行する必要があるかどうかわかりませんstartx
。Only console users are allowed to run the X server
私の仕事に役立つかもしれないいくつかの一般的なX11質問があります。
- 実際にXでレンダリングする人は誰ですか? XClientの場合、すべてのグラフィックをレンダリングし、rawピクセルをX-Serverに送信して表示しますか?あるいは、XClientはレンダリングしたいウィンドウのいくつかの表現を送信し、Xserverはそれをレンダリングします。 IE、超高速GPUがあり、XserverとXClientが別のコンピュータで実行されている場合は、どのコンピュータでGPUを実行する必要がありますか?
- X11は、コンピュータ(HDMI、VGA)に接続されている実際の入力を表示するときにのみモニタを認識しますか、またはレンダリングできるソフトウェア専用のモニタを持つことができますか?
この問題を解決するのに役立つ可能性がある資料をお読みください。この部分のお手伝いをいただきありがとうございます。ありがとうございます!
編集1:実際のユースケースは排他的ですが、アイデアはChromeウィンドウをレンダリングし、時間の経過とともにウィンドウの出力をビデオファイルに書き込もうとしていることです。スケーラビリティに優れており、設定と実行が簡単であることを願っています。