如何获得xrandr设置的外部显示器分辨率以保持不变


11

tl; dr

我的笔记本电脑总是忘记连接到它的外接显示器的正确分辨率。如何使配置“坚持”?

细节

我有一台运行Linux Mint的笔记本电脑连接到外部ViewSonic显示器。我将其设置为将外部监视器用作第二个屏幕(即未镜像)。这工作了好几个星期。

突然,笔记本电脑不再将其识别为ViewSonic,此时它不知道其最佳分辨率(1600 x 1200),仅允许最大分辨率1028 x 7681对于具有1920 x 1200分辨率的笔记本电脑,这根本无法正常工作。

经过无奈,我找到了这个答案。它帮助我解决了问题,如下所示(cvt命令的输出是在下一个命令中使用的modeline):

cvt 1600 1200
xrandr --newmode "1600x1200_60.00"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00

正是我一直希望能够但不能通过GUI完成的事情。(有一些原因使我仍然喜欢命令行...)

这再次很好地工作了一段时间。但是,当我今天启动计算机并登录时,出现一个通知区域弹出窗口,其中包含有关尝试的各种不同模式的错误字符串,并且外接显示器已关闭。我重复了上面的命令,并且它再次起作用。

我有nVidia卡。当事情开始出现问题时,我尝试安装专有驱动程序,但是到那时,外部监视器根本无法识别,因此我回到了开源驱动程序。我没有一个Xorg.conf或一个Xorg.conf.d,只有一个xorg.conf.failsafe

我不想每次启动计算机时都重复这些命令。有什么办法可以将其保存到我的Xorg.conf东西上吗?自从我对X进行了大量工作以来已经有很多年了。有人可以在这里帮助我吗?


1我无法确定为什么会这样。我最好的猜测是驱动程序更新有问题。


1
您正在使用什么图形卡?如果是ATI / AMD或Nvidia,则使用专有驱动程序还是开源驱动程序?您目前有/etc/X11/corg.conf文件或其他文件/etc/X11/corg.conf.d吗?因此,请编辑您的问题并添加这些文件的内容。
terdon

编辑您的问题以添加额外的信息,它很难阅读且容易在评论中遗漏。就是说,是的,不再需要xorg.conf了,这些事情现在由udev处理。
terdon

只是再次查看您的问题,我写答案时就错过了您有笔记本电脑的情况。您可能想研究的是编写一条udev规则,以便在每次插入或拔出显示器时都调用脚本来执行xrandr,这会更好,因为您的计算机并非总是与显示器相连。否则,如果您很乐意一直将其设置在同一位置,那Xorg.conf是您的最佳选择。
Graeme 2014年

Answers:


5

我敢肯定有更好的方法,我认为udev现在已经解决了所有问题,但是如果您知道这些命令可以解决问题,则始终可以将它们变成脚本:

#!/usr/bin/env bash
cvt 1600 1200
xrandr --newmode "1600x1200_60.00"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00

使它可执行,然后将其添加到桌面环境的启动应用程序中。如果您的DE为您提供了选择,这可能是最佳选择。


如果您不能执行上述操作,则可以将其添加到您的~/.profile

if [ ! -t 0 ] 
then
    cvt 1600 1200
    xrandr --newmode "1600x1200_60.00"  161.00  1600 1712 1880 2160  1200 1203 1207 1245 -hsync +vsync
    xrandr --addmode VGA-1 1600x1200_60.00
fi

if [ ! -t 0 ]应该.profile记得,应该确保它仅在GUI中运行,并由mint的登录管理器提供。

现在,你应该也可以使用~/.xsession,但我已经与被忽略的问题。许多较旧的方法已被替换,我不确定最新的方法是什么。


您不必使用cvt 1600 1200,因为我们已经在接下来的两行中使用了它的输出。
PraveenMax

4

如果您使用的是Nvidia专有驱动程序,nvdia-settings则应使用GUI工具配置该Xorg.conf文件。它应该在Linux Mint中拥有自己的软件包,因此安装将非常简单:

sudo apt-get install nvidia-settings

这应该在菜单中的某个位置放置一个图标,您可以从那里运行它(尽管我不确定如何获得具有root权限的图标)。我相信您可以从命令行执行以下操作:

sudo /usr/lib/nvidia/current/nvidia-settings

如果您想做命令行,那么nvidia-xconfig似乎是要使用的工具(nvidia-xconfig对我来说是打包的)。无论哪种方式,如果专有驱动程序配置正确,通常都会获得更好的结果。这些工具至少会生成一个合理的Xorg.conf文件,然后您可以直接或通过这些程序之一来进行调整。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.