我在配备 Xeon E3-1200 集成显卡的 i5 上运行两个显示器,主 HDMI1 右 1680x1050,辅助 HDMI2 左 1280x1024。
大多数时候我都会并排使用它们。偶尔我想在右侧显示器上看到 2:1 比例的 3360x2100 桌面,做一些工作,然后将其重置为原来的状态。我无法重置它。
我设置了几个别名来切换主显示器的尺寸,
alias x20="xrandr --fb 3360x2100 --output HDMI1 --scale 2x2 --mode 1680x1050 --panning 3360x2100"
alias x10="xrandr --fb 1680x1050 --output HDMI1 --scale 1x1 --mode 1680x1050 --panning 1680x1050"
alias xh="xrandr --output HDMI1 --right-of HDMI2"
无需平移本身但我似乎需要设置它来绕过“笼中鼠标”错误,如果不设置,鼠标将被限制在显示屏的左上象限。然后我似乎需要将其放下,以在 1:1 比例下恢复正常行为。
运行 x10 后,两个显示器都是 1:1,但都是左上角 0,0。当我运行 xh 时,似乎没有任何变化,显示器仍然位于左上角 0,0。然而,此时 xrandr 说桌面是 2960x1050,足够大到可以并排放置两个显示器,并且它会让鼠标消失在右侧的空白处。执行 scrot 确认屏幕宽度为 2960。
我尝试了很多实验来让主显示屏恢复到适当的偏移量 1280,0,其中包括:-
在按 2 倍缩放之前关闭辅助显示器,然后在我返回
设置 --pos 1280x0后再次打开
,为适当的显示器设置 --left-of 或 --right-of,
关闭主显示器并打开,
只需将其设置为 --auto
但似乎没有什么可以消除我造成的混乱。
在上次关闭和打开主电源的实验中,我收到了错误消息
prompt> xrandr --output HDMI1 --auto --right-of HDMI2
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 29 (RRSetPanning)
Serial number of failed request: 38
Current serial number in output stream: 38
到目前为止,我能够将显示重置回正常状态的唯一方法是重新启动电脑,但这并不理想。
(编辑)但我发现注销也能完成这项工作,而且 --force-logout 别名可以让我从终端到达那里,盲目地,这是我准备使用的解决方法(/编辑)
如果我进入 GUI 屏幕分辨率工具,我可以移动屏幕,但是当我要求它应用时,它们会跳回到原来的位置,所以这个工具似乎也失去了控制。
我想我想要的是一个命令,它说‘回到开机状态’,或者至少停止平移,停止缩放,停止 fb。--auto 似乎没有做到这一点。
在之前的一些实验中,我在 HDMI2 上使用了 --pos、--above 和 --left-of,它们的表现符合预期,将两个显示器堆叠或并排显示。然而,在使用它们之前,我并没有摆弄过 --scale、--fb 或 --panning。
是我操作 xrandr 的方式不对,还是硬件兼容性问题的证据?我该如何系统地寻找解决方法,我觉得我现在完全是在摸索和希望?