Ubuntu 双显配置问题。

来源:互联网 发布:9377皇图翅膀进阶数据 编辑:程序博客网 时间:2024/06/18 02:00

今天在我的Dell笔记本上安装了一个显示器,期望达到双显的目的。
1,安装独显驱动:
之前这台机器已经安装了ubuntu12.04 和nvidia的显卡驱动,
流程大概就是:到官网下最新的驱动安装,我的显卡是NVS 5200M。对应驱动是NVIDIA-Linux-x86_64-343.22.run,可以之直接在终端运行,按照提示安装就可以了。具体细节可能涉及到如何查找删除旧的驱动,如何启动显示。可以参考这篇文章:http://www.linuxidc.com/Linux/2012-12/77102.htm
2,配置分辨率:
显卡驱动装之后,直接在系统设置->显示里面就可以配置分辨率和双屏幕的显示。我这里把笔记本设置为横屏幕,VGA设置为竖屏幕。
这里还有一个关键:就是一定要在BIOS里面把nvidia optimus选项去掉,否则显卡就没法驱动,分辨率也无法调整。
3,把笔记本的屏幕设置为主屏幕。
我想把笔记本屏幕设置为主屏幕(左侧),桌面和系统菜单都在主屏幕,竖屏幕(右侧)只用来看代码和文字。但是系统的显示设置里唯独没有这个选项,而默认就把VGA屏幕弄成了主屏幕。
网上搜罗了下面两个方法都不好用:
方法1: 用这命令:sudo nvidia-settings ,启动显卡配置界面,但是这个程序无法保存结果,总是崩溃。
方法2: 用这命令:sudo arandr 查看显示器名称。我的笔记本显示器是LVDS-0.
然后运行: sudo xrandr --output LVDS-0 --primary:运行后就可以把该屏幕设置为主屏幕,但是系统重启后就失效。
为了解决重启失效问题,网上的大部分方法都是 把这个命令或脚本卸载 某些配置文件中,但是我简单尝试了一下都不行。
例如:方法1:~/.xprofile 根本不存在,手动创建也没用。
方法2: /etc/X11/xorg.conf 里面只有一个显示器的配置参数,但屏幕分辨率信息也不在这里。很明显起作用的参数不在这里配置。 但是这里有个参数可以看到双屏的位置关系是在这里设定的:

Option         "metamodes" "LVDS-0: nvidia-auto-select +0+0, VGA-0: nvidia-auto-select +1366+0 {rotation=left}"
还有其他方法把xrandr 命令放在 bashrc或系统启动过程中,但是也会有问题,这个命令必须要在桌面启动完成才能起作用,运行早了就失败,因此有的帖子里提出在脚本里加上延时命令,几十秒在启动这个,感觉太不靠谱。

4,最终解决方法:~/.config/monitors.xml
仔细想一下,两个屏幕都能工作,既然xrandr能起作用,只是重启失效,就说明一定是有个文件配置了参数,而我们没有找到,于是在home下翻查,终于找到了一个文件monitors.xml。修改里面的 yes配置就可以把主屏幕设置对了。修改后的文件内容如下:

<monitors version="1">  <configuration>      <clone>no</clone>      <output name="VGA-0">          <vendor>DEL</vendor>          <product>0x4004</product>          <serial>0x42414e54</serial>          <width>1280</width>          <height>1024</height>          <rate>60</rate>          <x>1366</x>          <y>0</y>          <rotation>left</rotation>          <reflect_x>no</reflect_x>          <reflect_y>no</reflect_y>          <primary>no</primary>      </output>      <output name="LVDS-0">          <vendor>CMO</vendor>          <product>0x1469</product>          <serial>0x00000000</serial>          <width>1366</width>          <height>768</height>          <rate>60</rate>          <x>0</x>          <y>0</y>          <rotation>normal</rotation>          <reflect_x>no</reflect_x>          <reflect_y>no</reflect_y>          <primary>yes</primary>      </output>      <output name="DP-0">      </output>      <output name="DP-1">      </output>      <output name="HDMI-0">      </output>      <output name="DP-2">      </output>      <output name="DP-3">      </output>  </configuration></monitors>
1 0
原创粉丝点击