Chinaunix首页 | 论坛 | 博客
  • 博客访问: 460225
  • 博文数量: 173
  • 博客积分: 2970
  • 博客等级: 少校
  • 技术积分: 1490
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-11 14:35
文章存档

2011年(9)

2010年(17)

2009年(62)

2008年(85)

我的朋友

分类: LINUX

2011-03-16 16:11:24

    从虚拟机启动物理硬盘上的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

阅读(2255) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~