今天一整天的时间,就花在了这个显示器的检测上面了,从昨天开始就一直在准备着把Windows系统全部下掉,转而到Linux环境下,最开始我选择的是openSUSE,因为我的服务器也准备就使用这个系统,但是却被显示器的检测浪费了一整天的时间,最开始很自然的去找驱动安装,但是后来发现,不是驱动的问题,而是我的显示器根本就不能自动地向操作系统发送其信息(可能还是与驱动有关吧)。

在openSUSE下面整了整整一天没有任何收获的情况下,我试着重新安装了Ubuntu,这个是熟悉一些吧,几分钟时间搞定这个问题,下面是我的整个解决过程:

  1. 使用 xrandr 命令列出所有当前能检测到的分辨率,比如我的计算机安装完Ubuntu之后,是下面这样的一个情况:
    cox@Cox:~$ xrandr
    Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
    VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
        1024x768       60.0
        800x600        60.3     56.2
        848x480        60.0
        640x480        59.9

    从上面的信息中我们可以看到,我现在只识别到上面四种分辨率,现在使用的是1024x768的。
  2. 现在使用 xrandr 新添加显示模式(分辨率可以自己定,但是不要大于显示器的最大分辨率),我建议使用最佳分辨率,比如我的显示器的最佳分辨率是:1920x1080,那么就添加这个分辨率的即可,这里可能你会不知道怎么添加显示模式,其实很简单,还有一个名为 cvt 的工具,它会根据你所提供的分辨率来创建一个可用的显示模式:
    cox@Cox:~$ cvt 1920 1080
    # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

    默认的屏幕刷新率是 60.0Hz。
  3. 将得到的显示模式使用 xrandr 命令添加:
    cox@Cox:~$ su
    root@Cox:~# xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    root@Cox:~# xrandr --addmode VGA1 1920x1080_60.00
    root@Cox:~# xrandr --output VGA1 --mode 1920x1080_60.00

    上面四行命令的作用分别为:
    1. 以Root身份登陆
    2. 创建新的显示模式
    3. 添加新的显示模式
    4. 设置刚才创建的显示模式为当前使用的模式
  4. 有可能每次开机之后都又不能使用设定好的分辨库了,那我们可以将上述命令添加到X图形界面的启动命令中去,使用如下命令:
    sudo gedit /etc/gdm/Lnit/Default

    将上面后三个步骤的所有命令都复制到新打开的文件中,然后再在最后面加上下面这一行命令:
    /sbin/initctl -q emit login-session-start DISPLAY_MANAGER=gdm
  5. 如果开机之后任务栏显示不正常,则可以使用下面脚本关闭并重新启动任务栏来纠正:
    gconftool-2 --shutdown
    rm -rf ~/.gconf/apps/panel
    pkill gnome-panel

标签: none

评论已关闭