6.9. Emulatorer

En emulator er et program, som gør det muligt at afvikle programmer skrevet til en anden computer eller styresystem. Vi vil i dette afsnit se på en række forskellige emulatorer, som du kan benytte under Linux.

Med hensyn til emulatorer kan Linux køre SCO programmer (en kommerciel UNIX-variant) gennem det, der hedder iBCS biblioteket (Intel Binary Code Standard). Dette giver adgang til en del ekstra kommercielle database-programmer.

Har du en kraftig (gerne 128 MB RAM) og hurtig PC (gerne mere end 266 MHz Pentium II), kan du bruge VMware, som laver en emuleret processor og kobling til maskinen. Så kan du køre dine Windows programmer samtidig med, at du kører dine Linux programmer - og principielt kan alle programmer køre. VMware kræver naturligvis, at Windows er installeret på computeren. VMware findes på http://www.vmware.com

6.9.1. DOS-emulatoren dosemu

Mangler du specifikke DOS programmer under Linux, kan du få en DOS emulator (dos (konsol-orienteret) og xdos (X-baseret)), således at du under Linux kan eksekvere DOS programmer. Programmet kan sågar køre grafikprogrammer (f.eks. Windows 3.1) - dog ikke nyere Win32 programmer. Du kan f.eks. anvende DOS-emulatoren til at køre Gyldendals røde ordbøger.

DOS-emulatoren består egentlig af to dele. Den ene del gør det muligt at afvikle DOS programmer under Linux, mens den anden del er selve styresystemet DOS. Der følger en DOS ved navn FreeDOS med, men du kan i princippet bruge din egen, f.eks. hvis du en gang har købt DOS og stadig har installationsdisketterne liggende. I det følgende vil vi dog kun benytte FreeDOS. Begge dele er indeholdt i dosemu-pakken.

Lad det være sagt med det samme: den version af DOS-emulatoren, som følger med Red Hat virker ikke. Grunden er den simple, at Red Hat har valgt at benytte den nyeste version. Men denne version er for udviklerne, dvs. den er fuld af fejl og mangler. Derfor skal du først nedgradere dit system til den stabile version. Nedenfor ser du, hvordan du gør det.

[root@linus root]# rpm -e dosemu-freedos-0.99.10-4
[root@linus root]# rpm -e xdosemu-0.99.10-4
[root@linus root]# rpm -e dosemu-0.99.10-4
[root@linus root]# rpm -i dosemu-0.98.8-1.i386.rpm

Filen dosemu-0.99.8-1.i386.rpm kan du downloade fra ftp://sunsite.auc.dk/pub/os/linux/sunsite/system/emulators/dosemu. For at få DOS-emulatoren til at virke skal du have DOS installeret. Nedgraderer du som anvist ovenfor, kan du let få en gratis DOS (FreeDOS). Du skal blot omdøbe filen hdimage.first.rpmsave i kataloget /var/lib/dosemu til hdimage.first.

[root@linus root]# cd /var/lib/dosemu 
[root@linus dosemu]# mv hdimage.first.rpmsave hdimage.first

Eftersom du under DOS kan rode direkte med hardware (som du ikke som almindelig bruger under Linux kan), kan kun root køre DOS-emulatoren. Hvis du ønsker at ændre dette, skal du rette i filen /etc/dosemu.users. Den RPM-fil, som du har installeret som anvist ovenfor, tillader at alle bruger den, så du skal ikke rette noget.

Under en standard installation af dosemu-pakken oprettes et billede af en harddisk. Billedet emulerer c-drevet. Dette billede finder du (under Red Hat 6.0) som /var/lib/dosemu/hdimage.first. Det er let at hente og gemme filer på dette billede fra Linux. Du skal blot føje linjen

drive g:  file="/var/lib/dosemu/hdimage" Offset=8832
til /etc/mtools.conf, og nu kan du bruge mcopy, mdir osv.

Vil du vide mere om DOS-emulatoren, er http://www.dosemu.org et godt sted at begynde. FreeDOS finder du på http://www.freedos.org

6.9.2. Windows emulatoren WINE

Der har længe været programmeret på WINE (http://www.winehq.com) - en Windows emulator til Linux - og projektet virker mere lovende nu efter lang tids stilstand. På grund af Microsofts lukkede politik er det ikke alt, teamet har kunnet få tekniske detaljer på, og derfor er det langtfra sikkert, at du kan få nyere Windows programmer til at køre på denne måde under Linux.

WINE er på ingen måder et færdigt produkt endnu, men det er muligt at finde "snapshots" af WINE rundt om på Internettet. Nedenfor viser vi, hvordan et "snapshot" fra den 28. marts 1999 installeres (filen er fundet på ftp://sunsite.auc.dk).

[daisy@linus daisy]$  su -
Password: 
[root@linus root]#  rpm -i wine-990328-1.i386.rpm

Inden du kan komme i gang med at bruge WINE, bør du se lidt på konfigurationen af WINE, som sker i filen /etc/wine.conf. Du skal først og fremmest tilrette filen, så stier til dine Microsoft Windows kataloger er korrekte. Når du ønsker at køre et Windows-program, bruger du kommandoen wine (efterfulgt af navnet på det program, du ønsker at køre). Nedenfor ser du et eksempel på brugen af WINE - kabalespillet fra Windows kører, og gtop ses i baggrunden.

Lad os bare indrømme det: vi har forsøgt med en del Windows-programmer, og kun få har virket i WINE. Men selvom WINE ikke virker helt endnu, er det nu alligevel værd at følge med i udviklingen og prøve et "snapshot" i ny og næ.

Slutteligt bør det nævnes, at der også findes en kommerciel Windows emulator under navnet WABI.

6.9.3. Commodore emulering

Hvis du som denne bogs forfattere er vild med din gamle Commodore 64, er VICE noget for dig. VICE er en forkortelse for "Versatile Commodore 8-bit Emulator" (eller måske VIC Emulator). VICE kan emulere Commodore 64, Commodore 128, VIC 20 og Commodore PET. Ud over udgaver til Linux (UNIX) findes VICE til MS-DOS og Windows. VICE er i sandhed en alsidig emulator.

VICE følger ikke med en standard Red Hat distribution, men du finder den let på et ftp-site, f.eks. ftp://sunsite.auc.dk under Red Hat-contrib. Installationen kan drille lidt, idet VICE kræver libstdc++ version 2.9. Dette bibliotek er installeret ved en standard installation, men navnet kan være forkert. Nedenfor ser du, hvordan du kan installere VICE - du bør tjekke, hvilket navn libstdc++ har i /usr/lib.

[daisy@linus daisy]$  su -
Password: 
[root@linus root]#  cd /usr/lib
[root@linus root]#  ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++.so.2.9
[root@linus root]#  rpm -ivh --nodeps vice-1.0-1.i386.rpm

Efter installationen er du klar til at bruge VICE. Afhængigt af, hvilken Commodore-computer, du ønsker at emulere, skal du benytte et af følgende programmer: x64 (Commodore 64), x128 (Commodore 128), xvic (VIC 20) eller xpet (PET).

VICE kan emulere lyd og grafik samt ydre enheder, dvs. båndstationer, diskettestationer (Commodore 1571) og joystick. Din emulator kører i et selvstændigt vindue under X. Højre og venstre museknap giver dig menuer til at styre VICE. Bånd og disketter emuleres ved, at du har indholdet liggende i en fil på din harddisk. Trykker du på venstre museknap, kan du "attach a disk image" og "attach a tape image", dvs. du kan vælge, hvilken fil der er dit bånd eller din diskette. Bånd og disketter gennes i særlige formater.

Det er let at finde gamle spil til f.eks. Commodore 64 rundt om på Internettet. Tjek f.eks. http://www.c64.com som har ca. 2500 liggende.