web-dev-qa-db-ja.com

追加のディスプレイをエミュレートする

単一のモニターを備えたシステムがあります。複数のモニター用に設計されたxmonad構成をテストしたいと思います。 Xephyrなどを使用して3台のモニターでシステムをエミュレートして構成をテストする方法はありますか?

14
lab_notes

XephyrとXdmxを使用して解決策を見つけました

最初にXephyrディスプレイを作成します

Xephyr -screen 1920x1080 -ac :1
Xephyr -screen 1920x1080 -ac :2
Xephyr -screen 1920x1080 -ac :3

これにより、1920x1080の3つのウィンドウが作成され、それぞれがモニターとして機能します。

次に、これらの仮想ディスプレイにxineramaレイヤーを追加します

Xdmx +xinerama -xinput local -display :1 -display :2 -display :3 -ac :4

次に、新しいターミナルを作成し、ウィンドウマネージャーまたはアプリケーションを次のように起動します

DISPLAY=:4.0
xmonad

または、xmonadの代わりにアプリケーションのxineramaサポートをテストしたい場合は、xtermまたはthunarを実行できます。

7
lab_notes

Xephyrのインスタンスは1つだけ必要です。

Xephyr +xinerama -screen 1920x1080 -screen 1920x1080 -screen 1920x1080 -ac :1

RANDR拡張が必要な​​場合は、+extension RANDR引数を追加します。

Xephyr +extension RANDR +xinerama -screen 1920x1080 -screen 1920x1080 -screen 1920x1080 -ac :1

5
EFernandes

これは質問に答えますが、本格的な解決策ではありません。これらのソリューションは、3つの画面を横一列に配置します(少なくともxineramaによると(xdpyinfo -ext XINERAMA -display :1)、実際のウィンドウの配置はウィンドウマネージャーによって処理されます)。画面を他の場所に配置したい場合、これは役に立ちません。

1
uli42