说明:以下操作要在root模式下操作,
通过xrandr查询当前所能支持的分别率,通过cvt来创建我们所需要的分辨率
今天在虚拟机上装了一个LUbuntux64(12.10)玩,安装的时候,由于主板默认是没有开虚拟化支持,报错,改后相当的顺利。但是进入系统后,屏幕显示分辨率为800X600的,全屏的话,在大显示器上显示就就中间一小块,非常的不舒服。长年在Windows下用惯了右键桌面设分辨率的我,毫不犹豫的右键了一下——答案是肯定的,没找到地方设置。
其实在LUbuntu下面,在系统开始菜单有个首选项里面有个设置分辨率的,但是我这进去之后,默认的分辨率没有1920X1080。挑最接近的分辨率设置好后,还是中间局促的很。为此Google一把,发现可以自定义设置桌面分辨率,在Windows下没享受过啊,一直都是安装驱动,然后自动选择。这里记录下自定义分辨率的过程。
使用的命令:xrandr,cvt
首先查看下当前已经提供的分辨率设置:xrandr (不用带任何参数)
上面图中框中的是设置好之后的分辨率,在xrandr开始的时候是没有的,这里做说明,就没有重新删除重做一遍(用xrandr --delmode可以删除掉)。
再查看没有可用的分辨率下,我们就需要为显示设备(显示器,投影仪等)定制一个合适的分辨率。我们使用cvt来生成指定分辨率。
1
|
cvt 1920 1080
|
注意有红下划线处,我们可以看到,cvt提供的modeline。下面我们要做的就是将modeline启用。这里直接给出相应的命令,就不再提供说明,后面会送上命令图。
1
2
3
4
5
6
7
|
#MitchellChu'Blog:使用xrandr 创建新的mode,--newmode后面跟刚刚cvt产生的modeline信息。
sudo
xrandr --newmode
"1920x1080_60.0"
173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
#MitchellChu'Blog:添加新的mode,--addmode后面第一个参数是xrandr显示出来的列表中,你要更改目标输出的设备名称,在我这里是Virtual1.如果是直接接显示器的,可能是VGA1.
sudo
xrandr --addmode Virtual1
"1920x1080_60.00"
#MitchellChu'Blog:添加完之后,需要做的就是将分辨率应用到指定的输出设备。
sudo
xrandr --output Virtual1 --mode
"1920x1080_60.00"
#MitchellChu'Blog: 至此,你可以看到你的显示器分辨率已经按照定制的分辨率来显示了。
|
附上上面命令执行图——注意:#号后面的内容为备注,在实际命令中不用输入:
上面最后一步,还没有输入完全,差:.00“,输入后回车,系统就会自动修改指定设备的分辨率。
至此,就完成了分辨率的自定义设置。
如果你再次使用xrandr来显示一下,就会发现,刚刚设置的分辨率已经被添加进去了。
ubuntu 12.04.3 调整桌面的分辨率
调整ubuntu系统的桌面分辨率,有两种方式:
第一种:通过图形界面来进行调整(这个比较简单在此不作详细介绍)
第二种:通过命令行来进行调整(前提是已经安装图形界面)
接下来介绍通过命令行调整桌面分辨率的具体操作步骤:
第一步:在ubuntu系统中查看系统所支持分辨率的命令
第二步:根据实际需要来调整桌面的分辨率,这里将桌面的分辨率调整为1360*768
others
我的一台11寸上网本,装的ubuntu。最近外接了一个19寸显示器。分辨率最多只能是1024x768。显示器设置里显示“未知”显示器。
用下面的命令可以看到显卡的信息:
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
我一直以为是显卡驱动没装好,于是下载了intel显卡linux驱动的源码,并花了几天时间来编译(期间安装了N多它所依赖的包),最终还是没能装成功,还把Xorg搞挂了。无奈还重装了系统。其实intel集成显卡的驱动已经装好了,而且用命令sudo apt-get install xserver-xorg-video-intel也可以安装。
之后还在网上看到修改/etc/X11/xorg.conf之类的解决方案。我直接头大了。
最后还是找到了解决方案:xrandr命令。
首先,直接运行xrandr查看下分辨率的情况:
$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096
LVDS1 connected (normal left inverted right x axis y axis)
1024x600 60.0 +
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1280x1024+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
标星号的那行就是我正在使用的分辨率。
下面用cvt命令生成一个modeline,为后续添加分辨率作准备:
$ cvt 1440 900
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
再运行xrandr --newmode来创建一个分辨率模式,使用“Modeline”后的内容(--rmmode删除这个模式):
$ xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
接着用xrandr --addmode把这个模式添加到显示器上(--delmode把这个模式从该显示器上移除):
$ xrandr --addmode VGA1 "1440x900_60.00"
最后是应用这个模式:
$ xrandr --output VGA1 --mode "1440x900_60.00"
到此,我的屏幕看上去就清爽多了。
用xrandr查看一下:
$ xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 4096 x 4096
LVDS1 connected (normal left inverted right x axis y axis)
1024x600 60.0 +
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1440x900+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
1440x900_60.00 59.9*
设置完后我的屏幕向左偏出了约5个像素,直接在显示器(硬件)上调就可以了。
参考:https://wiki.ubuntu.com/X/Config/Resolution
<<<---------------------------------------------------------------
特此感谢!终于搞定了浪费了大半天的问题。
不过,关机重新开机后此设置有时候就没有了,又恢复到原来的分辨率了。
现在把设置新分辨率的命令写到一个sh脚本中,如果分辨率恢复到原来的自动执行此shell文件就可以了。
代码如下:
#!/bin/bash
# set screen resolution to 1400 * 900
# Query current resolution
echo "Current resolution:"
xrandr
echo "-------------------------------------"
# New one modeline for 1440 * 900
echo "New one modeline for 1440 * 900:"
cvt 1440 900
echo "-------------------------------------"
# Create resolution using "xrandr --newmode" command
echo "Create resolution 1400 * 900:"
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
echo "-------------------------------------"
# Add the resolution to monitor
echo "Add the resolution to monitor:"
xrandr --addmode VGA1 "1440x900_60.00"
echo "-------------------------------------"
# Apply the resolution
echo "Apply the resolution:"
xrandr --output VGA1 --mode "1440x900_60.00"
echo "-------------------------------------"
# Query current resolution again to determine the settings valid or not
echo "Current resolution after settings:"
xrandr
echo "-------------------------------------"
设置分辨率1680 * 1050的shell脚本如下:
#!/bin/bash
# set screen resolution to 1680×1050
# Query current resolution
echo "Current resolution:"
xrandr
echo "-------------------------------------"
# New one modeline for 1680×1050
echo "New one modeline for 1680×1050:"
cvt 1680 1050
echo "-------------------------------------"
# Create resolution using "xrandr --newmode" command
echo "Create resolution 1680×1050:"
xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
echo "-------------------------------------"
# Add the resolution to monitor
echo "Add the resolution to monitor:"
xrandr --addmode VGA1 "1680x1050_60.00"
echo "-------------------------------------"
# Apply the resolution
echo "Apply the resolution:"
xrandr --output VGA1 --mode "1680x1050_60.00"
echo "-------------------------------------"
# Query current resolution again to determine the settings valid or not
echo "Current resolution after settings:"
xrandr
echo "-------------------------------------"