脚本显示设置:xrandr

我希望在插入显示器后自动应用我的显示设置(目前使用xrandr管理)。 我假设这可以使用Bash脚本完成,但是我还没有找到一种方法来处理来自终端的显示设置。

连接HDMI外接显示器后,我必须使用“显示设置”GUI激活和配置显示器。 这不是什么大问题,除了检查’使用此输出’并不总是第一次(弹出’保持此配置’对话框,但显示保持不活动状态),我必须使用’高级’设置重新安排两个显示器,每次我将机器从睡眠状态唤醒时都必须这样做。

我想用xrandr来研究一些这些设置的脚本,但是我无法让xrandr命令在HDMI显示器上工作。

$ xrandr --output HDMI1 --mode 1920x1080 

..Flash内置显示并弹出显示设置GUI(如果在GUI中选中’在连接时配置新显示’,则闪烁输出,如果没有则不执行任何操作)。

 xrandr -d :0 output HDMI1 --auto 

做同样的事情。 我也尝试了’arandr’GUI。 不确定它运行的命令,但它们也做同样的事情。

  • Xubuntu 15.04
  • xfce 4.12
  • 联想瑜伽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 / processes开始每隔几秒钟无限次地弹出。电源管理“x分钟后空白”踢了昨天插入了不同的hdmi显示屏,当我恢复使用时,大约有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) 

通过GUI设置屏幕后

在行中(在通过GUI设置屏幕xrandr输出中):

 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 

这将把第二个屏幕定位在主屏幕的右侧,顶部。

我有同样的问题,但解决了它。 制作一个键盘快捷键来运行xrandr命令,如下所示: xrandr --output HDMI-1 --auto --output VGA-1 --off ,你猜对了,反向监视器工作:)

在插入第二个显示器后,诀窍是运行xrandr --auto命令。

运行该命令后,显示屏将亮起,并可使用其他xrandr命令进行配置。