我非常希望在插入显示器后自动应用我的显示设置(目前由 xrandr 管理)。我以为这可以用 Bash 脚本来完成,但我还没有找到从终端控制显示设置的方法。
连接 HDMI 外接显示器后,我必须使用“显示设置”GUI 来激活和配置显示器。这没什么大不了的,只是第一次检查“使用此输出”并不总是成功(弹出“保留此配置”对话框,但显示器保持非活动状态),我必须使用“高级”设置来重新排列两个显示器,每次我将机器从睡眠状态唤醒时都必须这样做。
我想研究使用 xrandr 编写脚本来设置这些设置,但我无法让 xrandr 命令在 HDMI 显示器上运行。
$ xrandr --output HDMI1 --mode 1920x1080
..闪烁内置显示屏并弹出显示设置 GUI(如果在 GUI 中选中了“连接时配置新显示屏”,则闪烁输出,如果没有选中则不执行任何操作)。
xrandr -d :0 output HDMI1 --auto
做同样的事情。我也尝试过“arandr”GUI。不确定它运行什么命令,但它们也做同样的事情。
- Xubuntu 15.04
- xfce 4.12
- 联想 Yoga 13 英特尔 i5
- 英特尔高清显卡 4000
- 三星 27 英寸 SyncMaster SA550 外接显示器
xrandr 输出:
Screen 0: minimum 8 x 8, current 3520 x 1346, maximum 32767 x 32767
LVDS1 connected primary 1600x900+0+446 (normal left inverted right x axis y axis) 294mm x 166mm
1600x900 60.1*+
1440x900 59.9
1360x768 59.8 60.0
1152x864 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+1600+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920x1080 60.0*+ 50.0 59.9
1680x1050 59.9
1280x1024 60.0
1440x900 59.9
1280x800 59.9
1152x864 75.0
1280x720 60.0 50.0 59.9
1024x768 70.1 60.0
800x600 60.3 56.2
720x576 50.0
720x480 60.0 59.9
640x480 66.7 60.0 59.9
720x400 70.1
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
编辑:使用 gui 调整之前的 xrandr 输出:
(不确定这是否相关,但如果我插入显示器并不立即配置,xfce4-display-settings guis/进程开始每隔几秒钟无休止地弹出。昨天,在插入另一个 hdmi 显示器的情况下,电源管理“x 分钟后空白”启动,当我恢复使用时,大约有 50 个“显示”窗口打开。)
Screen 0: minimum 8 x 8, current 1600 x 900, maximum 32767 x 32767
LVDS1 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 294mm x 166mm
1600x900 60.1*+
1440x900 59.9
1360x768 59.8 60.0
1152x864 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected (normal left inverted right x axis y axis)
1920x1080 60.0 + 50.0 59.9
1680x1050 59.9
1280x1024 60.0
1440x900 59.9
1280x800 59.9
1152x864 75.0
1280x720 60.0 50.0 59.9
1024x768 70.1 60.0
800x600 60.3 56.2
720x576 50.0
720x480 60.0 59.9
640x480 66.7 60.0 59.9
720x400 70.1
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
答案1
通过 GUI 设置屏幕后
在行中(在输出中xrandr
后您可以通过 GUI 设置屏幕):
HDMI1 connected 1920x1080+1600+0 (normal left inverted right x axis y axis) 509mm x 286mm
第二个屏幕( )的位置定义为顶部对齐,位于主屏幕( )HDMI1
的右侧: ,如下所述LVDS1
1920x1080+1600+0
这里。
通过 GUI 设置屏幕之前
由于某种原因,您的右侧屏幕的位置定义似乎缺失了。
我不确定是什么原因导致了这种行为,可能是轻微的不兼容,但应该使用以下命令进行修复:
xrandr --output HDMI1 --pos 1600x0
这会将第二个屏幕定位在主屏幕的右侧,顶部对齐。
答案2
我遇到了同样的问题,但解决了。制作了一个键盘快捷键来运行 xrandr 命令,如下所示:xrandr --output HDMI-1 --auto --output VGA-1 --off
并且,你猜对了,反向操作可以让显示器工作 :)
答案3
原来这个诀窍是xrandr --auto
在插入第二个显示器后运行该命令。
运行该命令后,显示屏将亮起,并可使用其他 xrandr 命令进行配置。