xrandr:启动时找不到模式

xrandr:启动时找不到模式

我想在每次启动时配置笔记本电脑的 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 在启动时找不到我的监视器,因此它不知道每个监视器的具体配置。

我该如何解决这个问题?

非常感谢您帮助我!

答案1

首先添加你想要的模式。

使用 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"

相关内容