发博文
****** 罐罐的技术博客 ******

http://blog.chinaunix.net/space.php?uid=551255

??┻┳?一 <iframe width="468" height="50" frameborder="0" scrolling="no" src="http://www.cz88.net/ip/viewip468.aspx"></iframe> <script type="text/javascript" language="javascript"> <!-- funct   
个人资料
  • 博客访问:194310
  • 博文数量:203
  • 博客积分:3010
  • 博客等级:中校
  • 注册时间:2008-06-11 14:35:30
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文


    从虚拟机启动物理硬盘上的Ubuntu。在物理硬盘上安装了Ubuntu和Windows XP。Vmware安装在XP里。从虚拟机里引导了物理硬盘上的Ubuntu,可以启动,但不能进入X桌面(Gnome)。查看了X11的Log文件,原因很简单,因为硬件不同:物理机的显卡是Nvidia的,虚拟机的显卡是vmware自带的。于是又安装了Vmware Tools,可以驱动了,虚拟机能进行X桌面了。但物理机不能进入X桌面了。于是修改/etc/X11/xorg.conf。增加一个Section,内容变成:

Section "Device"
        Identifier "Default Device"
        Driver "nvidia"
        Option "NoLogo" "True"
EndSection

Section "Device"
       Identifier "Vmware Device"
       Driver "vmware"
       Option "NoLogo" "True"
EndSection
 

    在网上查了一下,可以写两个Device,表示两个显卡呀。但问题就在这里:只有前面一个Device起作用。例如,nvidia在前,则物理机能进入 X,虚拟机不能进入X。如果把vmware那个Section入在前面,则虚拟机可以进入X,物理机不能进入X。

   后来想到一个方案:系统启动时检测显卡类型,作出判断。把两个Device Section写在两个不同的xorg.conf中(xorg.conf.nvidia和xorg.conf.vmware)中。写个开机脚本,链接到 /etc/rc2.d/下面。这个脚本通过 lspci判断显卡类型,选择合适的xorg.conf文件。脚本如下:


#!/bin/sh

#
# Set the appropriate xorg.conf and GL links for the speed/stamina # video card switch
#


VIDEO=`/usr/bin/lspci |grep -c nVidia`

if [ "$VIDEO" = 1 ]; then
  cp -f /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
else
  cp -f /etc/X11/xorg.conf.vmware /etc/X11/xorg.conf
fi

前一篇:JSF资料汇总
亲,您还没有登录,请[登录][注册]后再进行评论