我想在每次启动时配置笔记本电脑的2个外部屏幕.
因为我有一种码头站,我写了一个小脚本,检查我的笔记本电脑是否连接到扩展坞.
如果是,监视器应该由xrandr配置它们自己.这是我的脚本:
#!/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/$USER/.Xauthority
sleep 1
DOCKED=$(cat /sys/devices/platform/dock.2/docked)
case "$DOCKED" in
0)
xrandr --output DVI1 --off --output VIRTUAL1 --off --output VGA1 --off &> && xrandr --output LVDS1 --mode 1024x768 --pos 0x0 --rotate normal
;;
1)
xrandr --output VIRTUAL1 --off --output LVDS1 --off && xrandr --output DVI1 --mode 1366x768 --pos 1360x0 --rotate normal --output VGA1 --primary --mode 1360x768 --pos 0x0 --rotate normal
;;
esac
不幸的是xrand在启动时没有以正确的方式工作.它告诉我这个:
xrandr: cannot find mode 1360x768
我有点困惑,因为如果我在我的电脑已经运行时启动脚本它完美无瑕,并且没有错误报告!
所以我猜xrandr在启动时没有找到我的监视器,因此它不知道每个监视器的具体配置.
我该如何解决这个问题?
非常感谢帮助我!
解决方法:
首先添加所需的模式.
使用gtf / cvt和xrandr来做到这一点.
$cvt 1360 768 60
# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
Modeline "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
$gtf 1360 768 60 -x
# 1360x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 84.72 MHz
Modeline "1360x768_60.00" 84.72 1360 1424 1568 1776 768 769 772 795 -HSync +Vsync
$xrandr --newmode "1360x768_60.00" 84.72 1360 1424 1568 1776 768 769 772 795 -HSync +Vsync
$xrandr --addmode VGA1 "1360x768_60.00"