it4it

Блог обо всем моем

Flower

Двойная загрузка виртуальных машин VMWare под Linux. Часть 2. Графика.

Такие вкусные возможности, как то освобождение курсора из окна виртуальной машины без нажатия горячих клавиш или Drag and Drop требуют установки специальных драйверов.
Они входят как и в официальные VMWARE Tools так и в их открытую версию.

Ставим их штатными средствами:

aptitude install xserver-xorg-video-vmware xserver-xorg-input-vmmouse open-vm-toolbox

Для переключения между драйверами при запуске компьютера можно воспользоваться несложным скриптом, базирующемся частично на исходном коде open-vm-tools:

#!/bin/sh
 
exit_if_not_in_vm () {
    if [ ! -x /usr/bin/vmware-checkvm ] || ! /usr/bin/vmware-checkvm > /dev/null 2>&1
    then
         echo "Not starting as we're not running in a vm."
         cp -f /etc/X11/xorg.conf.realpc /etc/X11/xorg.conf && echo “Real Videocard driver selected”
exit 0
fi
}
 
case "${1}" in
start)
# Check if we're running inside VMWare
exit_if_not_in_vm
cp -f /etc/X11/xorg.conf.vmware /etc/X11/xorg.conf && echo “VMWARE X Driver selected”
;;
*)
echo “VMWARE Video Driver Xorg config changer”;
exit 1;
;;
esac

Примерный вид xorg.conf.vmware:

 
Section "InputDevice"
        Identifier    "VMware Keyboard"
        Driver        "kbd"
        Option        "XkbRules"    "xorg"
        Option        "XkbModel"    "pc105"
        Option        "XkbLayout"    "us"
EndSection
 
Section "InputDevice"
        Identifier    "VMware Mouse"
        Driver        "vmmouse"
        Option        "CorePointer"
        Option        "Device"    "/dev/input/mice"
        Option        "Emulate3Buttons"    "true"
        Option        "ZAxisMapping"    "4 5"
EndSection
 
Section "Device"
        Identifier  "VMware SVGA"
        Driver      "vmware"
EndSection
 
Section "Screen"
        Identifier    "Default Screen"
        Device      "VMware SVGA"
        Monitor     "vmware"
# Don't specify DefaultColorDepth unless you know what you're
# doing. It will override the driver's preferences which can
# cause the X server not to run if the host doesn't support the
# depth.
        Subsection "Display"
                # VGA mode: better left untouched
                Depth       4
                Modes       "640x480"
                ViewPort    0 0
        EndSubsection
        Subsection "Display"
                Depth       15
                Modes       "800x600"
                ViewPort    0 0
        EndSubsection
        Subsection "Display"
                Depth       16
                Modes       "800x600"
                ViewPort    0 0
        EndSubsection
        Subsection "Display"
                Depth       24
                Modes       "800x600"
                ViewPort    0 0
        EndSubsection
EndSection
 
Section "ServerLayout"
        Identifier    "Default Layout"
        Screen       "Default Screen"
        InputDevice    "VMware Keyboard"    "CoreKeyboard"
        InputDevice "VMware Mouse"    "CorePointer"
EndSection
 
Section "Monitor"
        Identifier      "vmware"
        VendorName      "VMware, Inc"
        HorizSync       1-10000
        VertRefresh     1-10000
EndSection

В нем настроен и сам адаптер чтобы можно было без нажатий на Hotkey перемещать мышь между хостом и гостем, так и сам драйвер виртуальной мышки, чтобы движения были не судорожными. При желании можно указать другие разрешения и глубину цвета.

Соответственно в xorg.conf.realpc у вас должен быть конфигурационный файл для обычной видеокарты, а в xorg.conf.vmware — для виртуальной.
Так же у вас обязательно должны стоять open-vm-tools, так как программа для проверки реальный это компьютер или нет входит

Сам скрипт надо положить в /etc/init.d/checkvmvideo к примеру и сделать его исполняемым:

chmod +x /etc/init.d/checkvmvideo

Следующим шагом надо заставить этот скрипт стартовать при старте системы что делается проще простого:

update-rc.d checkvmvideo defaults

На что система вам ответит чемто похожим на:

update-rc.d: warning: /etc/init.d/checkvmvideo missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/checkvmvideo ...
/etc/rc0.d/K20checkvmvideo -> ../init.d/checkvmvideo
/etc/rc1.d/K20checkvmvideo -> ../init.d/checkvmvideo
/etc/rc6.d/K20checkvmvideo -> ../init.d/checkvmvideo
/etc/rc2.d/S20checkvmvideo -> ../init.d/checkvmvideo
/etc/rc3.d/S20checkvmvideo -> ../init.d/checkvmvideo
/etc/rc4.d/S20checkvmvideo -> ../init.d/checkvmvideo
/etc/rc5.d/S20checkvmvideo -> ../init.d/checkvmvideo

Все. Теперь при старте системы будет проверка на виртуальную машину и выбираться правильный конфиг X.org

Тэги: , , , , ,

Форум: запчасти для компрессоров - качественно. . монтаж отопления своими руками.