我们有一台运行 Ubuntu 22.04 LTS 的计算机。它有四台显示器,是直播设置的一部分。一台显示器在左边,三台显示器(一个屏幕、一台投影仪和一个为直播摄像头输入信号的 HDMI-USB 转换盒)重叠在一起,占据相同的屏幕区域 - 任何一台显示器上的图像都会显示在所有显示器上。这对于投影图像并同时将其直播给远程观众非常有用。该设置位于教堂,有时由志愿者运行。我们使用的是四输出 Nvidia NVS 510 4 输出 HDMI 卡。我管理系统,但通常由志愿者或牧师运行设置 - 当没有问题时,一切都运行正常。
通常情况下,所有这个套件都可以正常工作,Xrandr 命令会在启动时经过短暂的延迟后运行,并且屏幕会显示在正确的位置。
但是有时(并非每次都是),系统启动时屏幕不会按照 xrandr 命令的规范叠加。有时重新启动会将它们恢复到正确的排列。当发生此错误时,我们无法投影和直播相同的图像,因为它们位于三个不同的虚拟屏幕上,不再叠加。
我们可以通过哪些方式来说服 xrandr 不要随机行动?或者有没有一种简单的方法,让不懂 Linux 的志愿者点击某些东西来解决问题?sleep 命令是否太短而无法保证可靠性?
这是运行 xrandr 的代码:/etc/X11/Xsession.d/45custom_xrandr-settings
sleep 15
xrandr --output DP-1 --primary --mode 1280x1024 --output DP-0 --mode 1024x768 --right-of DP-1 --output DP-2 --mode 1024x768 --same-as DP-0 --output DP-3 --mode 1024x768 --same-as DP-0