现在 Xorg 可以自动推断配置,并且对于我的大多数用例来说,它运行完美!
我从事乘客信息系统软件工作,现在有一辆公交车的显示器安装颠倒了。
我可以用以下方法规避它:xrandr --output HMDI-1 --mode 1920x1080 --rotate inverted
除此之外,我的软件还可以在必要时通过调用xrandr
来关闭屏幕(xrandr --output HDMI-1 --off
)并重新打开( ) 。xrandr --output HDMI-1 --auto
exec
但它会检查所有连接的设备并使用它们的实际设备名称。它不是硬编码的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
似乎使用硬件提供的信息,而忽略软件设置的默认值。
因此,结论是,这不可能因为没有办法解决第二个问题提出问题。