コマンドラインでGNOME / Waylandディスプレイ構成を構成する

コマンドラインでGNOME / Waylandディスプレイ構成を構成する

WaylandセッションのコマンドラインでMutter / GNOMEシェルのモニタ設定を設定することは可能ですか、それともまだ実装されていませんか?

私はxrandrコマンドを使っていくつか変更しました(しかし、xrandrの「x」はXserverツールであることを示しているので、これはうまくいきませんでした)。

このコマンドは機能しません(Fedora 23 / GNOME 3.18.2を使用)。

xrandr --output XWAYLAND0 --off

ただし、構成を表示するために含まれているgnome設定ダイアログボックスが実行されています。設定ファイルやコマンドラインツールに関するヒントがあれば良いと思います。

ベストアンサー1

Mutter ドキュメントは @don_crissti がコメントで指摘したように dbus へのインタフェースを指定します。

https://gitlab.gnome.org/GNOME/mutter/blob/master/src/org.gnome.Mutter.DisplayConfig.xml

構成のシリアル番号とコネクタを見つける必要があります。

構成順序は、表示される最初の数字です。

gdbus call \
--session \
--dest=org.gnome.Mutter.DisplayConfig \
--object-path /org/gnome/Mutter/DisplayConfig \
--method org.gnome.Mutter.DisplayConfig.GetResources

私の場合はuint32 33を使用します。

コネクタ:ls /sys/class/drm私の場合は試行錯誤を経てこれがcard0-DP-2正しいことが確認され、出力をDP-2理解して試すこともできます。DisplayConfig.GetResources

他のオプションを設定すると、最終コマンドは次のようになります。

gdbus call \
--session \
--dest=org.gnome.Mutter.DisplayConfig \
--object-path /org/gnome/Mutter/DisplayConfig \
--method org.gnome.Mutter.DisplayConfig.ApplyMonitorsConfig \
3 1 "[(0, 0, 1, 0, true, [('eDP-1', '[email protected]', [] )] )]" "[]"

残念ながら、正しい形式(「モードID」とも呼ばれます)で解決策を渡しても、この方法は機能しません。

Error: GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: Invalid mode '[email protected]' specified
(According to introspection data, you need to pass 'uua(iiduba(ssa{sv}))a{sv}')

編集する:

理由を見つけました。更新頻度はDisplayConfig.GetResources報告される正確な文字列でなければなりません。残念ながら、希望のリフレッシュレートを設定できません!したがって、次のランダムな文字列を使用する必要があります59.810825347900391

gdbus call \
--session \
--dest=org.gnome.Mutter.DisplayConfig \
--object-path /org/gnome/Mutter/DisplayConfig \
--method org.gnome.Mutter.DisplayConfig.ApplyMonitorsConfig \
3 1 "[(0, 0, 1, 0, true, [('eDP-1', '[email protected]', [] )] )]" "[]"

全体的に、これは非常に制限的に使用されます。 CVTまたはGTFタイミングを生成して表示モードを追加する方法が必要ですが、DisplayConfigには対応するインターフェイスがないようです。

おすすめ記事