![某些程序会禁用第二台显示器](https://linux22.com/image/1206788/%E6%9F%90%E4%BA%9B%E7%A8%8B%E5%BA%8F%E4%BC%9A%E7%A6%81%E7%94%A8%E7%AC%AC%E4%BA%8C%E5%8F%B0%E6%98%BE%E7%A4%BA%E5%99%A8.png)
由于某种奇怪的原因,每当我打开 Evolution 邮件客户端时,我的第二台显示器就会被禁用。如果我拔下并重新插入,它仍然是空白的。当我运行时,xrandr
我看到:
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
3840x2160 60.00 + 59.98 59.97
3200x1800 59.96 59.94
(...)
360x202 59.51 59.13
320x180 59.84 59.32
DP-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.00*+ 50.00 59.94
1680x1050 59.88
(...)
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
HDMI-1 disconnected (normal left inverted right x axis y axis)
当我关闭 Evolution 并重新插入第二台显示器时,它可以正常工作。
有趣的是,当 Evolution 关闭并且我运行时xrandr
,我的第二台显示器再次被禁用。
如果我运行,也会发生同样的事情screenfetch
(两个显示器设置工作正常,但运行时screenfetch
第二个显示器将被禁用)
运行后screenfetch
,xrandr
如果我拔下并重新插入显示器,它就能正常工作。
有没有想过从哪里开始调试这个问题以及可能发生了什么?我正在运行 Ubuntu 20.04 焦点 CPU:Intel Core i7-7700HQ @ 8x 2.8GHz GPU:Intel Corporation HD Graphics 630 (rev 04)
编辑:如果我播放视频,我的第二台显示器也会被禁用
答案1
如果是我,我会尝试在所需的显示器分辨率中添加自定义模式,但使用所谓的“减少消隐”。如果它不能解决问题,那么至少您已经排除了一个可能的原因。
首先使用cvt
你的系统生成一个模式行:
cvt -r 1920 1080
就我而言,我得到了这个结果:
# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
Modeline "1920x1080R" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
然后使用生成的 modeline(省略“Modeline”关键字)创建一个新的 xrandr 模式,所以在我的情况下它将是:
xrandr --newmode "1920x1080R" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
现在将其应用到您的 DisplayPortDP-1
输出:
xrandr --addmode DP-1 1920x1080R
此处有更多详细信息,包括如何使其永久化(如果有帮助):https://wiki.archlinux.org/title/Xrandr