11.3. Kør Windows-programmer med WINE

WINE står for "Wine Is Not an Emulator" og det er et program, som tillader dig at køre MS-DOS- og Windows-programmer under X på enhver Linux-distribution (og andre UNIX-systemer som f.eks. FreeBSD og Solaris). Der er endda nogle som er gået i gang med at portere det til endnu flere operativsystemer som f.eks. BeOS. Som navnet siger er WINE ikke en emulator og kan derfor kun køre på de Intel x86-baserede computere (altså ikke på Linux-systemer til f.eks. Macintosh). Mange hundrede programmører har sørget for at WINE er blevet til. WINE sørger får at Windows-programmerne virker som om de var lavet til Linux. Man kan altså f.eks. klippe/klistre mellem et program der bliver kørt af WINE og så et "normalt" Linux program. WINE er skrevet i programmeringssproget C og har en frit tilgængelig kildetekst (som så meget andet Linux-software), og det gør bl.a. at alle kan hjælpe til med at udvide og rette i programmet.

WINE kan faktisk køre Windows-programmer på Linux uden at have Windows installeret på computeren. Hvis man har Windows vil WINE dog være i stand til benytte originale systemfiler og dermed give bedre ydelse. Med WINE følger der også noget som kaldes Winelib hvilket gør at man kan kompilere sin Windows-specifikke kildetekst til Linux. Altså, hvis man har lavet et Windows-program og har kildeteksten, så kan man altså bare oversætte programmet med en C-oversætter til Linux i stedet for med en til Windows (så programmet dermed også virker til Linux). Det er der nogle store firmaer der har gjort, bl.a. Corel. Alle Corels Linux-produkter benyttede sig altså af WINE, og det gør de vist stadig. Det er dog ikke perfekt så der skal ofte ekstra arbejde til at tilpasse programmet før det kan lade gøre.

Wine projektet er efterhånden nået rigtigt langt med at emulere windows, dette gør sig netop på spilområden gældende ved at der efterhånden er en hel del spil der kan køres under Wine, der er samlet en lille succesliste på: http://www.linuxgames.com/wine/ Denne inkluderer blandt andet spil som StarCraft.

11.3.1. Hvordan virker WINE?

Det sørger som sagt for at man kan køre Windows-programmer, og uden at have Windows på computeren. Inden vi fortsætter skal vi lige se lidt på de såkaldte API'er. API står for "Application Program Interface". Når et program kører, sender det såkaldte "API calls" til det styresystem, som det bliver kørt på. Et program kan altså gøre brug af operativsystemets API'er. F.eks. kan et "API call" være at skrive en fil på en harddisk eller sende output til en printer. Hvert operativsystem har hver deres "API calls". Det som WINE gør, er at gå ind og ændre Windows API'erne til Linux API'er. Så når et Windows-program sender en "Windows-API" gennem WINE, så modtager Linux en "Linux-API" der har den samme funktion som det API'en burde have gjort på Windows. Programmet tror altså at det kører på Windows og Linux tror det modtager informationer fra et Linux-program. Det som WINE, meget enkelt forklaret gør, er at den starter to programmer. Det ene er et specielt program der gør at man kan starte Windows-programmet og det andet er et program som omdanner Windows-API'erne til Linux-API'er. Det er det WINE går ud på. Altså at omdanne Windows' API-sæt til Linux' API-sæt. Enhver som har prøvet WINE ved dog at det er langt fra alle programmer, som kan køre via det. Og hvordan kan det være? Det er fordi Windows ikke er Open Source software og derfor kan ingen bare gå hen og finde Windows-API'erne i kildeteksten. Dokumentationen til Win32 API-kald er heller ikke spor god og er blevet kritiseret for at være ikke-eksisterende, sparsom og endda vildledende. WINE-folkenes arbejde er derfor mest baseret på gæt. Win16 og DOS API-kald skiftes ikke længere ud. Derfor vil langt de fleste af gamle Windows-programmer virke via WINE. Win32-kald skifter dog stadigvæk og hvis Microsoft introducerer et nyt sæt API-kald eller ændrer på dem som findes i forvejen så skal dette jo også tilføjes. Derfor bliver WINE formodentlig aldrig færdig. Selv om det startede i 1993, så er der ikke kommet en stabil version endnu.

11.3.2. Lidt historie

WINE-projektet startede i 1993 på Usenet newsgroup'en comp.os.linux. Det var en fyr der hed Eric Youngdale som startede det. I 1994 blev posten som koordinator for projektet overgivet fra Bob Amstadt til Alexandre Julliard (som stadig sidder på posten). Grunden til at WINE-projektet blev startet var (og er stadig) at langt det meste software bliver udviklet til Windows. Man ønskede altså at have adgang til den kæmpe mængde software som er blevet lavet til Windows og samtidig have glæde af Linux' fordele.

WINE er stadig ikke færdig, så det er ikke alle programmer som kan køre via WINE. De fleste ældre programmer burde dog virke.

11.3.3. Installation af WINE

For at installere WINE, har jeg valgt at bruge WINE Preview 3 fra firmaet Codeweavers. Dette er en helt normal WINE-udgave som blot er blevet pakket fint ind, så den nu har grafisk installation og konfiguration.

Codeweavers WINE findes kun som .rpm-fil (på ftp://ftp.codeweavers.com/pub/crossover/office/source/wine.tgz). Hvis du bruger RedHat, Mandrake og SuSE (samt en del flere) kan du bruge denne udgave af WINE. Hvis du kører med en "ikke-rpm"-distribution, som f.eks. Debian, kan du prøve at se på http://www.winehq.com efter en Debian-version af WINE.

Når du installerer Codeweavers WINE så burde den kunne bruge tidligere WINE-konfigurationer og installerede Windows-programmer. Jeg er dog ikke sikker på om det går lige godt hver gang, selvom der indtil videre ikke har været nogle problemer for mig (man ved jo aldrig hvad der kan ske). Derfor bør du passe ekstra godt på når du installerer (Codeweavers) WINE, hvis du i forvejen bruger WINE. Du kan risikere at bruge WINE uden at vide det. F.eks. bruger mange (hvis ikke alle) af Corels Linux-programmer WINE. Som sagt, er dette blot en vejledning som følger den metode som jeg brugte. Jeg tager derfor intet ansvar hvis noget skulle gå galt på din maskine. Der har dog ikke været nogle store problemer for mig indtil videre. Jeg vil i denne installationsvejledning fortælle hvordan du kan installere WINE. Jeg antager at du ikke tidligere har brugt WINE, at du er logget ind som brugeren tyge (dette navn skal du bare erstatte med dit eget brugernavn), at du bruger en ".rpm-baseret" distribution og at du ikke har en Windows-partition på din computer.

Jeg har lavet denne vejledning på en Mandrake 8.0-distribution, så hvis du bruger en anden distribution end den, kan der godt være nogle ting som er lidt anderledes. Det skal jeg dog nok gøre dig opmærksom på, når det kommer.

11.3.3.1. Hvad kræver WINE af computeren?

For at køre WINE skal du som minimum have en computer med en 386-processor. Det er som sagt kun muligt at køre WINE på Intel x86-processorer (altså normale PC'er) og dermed IKKE på computere som Macintosh.

Et UNIX-kompatibelt operativsystem som f.eks. Linux, FreeBSD, Solaris x86. Dog skal man huske på at Codeweavers WINE kun kommer som .rpm-fil. Minimum 16 Mb ram. For virkelig at få noget ud af det, anbefales minimum 64 Mb ram.

Et X11 Window System (f.eks. XFree86). Hvis du benytter andet end XFree86 kan det være lidt problematisk. Hvis det er tilfældet så se på WINE's web-site.

11.3.3.2. Få fat på programmet

http://www.codeweavers.com/technology/wine/download.php henter du pakken med WINE Preview 3 (den er på ca. 12 Mb. Altså den der hedder "Installable Package") og lægger den ind i tyges hjemmemappe (/home/tyge).

11.3.3.3. Er der WINE i forvejen?

Først skal du finde ud af om der i forvejen ligger en version af WINE på din maskine. Det kan der godt gøre selv om du ikke ved det, for nogle distributioner installerer det automatisk sammen med alt det andet software. For at finde ud af det, skal du skrive rpm -qa | grep wine (evt. også rpm -qa | grep WINE) i et terminalvindue. Hvis der er installeret en version af WINE i forvejen bør du få et svar som minder lidt om det her: wine-20010305-1mdk. Det er kun hvis du har en Mandrake-distribution at der står "mdk" til sidst. Der kan være mere end én pakke, hvis du f.eks. også har en programmørudgave liggende. Hvis du har det, bør du dog overveje om det er værd at skifte WINE ud.

WINE bliver opdateret utrolig tit og en version af WINE der følger med din distribution kan godt være lidt gammel. Hvis du støder ind i et problem med den version der ligger der i forvejen, så kan det nogle gange betale sig at opdatere WINE til den nyeste version. Hvis WINE derimod virker fint til det formål du skal bruge det til, så er der jo ingen grund til at fjerne det.

Hvis der intet står på skærmen efter et stykke tid så har du ikke WINE installeret. Hvis det ikke er installeret så spring videre til "Installation"-afsnittet.

11.3.3.4. Afinstallering

Lad os se nærmere på hvordan man afinstaller WINE. Det gøres ved at logge ind som root og åbne en xterm eller åbne en xterm som ens normale bruger og skrive su og trykke på enter-tasten og så skrive sit root-kodeord.

Derefter skriver du rpm -e programnavnet-fra-før (i mit tilfælde rpm -e wine-20010305-1mdk). Hvis du har mere end én WINE-pakke så gør du bare det samme igen ved at skrive rpm -e navnet-på-det-andet-program. Nu kan du så igen skrive rpm -qa | grep wine (og rpm -qa | grep WINE) og hvis der ingen ting kommer frem på skærmen (udover en ny linje i konsollen) så er du WINE-fri.

11.3.3.5. Installation af ny WINE

Det første du skal gøre er at gå ind i mappen hvor WINE-pakken ligger med kommandoen cd /home/tyge (hvis du ikke længere har root-adgang så skriv først su, og derefter dit root-kodeord, i en xterm). Her skriver du så rpm -i codeweavers-wine-20010305-1.i386.rpm.

Nu kan der ske to ting. Enten installerer den perfekt eller også fortæller den, at den mangler nogle programmer for at kunne installere. Den kan f.eks. skrive at den mangler programmet iTcl eller xmessage eller lignende. Det er så nødvendigt at skaffe pakkerne. Hvis du har Mandrake 8.0 så kan du bruge deres Software Manager eller du kan gå på internettet og finde dem. iTcl pakkerne kan du finde på CodeWeavers web-site. Hvis WINE skriver at du har brug for xmessage så skal du installere pakken X11R6-contrib eller X11R6-contribs.

Når det så er installeret skal du logge ud af root og logge ind som din normale WINE-bruger. Nu skal du så konfigurere WINE. Det gøres via WineSetup. WineSetup kan enten startes fra system-menuen eller fra konsollen, det gør ingen forskel. Hvis du vil starte det fra konsollen skal du bare skrive winesetup i en xterm. Så kommer der et vindue frem hvor der er en tegning af Tux der prøver at åbne en vin. Her vælger du den øverste valgmulighed. Den der hedder ~/.wine/config (new, writable). Tryk derefter på "Next >>".

Nu kommer en ny ting i WINE-konfigurations processen frem. Indstillingen af Windows-mappen. Her skal du bare vælge den mulighed hvor der står (Create a new windows directory: /home/tyge/.wine/fake_windows) være. Tryk derefter på "Next >>"

Nu kommer der et nyt vindue op hvori du kan konfigurere WINE. I det følgende gennemgås systematisk hvert punkt i den venstre side af konfigurationsvinduet:

11.3.3.5.1. Basic

  • Look & Feel Vælg hvilket styresystem dine Windows-programmer skal have udseende efter. Du kan vælge mellem Windows 3.1, Windows 95 eller Windows 98.

  •   Window Mode  Her kan du vælge hvordan programmerne der bliver kørt med WINE skal optræde på dit skrivebord. Vælg mellem tre indstillinger.

    Managed: De Windows-applikationer som bliver kørt, bliver mere integrerede i din X-opsætning, og kommer derfor til at se flottere og mere "Linux-agtige" ud. Nogle gange kan Windows-programmerne og X dog ikke helt finde ud af at køre rigtigt sammen, så nogle gange skaber det problemer, at køre med "managed". Problemer som man vil kunne undgå hvis man vælger en af de to andre indstillinger.

    Unmanaged: Nu bliver programmet ikke integreret i din X-opsætning og ser derfor ud som det ville have gjort under Windows. Her er der ingen problemer med at X kan få programmet til ikke at køre rigtigt og derfor vil programmer der ikke kan køre som managed, i nogle tilfælde godt køre som unmanaged. Hvis man vælger denne indstilling kan man godt køre programmerne som managed uden at skulle konfigurere WINE igen (læs senere i denne instruktionsvejledning). Dette virker ikke den modsatte vej. Altså hvis man har valgt managed kan man ikke køre programmet som unmanaged uden at skulle konfigurere WINE igen.

    Desktop: Her får du mulighed for at åbne dine Windows-programmer i noget som ligner et Windows skrivebord samt den opløsning "skrivebordet" skal være. Det skulle efter sigende være det udseende som flest programmer virker med. Selve "skrivebordet" ser "managed" ud, mens programmet der kører i skrivebordet ser "unmanaged" ud. Hver gang du åbner en ny applikation, åbnes der også et nyt skrivebord. Nogle mennesker foretrækker denne indstilling. Jeg synes også at den er nyttig til tider, men dog synes jeg at programmerne generelt kommer til at fylde for meget hvis man ser dem i skrivebordstilstand og normalt virker programmer fint i både unmanaged og managed tilstand.

    Figur 11-3, Figur 11-4 og Figur 11-5, kan du se tre forskellige screenshots hvor jeg har prøvet at køre Windows-programmet Go!Zilla via WINE under managed, unmanaged og desktop 640x480.

    Normalt kan man bare stoppe her ved at trykke på "Finish"-knappen. Så burde det være klart til brug. Hvis noget går galt, du er nørdet af natur eller du bare gerne vil rode lidt mere med WINE, så læs videre.

Figur 11-3. Go!Zilla desktop

Figur 11-4. Go!Zilla managed

Figur 11-5. Go!Zilla unmanaged

11.3.3.5.2. Advanced

  • Drives  Her kan du indstille dine drev. F.eks. kan du angive hvor dit cd-rom-drev ligger og hvor dit C:-drev ligger osv. F.eks. betyder denne linje: "A Floppy /mnt/floppy /dev/fd0" . A = Windows-drevbogtav. Floppy = type hardware. /mnt/floppy = hvor på Linux drevet befinder sig. /dev/fd0 = hardware-stien. Hvis du er i tvivl om hvorvidt dine hardware-stier er indstillet korrekt kan du åbne en konsol og skrive emacs /etc/fstab (du skal dog passe godt på ikke at ændre noget i denne fil, da den er ret vigtig). F.eks. var D:-drevet på min computer (/mnt/cdrom) automatisk indstillet til at have hardware-adressen /dev/hdd og jeg skulle så selv ændre det til /dev/cdrom. Dette gøres ved at trykke på linjen for det stk. hardware man ønsker og derefter trykke på knappen "Edit". I det vindue som kommer frem kan man så indstille det stk. hardware man har valgt.

    Figur 11-6. WINE-drev

  • Paths Her kan du bare se hvor dine falske Windows-mapper (altså de mapper som WINE selv laver) bliver placeret.

  • Look & Feel Her kan du vælge mellem fire indstillinger:

    • Use DGA Denne indstilling sørger for at det såkaldte DirectDraw arbejder bedre sammen med X og det kan derfor overtage hele skærmen og køre programmerne i "full screen" ved maksimal hastighed. Dog har brugen af DGA også en mindre heldig side. Hvis WINE går ned (crasher) mens det bruger DGA så kan det ske at computeren fuldstændig standser og det bliver nødvendigt at skulle genstarte computeren for at få kontrol over den igen.

    • Use X shared memory Denne indstilling tillader programmer, som bliver kørt i WINE, at køre hurtigere end de normalt ville gøre i X. Dog langt fra så hurtigt som hvis de brugte DGA.

    • DX grab Hvis man ikke bruger DGA så sørger denne indstilling for at musemarkøren holder sig inde i WINE-vinduet. Hvis WINE crasher mens man kører med DX grab så standser computeren ligesom med DGA (her kan man dog benytte tastaturet og derved få lukket X).

    • Double-buffered desktop. Dette har kun betydning hvis du bruger komandoen wine --desktop til at starte dine WINE-programmer i stedet for bare at skrive wine.   Det bestemmer om der skal bruges det såkaldte "double-buffered visual." Det er noget som de fleste OpenGL-spil skal bruge for at køre rigtigt. Codeweavers WINE understøtter dog ikke OpenGL, så hvis der skal spilles 3D-spil via WINE (f.eks. Half-Life), så skal du prøve at se på den "rigtige" WINE-side.

      Jeg har kun valgt at have Use DGA og Use X shared memory slået til, men det er lidt en smagssag.

  • DLLs .DLL-filer er Windows' systemfiler. I denne menu kan du vælge hvordan WINE skal forholde sig til de systemfiler som det understøtter. Der er tre muligheder for at vise WINE hvilke systemfiler der skal bruges fra de forskellige steder. Der er builtin, native og so. Hvis du ikke har Windows så bør alle filerne stå som "builtin" bortset fra nogle specielle filer. Bl.a dem der hedder noget med "glide", bør stå som "so". Codeweavers WINE bør dog selv indstille dette korrekt. "Builtin" fortæller WINE at systemfilerne skal findes blandt WINEs "kunstige" .DLL-filer. Altså de systemfiler som følger med WINE. "So"-filer bruges til programmer som har de samme API calls under både Windows og Linux (som f.eks. Glide). Ved at vælge at filerne skal findes "native" kan man (hvis man har en version af Windows installeret) få WINE til at bruge Windows' systemfiler. På computeren hvor denne HOWTO er lavet har jeg dog ikke installeret Windows og beskrivelsen af native-funktionen har jeg derfor valgt at udelade.

  • Ports Her kan du indstille hardware-adresserne til dine porte bag på computeren. Disse porte burde være rigtigt indstillede og du bør derfor kun rette i dem hvis det ikke virker på din computer.

  • Registry Her bør alle valgmulighederne bare være slået til. De handler om hvor WINE kan hente og skrive sine informationer fra og til.

  • Finish Her kan du se hvordan din WINE-konfigurationsfil kommer til at se ud. Så er der bare tilbage at trykke på "Finish"-knappen nede i højre hjørne.

I denne vejledning valgte vi at bruge en personlig konfigurationsfil og personlig WINE-mappe. Derfor skal du konfigurere WINE for hver bruger inden du kan benytte WINE, med den nye bruger.

Når man skal åbne programmer med WINE kan man normalt bare skrive wine eksempel.exe i en xterm eller bare dobbeltklikke på ikonet i din filmanager. Det er dog ikke det eneste mulighed. Man kan ændre WINEs indstillinger for hvert enkelt program bare ved hjælp af simple kommandoer. Nedenunder vil jeg fortælle om nogle af de mest nødvendige.


[tyge@hven ~]$ wine --desktop YYYxZZZ eksempel.exe

Bemærk, at der skal to minus-tegn foran "desktop".

Her er kan du fortælle WINE at det skal åbne Windows-programmet i sit eget lille skrivebord. I stedet for YYYxZZZ skal du indsætte pixlerne for den størrelse du ønsker vinduet skal fylde. Det er dog ikke bare hvilke som helst tal, men skal være de normale skrivebordsstørrelser. F.eks. wine --desktop 800x600 eksempel.exe. Dette er især smart hvis du vil køre programmer der normalt fylder hele skærmen. Du kan altså få et fuldskærms-program til at køre i et vindue, f.eks. hvis det normalt bruger en skærmopløsning på 1024x768 pixels.


[tyge@hven ~]$ wine --managed eksempel.exe

Her er kan du fortælle WINE at det skal integrere programmet bedre i din window-manager. Dette gælder selvfølgelig kun hvis du har valgt at WINE normalt skal åbne programmer "unmanaged."

Hvis du vil vide mere om hvordan man starter, installerer og kører programmer via WINE, så læs videre i næste afsnit.

11.3.4. Installere programmer under WINE

For at installere et program via WINE er der ikke mange ting der skal gøres (hvis det virker). Egentlig bør du bare kunne skrive wine et-eller-andet-program for at installere og køre det, men der er dog alligvel nogle små ting der skal/kan gøres ud over det.

Her vil jeg vise hvordan man installerer spillet Caesar III via WINE. Det sker gennem en 13-skridts installationsprocedure som egentlig kun har betydning hvis du ejer spillet Caesar III. Jeg har dog taget det med alligvel, så du kan se hvor meget WINE faktisk ligner det rigtige Windows.

  1. Det første du skal gøre er at lægge din Caesar III-cd-rom i cd-rom-drevet.

  2. Så skal du åbne en xterm.

  3. Montér dit cd-rom-drev ved at skrive mount /mnt/cdrom (dette er lavet på en Linux Mandrake-maskine så hvis du bruger en anden distribution skal du lige tage højde for at dit cd-rom-drev måske ligger i en anden mappe, f.eks. på SuSE).

  4. Gå ind i cd-rom'en ved at skrive cd /mnt/cdrom og skriv så wine SETUP.EXE

  5. Nu starter programmet med at vise et stort Sierra-logo og et lille vindue der indikerer hvor langt programmet er nået med at indlæse installations-proceduren.

  6. Herefter bliver hele skærmen sort, pånær en tekst i det øvre venstre hjørne, hvor der med hvide bogstaver står Caesar III. Så kommer der et nyt vindue frem. Det hedder "Welcome" og der står bare lidt tekst. Tryk på knappen "Next>".

  7. Nu kommer der et vindue frem som hedder "Setup Type". Her kan du vælge hvor mange af filerne, som skal ligge på computeren og hvor mange den skal hente fra cd-rom'en. Du kan vælge mellem tre forskellige muligheder:

    • Full Install - Dette kræver 542 Mb fri diskplads.

    • Minimum Install - Dette kræver 150 Mb fri diskplads.

    • Standard Install - Dette kræver 330 Mb fri diskplads.

    Jeg synes at det er rarest med "Full Install", men det er jo lidt en smagssag. Vælg den type du gerne vil have og tryk så på knappen "Next>".

  8. Så kommer der et vindue der hedder "Choose Destination". Der er lidt tekst og nedenunder er der en "kasse" hvori der står hvor Caesar III vil blive installeret. Her plejer der at stå C:\SIERRA\Caesar3.

    Hvis du hellere vil installere det i en anden folder så tryk på knappen "Browse..." og vælg der hvor du gerne vil have det placeret istedet. Til sidst trykker du bare på knappen "Next >".

  9. Så går installationen i gang og du kan se nogle vinduer som viser hvor langt installationen er nået. Bagved dem er der flotte 3D-billeder fra det gamle Rom og hvis du tænder for din højttalere kan du høre noget romer-musik.

  10. Når filerne er installerede bliver skærmen igen sort med Caesar III-teksten i venstre hjørne. Så kommer der et vindue der hedder "Install". Her står lidt tekst og du skal bare trykke på knappen "Ok".

  11. Der kommer så højst sandsynligt et vindue som også hedder "Install". Har står der at du ikke har DirectX installeret og der bliver spurgt om du vil installere det. Her skal du bare trykke på knappen "Nej".

  12. Det næste vindue hedder "Display Read Me". Her kan du vælge at læse readme-filen for Caesar III. Jeg plejer dog bare at trykke på knappen "Nej".

  13. Det sidste vindue hedder "Setup Complete". Der står nogle få linjer tekst og du skal bare trykke på knappen "Finish".

Så er programmet installeret og nu skal vi se om det virker. Åbn en xterm og skriv mount /mnt/cdrom (hvis du nu har haft din computer slukket eller brugt andre cd-rom'er i mellemtiden (dette er lavet på en Linux Mandrake-maskine så hvis du bruger en anden distribution skal du lige tage højde for at dit cd-rom-drev måske ligger i en anden mappe, f.eks. som på SuSE)). Derefter cd /home/tyge/.wine/fake_windows/SIERRA/Caesar3. Så langt, så godt. Nu er det lidt forskelligt hvordan du kan starte programmet alt efter hvilken skærmstørrelse du har. Som du læste tidligere kan du gøre forskellige ting. Hvis du har en skærmopløsning på 640x480 eller 800x600 pixels, så skal du bare starte programmet ved at skrive wine c3.exe. Nu burde Caesar III starte i full screen. Hvis du til gengæld har en skærmopløsning større end det, skal du skrive enten wine --desktop 640x480 c3.exe eller wine --desktop 800x600 c3.exe alt efter hvor stor en skærmstørrelse du gerne vil have det i. Så starter Caesar III i et WINE-skrivebord som har størrelse efter de to tal du skrev før (f.eks. 640x480). Hvis du er i tvivl om, hvad du skal vælge, så kan du jo bare prøve begge to (dog ikke på samme tid :-).

Her kunne denne vejledning vel godt ende, men det gør den ikke. For hvem gider egentlig skrive


 mount /mnt/cdrom
 cd /home/tyge/.wine/fake_windows/SIERRA/Caesar3
 wine --desktop 800x600 c3.exe

hver gang hvis der er en nemmere metode? Faktisk kan du gøre sådan at Caesar III starter præcis som du vil have det, bare ved at skrive caesar3 i en xterm. Det er dog ikke noget som WINE på forhånd har gjort, næh, det er noget vi selv skal til. Det vi skal lave hedder et shell-script.

Lad os sige, at vi står i vores hjemmemappe /home/tyge. Det første du skal gøre er at åbne din foretrukne editor og lave en fil, som hedder caesar3. Hvis du er i tvivl, så åbn en xterm (og så sørg for at du står i din hjemmemappe) og skriv så emacs caesar3. Så kommer editoren Emacs frem og har både lavet og åbnet filen caesar3. Nu skal du så indtaste følgende i filen:


#!/bin/sh
echo "Starter Caesar III"
mount /mnt/cdrom
cd /home/tyge/.wine/fake_windows/SIERRA/Caesar3
wine --desktop 800x600 c3.exe

Forklaringen på hvad filen gør kommer her:

#!/bin/sh - Her starter dit shell-script

echo "Starter Caesar III" - Denne linje skriver "Starter Caesar III" i xterm'en når den starter. Den er egentlig ligegyldig men det giver en flot "effekt" og så ved du også at shell-scriptet faktisk er i gang.

mount /mnt/cdrom - Her fortæller du dit cd-rom-drev at Caesar III-cd'en er i dit cd-rom-drev (dette er lavet på en Linux Mandrake-maskine så hvis du bruger en anden distribution skal du lige tage højde for at dit cd-rom-drev måske ligger i en anden mappe, f.eks. som på SuSE).

cd /home/tyge/.wine/fake_windows/SIERRA/Caesar3 - Dette fortæller Linux at den skal gå ind i mappen /home/tyge/.wine/fake_windows/SIERRA/Caesar3.

Til sidst skal du indsætte den kode du bruger til at starte Caesar III. Hvis du bare plejer at skrive wine c3.exe, så skriv det. Jeg bruger linjen wine --desktop 800x600 c3.exe

Nu skal du bare gemme filen og lukke editoren. Hvis du bruger Emacs kan du gøre det hele via tastaturet. Du trykker først på "Ctrl"-tasten (og holder den nede) og derefter en gang på x (eller skrevet kort: Ctrl-x). Tryk så Ctrl-s. Giv så slip fra "Ctrl"-tasten. Nu er dokumentet gemt. Tryk så først Ctrl-x og derefter Ctrl-c Så har du lukket det.

Nu skal du have aktiveret dit shell-script, for Linux kan ikke bare starte en tekstfil. Det gør du ved at åbne en xterm og gå ind i samme mappe, som du har lavet caesar3-filen i (formodentlig i dit hjemmekatalog). Her skriver du så chmod +x caesar3 Så er den gjort klar. Prøv nu at skrive ./caesar3 i en xterm og se om Caesar III starter (og om det står på skærmen). Hvis det gør det, så virker scriptet. Hvis det ikke virker (og det virkede da du startede Caesar III "manuelt"), så bør du lige kigge din kode og instruktionerne her igennem igen og lige tjekke at alt er stavet rigtigt. Husk at forskellen på store og små bogstaver har en betydning!

Nu skal det så gøres endnu nemmere. I en xterm skriver du følgende kommandoer:

cd /home/tyge - Dette sætter dig ind i Tyges hjemmemappe

su (skriv derefter dit root-kodeord) - Dette giver dig root-rettigheder.

cp caesar3 /bin - Dette kopierer filen caesar3 til mappen bin

cd /bin - Dette sætter dig ind i mappen /bin. Det er her mange af Linux' kommandoer ligger. Når filen bliver placeret her kan den eksekveres uden at fortælle filens sti. Altså kan man skrive caesar3 i stedet for at skulle skrive /home/tyge/caesar3

chmod -R 777 caesar3 - Dette giver alle brugere fuld adgang til filen. Skriv nu exit - Så vender du tilbage til din normale bruger.

Nu kan du så prøve at gå ind i en vilkårlig mappe og skrive caesar3. Så bør Caesar III starte, helt automatisk.