仅覆盖特定监视器的选项旋转,同时保留其他自动配置值

仅覆盖特定监视器的选项旋转,同时保留其他自动配置值

现在 Xorg 可以自动推断配置,并且对于我的大多数用例来说,它运行完美!

我从事乘客信息系统软件工作,现在有一辆公交车的显示器安装颠倒了。

我可以用以下方法规避它:xrandr --output HMDI-1 --mode 1920x1080 --rotate inverted

除此之外,我的软件还可以在必要时通过调用xrandr来关闭屏幕(xrandr --output HDMI-1 --off)并重新打开( ) 。xrandr --output HDMI-1 --autoexec
但它会检查所有连接的设备并使用它们的实际设备名称。它不是硬编码的HDMI-1

这里的技巧是--auto默认使用默认配置,在这种情况下,默认设置是让屏幕按照预期旋转,这是因为它是上下颠倒安装的,嗯......是上下颠倒的。

如果我在软件启动时添加xrandr --rotate调用,它会篡改其他不需要此调用的实例。在这种情况下,用软件解决这个问题太费劲了,而我认为另一种方法是提供默认通过 Xorg 配置增强。
我可以手动设置每个安装中的增强功能,其中屏幕以奇怪的方式安装,并尽可能使软件保持通用。

我的想法是添加Option "Rotate" "inverted"到配置中/usr/share/X11/xorg.conf.d/xx-HDMI-1-default-rotation.conf
再次,HDMI-1 将在每次安装时替换为实际设备名称,这恰好是 HDMI-1。

第一个问题:我不知道如此微小的增强是否有可能。
第二个问题:我不知道xrandr --auto在这种情况下是否会将其用作默认值。
第三个问题:在这个自动配置设置中,我不知道如何连接增强功能,因为我不知道Identifier要使用哪一个。

Section "Monitor"
    Identifier "???" <-- what to use here, so I don't override other defaults inferred by Xorg?
    Device "???" <-- what to use here, so that it applies to devices found by Xorg?
    Option "Rotate" "inverted"
EndSection

我能想到的另一种方法是使用Xorg :0 -configure并在那里添加我的增强功能,但在这种情况下,我不确定配置是否有效并且不会篡改其他任何东西。

我不是 X 专家,并且该Xorg :0 -configure调用为我提供了太多的配置参数,导致我在生产中使用它的信心大大降低。

答案1

好的,经过谷歌搜索后,我找到了一种最低限度地增强 Xorg 自动配置的方法(至少对于Monitor部分而言)。

/usr/share/X11/xorg.conf.d/00-hdmi-1-default-rotation.conf

Section "Monitor"
    Identifier "HDMI-1" # Use the one reported by xrandr
    Option "Rotate" "inverted"
EndSection

我注意到Xorg.0.log这个被选中了,耶第一个问题&第三个问题可以照此方法解决!

至于第二个问题xrandr --auto似乎使用硬件提供的信息,而忽略软件设置的默认值。

因此,结论是,这不可能因为没有办法解决第二个问题提出问题。

相关内容