PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VMWare erkennen



wihsy
02.07.03, 09:00
Hallo!

Ich habe auf meinem PC zwei Betriebssysteme installiert: WinXP und Linux (Debian sarge). Unter Windows ist noch eine VMWare installiert um bei Bedarf das Linux im Windows zu starten.
Es funktioniert alles soweit ganz gut. Die XFree Configdatei unterscheidet sich jedoch klarerweise für den "normalen" Linuxbetrieb und den vmware emulierten Linuxbetrieb. Deshalb habe ich zwei XFreeConfig - Dateien welche ich je nach Betriebsart umbenne und danach X starte. Genau diesen Vorgang möchte ich automatisieren, also dass das Linux erkennt ob es in der VMWare läuft oder nicht und je nachdem die richtige Configdatei wählt.
Wie findet man unter Linux heraus ob es in der VMWare läuft ?

mfG Michael

Thomas Mitzkat
02.07.03, 09:20
frage doch den arbeitsspeicher ab, unter vmware ist es einiges weniger.

wihsy
02.07.03, 09:45
Gute Idee!
Danke!

stefan.becker
02.07.03, 10:52
Ich habe kein VMWARE mehr laufen, aber über das proc-Interface sollte sich die Grafikkarte herauskriegen lassen. Bei VMWARE müsste es Super-VGA sein (SVGA).

pcm
02.07.03, 11:22
du kannst auch einfach per lspci die grafikkarte abfragen.

bye daniel

wihsy
02.07.03, 12:38
Ich habe es jetzt so gelöst:

Ein kleines C-Programm (vmwaredetect) fragt in /proc/meminfo den "MemTotal" Wert ab. Mein PC hat 512 MB Ram.
Wenn weniger als 512 MB Ram zur Verfügung stehen gibt "vmwaredetect" TRUE zurück, andernfalls FALSE.

Nun habe ich die /etc/profile um folgendes erweitert:



if vmwaredetect
then cp /etc/X11/XF86Config-4.vmware /etc/X11/XF86Config-4
else cp /etc/X11/XF86Config-4.normal /etc/X11/XF86Config-4
fi


funktioniert wunderbar :)

mfG

stefan.becker
02.07.03, 13:44
Und kommt direkt ins Howto.