我刚买了一个外接显示器,当我调用 xrandr 设置显示器时,我的电脑崩溃了。以下是我的情况:
笔记本电脑:戴尔 XPS 13(3200x1800,编辑:高清晰度(HiDPI)
显示器:华硕 VZ279 (1920x1080),
操作系统:Ubuntu 18.04。
显示器在我前面,笔记本电脑在我右边。如果我查看 Ubuntu 的显示设置,结果要么是我选择 200% 比例,外接显示器显示的所有内容都大 2 倍,要么是我选择 100% 比例,笔记本电脑显示的所有内容都小 2 倍。当我没有外接显示器时,我只会将其设置为 200%。
我在这里和通过谷歌查找了一些解决方案,我知道有两种解决方案可以同时使两个显示器变为常规尺寸:
- 将笔记本电脑的分辨率降低至 1600x900,并将所有内容缩放至 100%。这是我正在采取的临时解决方案,但我失去了笔记本电脑的良好分辨率。
- 使用 xrandr 设置不同的比例。这就是我想做的,但我这样做时我的笔记本电脑崩溃了。
这是我使用的代码:
xrandr --output DP1 --scale 2x2 --mode 1920x1080 --fb 7040x2160 --pos 0x0 --output eDP1 --scale 1x1 --mode 3200x1800 --pos 3840x0
让我来分解一下:
--output DP1
是外接显示器,
--scale 2x2
这应该会使显示屏缩小 2 倍,
--mode 1920x1080
这是显示器的显示,
--fb 7040x2160
这是帧缓冲区大小,我通过 (2*1920+3200)x(2*1080) 获得,它必须跨越两个显示器的总大小,
--pos 0x0
是监视器的位置,
--output eDP1
我的笔记本电脑屏幕是
--scale 1x1
笔记本电脑的显示屏不需要变小,
--mode 3200x1800
我的笔记本电脑的显示屏,
--pos 3840x0
笔记本电脑显示屏的位置,即(2*1920)x0。
现在,当我运行此程序时,我看到两个屏幕都采用了我想要的分辨率,并且我的鼠标指针完全按照我想要的方式从一个屏幕移动到另一个屏幕,但是一些东西移动得很奇怪(例如,我的笔记本电脑显示屏的一部分出现在我的大屏幕上,反之亦然),并且除了鼠标指针之外的所有内容都冻结了。我必须按住电源按钮 5 秒钟关闭笔记本电脑,然后重新启动,才能解冻它。
你知道我可能做错了什么吗?
谢谢!
编辑:根据评论,我添加了发布此文章之前已经尝试过的解决方案。
我的大部分试验最初都没有这个--fb
选项。我按照在 stackexchange 上其他地方找到的解决方案添加了它,我保留它是因为它是我获得所需结果的唯一方法(分辨率正确,但一切都崩溃了)。
如果我删除该--fb
选项并一次只使用一个监视器,就会发生以下情况。
我首先将所有内容恢复为“正常”,因为我一直在尝试一些东西:
xrandr --output DP1 --scale 1x1 --mode 1920x1080 --pos 0x0 --output eDP1 --scale 1x1 --mode 3200x1800 --right-of DP1
。在 Ubuntu 显示 GUI 中,我检查每个显示器的分辨率是否正确(我的笔记本电脑为 3200x1800,外接显示器为 1920x1080)并且比例为 100%。现在的情况是:外接显示器看起来不错,笔记本电脑分辨率高,但一切都太小了。为了让笔记本电脑尺寸合适,我进入 Ubuntu 显示 GUI,并将比例设置为 200%。现在的情况是:我的笔记本电脑具有正确的尺寸和分辨率,但外接显示器看起来大了两倍。
为了让外接显示器看起来尺寸合适,我“单独”更改了它的比例:
xrandr --output DP1 --scale 2x2
。现在的情况是:问题很多!首先,所有内容的缩放比例都恢复到了 100%,我可以通过查看 Ubuntu 显示 GUI 来确认这一点。我的笔记本电脑缩放比例又回到了 2 倍小,外接显示器也不再是 2 倍大,但除此之外,外接显示器似乎还按照--scale 2x2
说明操作,现在外接显示器小了 2 倍。换句话说,我想使用 Ubuntu 显示 GUI 中的整体缩放比例 200%,然后单独将外接显示器缩放比例设置为 2x2(因此小了 2 倍),但现在我的整体缩放比例为 100%,外接显示器小了 2 倍。最后,我的笔记本电脑屏幕的位置仍然基于外接显示器的 1x1 比例,因此外接显示器的显示覆盖了我笔记本电脑屏幕的一半。xrandr 输出为:Screen 0: minimum 8 x 8, current 5120 x 2160, maximum 32767 x 32767 eDP1 connected 3200x1800+1920+0 (...) DP1 connected primary 3840x2160+0+0
似乎只需返回 Ubuntu 显示 GUI 并将缩放比例恢复到 200% 即可解决此问题。这就是我所做的。现在的情况是:外接显示器又变大了 2 倍,就像忘记了它的
--scale 2x2
说明一样,而笔记本电脑又变小了 2 倍,而且只使用了左上角。xrandr 输出为Screen 0: minimum 8 x 8, current 5120 x 1800 (...) eDP1 connected 6400x3600+1920+0 (...) DP1 connected primary 1920x1080+0+0
。现在问题似乎是笔记本电脑显示器的分辨率,所以我用
xrandr --output eDP1 --mode 3200x1800
...将其重新设置为 3200x1800,当我运行它时,我的电脑崩溃了!感谢 askubuntu 保存了此草稿。
我尝试过按各种顺序执行这些步骤,但似乎总是在达到所需分辨率之前发生崩溃。我尝试执行的操作是否不可行?比如,我的电脑或操作系统不支持它?
编辑2:按照 user.dz 的建议,我运行了sudo sh -c "lsb_release -sd; dmidecode -s system-product-name; echo ==; lshw -c display; echo ==; xrandr --verbose; echo ==; cat /etc/X11/xorg.conf"
,同时两个显示器都已连接并以 1x1 缩放,输出可以在此处找到:https://paste.ubuntu.com/p/T6JrpwHqs7/。希望这能帮助别人帮助我!
答案1
更新:我重新安装了 Ubuntu(实际上是第一次尝试 Budgie),并重新审视了这个问题。我显然通过运行以下命令解决了它:
xrandr --output DP-1 --scale 2x2 --mode 1920x1080 --pos 0x0 --output eDP-1 --scale 1x1 --mode 3200x1800 --pos 3840x0
我将其标记为“已解决”,因为它确实产生了我想要的结果,但我的大型外接显示器的分辨率似乎有时会模糊(例如,一行清晰,下一行略微模糊),并且我的鼠标在笔记本电脑显示器上闪烁。由于这些是单独的问题,我将问题标记为已解决。