我创建了脚本文件并将其命名为lightdmxrandr.sh
。文件内容如下:
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
xrandr --addmode LDVS-0 1024x768_60.00
xrandr --output DisplayPort-0 --off --output LVDS-0 --mode 1024x768_60.00 --pos 0x0 --rotate normal --output HDMI-0 --off
unity --replace
并在终端写入:bash home/kakao/lightdmxrandr.sh
我收到以下错误
kakao@kakao-dro:~$ bash /home/kakao/lightdmxrandr.sh
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 16 (RRCreateMode)
Serial number of failed request: 29
Current serial number in output stream: 29
xrandr: cannot find output "LDVS-0"
xrandr: cannot find mode 1024x768_60.00
unity-panel-service stop/waiting
unity-panel-service start/running, process 2960
compiz (core) - Info: Loading plugin: core
compiz (core) - Info: Starting plugin: core
compiz (core) - Info: Loading plugin: ccp
compiz (core) - Info: Starting plugin: ccp
Killed
答案1
首先,您必须使用 xrandr 来确保新模式能够适合最大帧缓冲区大小:
xrandr | grep maximum
稍后您必须使用 gtf 创建模式行:
gtf 1024 768 60.00
您可以使用 xrandr 添加新模式:
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -Hsync +Vsync
现在您可以将此新添加的模式添加到所需的输出(VGA/LVDS)
xrandr --addmode LDVS-0 1024x768_60.00
现在你必须选择新的模式
xrandr --output LDVS-0 --mode 1024x768_60.00
一旦您验证一切正常,您就可以创建脚本来使更改持久化。
答案2
输出名称不正确:
xrandr: cannot find output "LDVS-0"
您可以使用以下方法找到正确的输出名称:
xrandr -q | grep " connected"
就我而言:
eDP-1 connected primary 1864x1050+0+0 (normal left inverted right x axis y axis) 346mm x 194mm
即我必须使用eDP-1作为输出名称。
答案3
如果名称已经定义,则可能出现 BadName。
我昨天也遇到了这个 badname 问题,并编写了一个可以帮我思考的小 bash 脚本 ;-)
如果需要,它会动态创建模式行,如果可能的话,它会自动选择输出,因此可能会直接解决您的问题。