명령줄에서 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에 해당 인터페이스가 없는 것 같습니다.

관련 정보