Girotel met Wine

Jasper Aukes, jasper@nl.linux.org v1.1, 3 Mei 1999 Dit document beschrijft hoe het telebankier programma ’Girotel voor Windows’ van de Postbank onder Linux te gebruiken is met behulp van Wine.

Inhoudsopgave

1 Inleiding 1 2 Minimale Eisen 1 3 Wine installeren 2

3.1 Uitpakken, Patchen, Compileren en Installeren . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Het .winerc Bestand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

4 Girotel Installeren 5 4.1 Installeren onder Wine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2 Oude Installatie gebruiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

5 Girotel Gebruiken 6 6 Tips 7 7 Bekende Problemen en Oplossingen 7 8 Referenties 7

1 Inleiding

Veel Linux gebruikers rebooten hun machine af en toe om gebruik te kunnen maken van het telebankier programma ’Girotel voor Windows’ van de Postbank. Behalve dat dit veel tijd kost, is het ook vervelend dat de Linux gebruiker zichzelf genoodzaakt ziet om zijn Windows partitie te laten bestaan. Het zou mooi zijn als de Postbank zich zou realiseren dat het Linux besturingssysteem niet genegeerd kan worden. Tot die tijd moeten Linux gebruikers zich behelpen met de non-Microsoft implementatie van Windows: Wine. Dit project bevindt zich echter nog in ’ALPHA’ fase van ontwikkeling en is derhalve nog verre van perfect. Alhoewel ik er zelf nog nooit nadelige gevolgen van heb hoeven ondervinden, is het raadzaam om steeds een backup te maken van uw belangrijke gegevens. Deze HOWTO behandelt alleen versie 1.3 van ’Girotel voor Windows’

2 Minimale Eisen

Voor het gebruiken van Wine gelden de volgende minimale systeemeisen:

• een x86 machine met een minimum van 16 MB geheugen (32 of meer is beter)

• 64 MB swap (mag minder als fysieke geheugen groter is)

• Wine zelf heeft als ongestripte versie 70 MB diskruimte nodig, als je de packages, nodig om wine te compileren moet downloaden heb je in het totaal ten minste 140 MB diskruimte nodig. Om wine te compileren heb je minimaal 250 MB diskruimte nodig.

• Linux, FreeBSD of Solaris geinstalleerd met X Window System. (Informatie over X via: <http:

     //www.x.org/>)

• Microsoft Windows is NIET noodzakelijk om Windows applicaties te draaien, maar wellicht zijn nog niet alle functies van Windows die dat mogelijk maken in wine geimplementeerd.

• Packages:

– Linux Kernel en Kernel Headers versie 2.0.36 of hoger, FreeBSD-current of FreeBSD 3.0 of hoger Solaris x86 2.5 of hoger

– gcc versie 2.7.2.3, flex versie 2.5 of hoger en yacc

– xlib, xlib6g, xlib6g-dev 3.3.2.3

– xpm4.7, xpm4g, xpm4g-dev 3.4j

– glibc: libc6, libc6-dev 2.0.7u 1.9.9g

– ncurses3.4 en ncurses3.4-dev 1.9.9g

– XFree86 Version 3.3.2.3, e. g. svga-server

– mesag3, mesag3-dev

In sommige gevallen zul je packages moeten gebruiken van onstabiele of frozen versies van je distributie. Als je een systeem beheerder bent moet je er op letten dat dit security problemen kan veroorzaken!

Mesag3 is alleen nodig als je wine wilt compileren met direct 3d support of als je een binary gebruikt die daarmee gecompileerd is.

Alhoewel Linux versie 2.0.x in de meeste gevallen wel zal werken is het zo, dat bepaalde eigenschappen (met name LDT sharing) die nodig zijn voor de juiste ondersteuning van Win32 threads niet geimplementeerd zijn tot kernel versie 2.2. Als je aanhoudende thread-gerelateerde crashes krijgt, kun je beter upgraden naar 2.2. Deze crashes zijn niet vreemd als je weet dat wine vanaf 1999 steeds meer multi-treading is geworden. Vanaf Wine99xxxx is het eigenlijk hoe dan ook aan te raden om kernel 2.2.x te gebruiken.

De sources voor libXpm zijn waarschijnlijk beschikbaar op de FTP site waar je ook Wine vandaan hebt. Ze kunnen ook gevonden worden op <ftp.x.org> en alle mirror sites daarvan. Als je RedHat gebruikt, installeer dan de xpm en xpm-devel packages. Debian gebruikers hebben xpm4.7, xpm4.g en xpm4g-dev 3.4j nodig.

Op x86 systemen is gcc >= 2.7.2 vereist. Daarnaast heb je ook flex versie 2.5 of hoger nodig en yacc. Bison kan als vervanging dienen voor yacc. Als je RedHat gebruikt, installeer dat de flex en de bison packages.

Dit document is slechts zinvol voor diegenen die een girotel abonnement voor particulieren hebben bij de Postbank (niet de versie voor zakelijk gebruik).

3 Wine installeren

Tijdens het schrijven van dit document was de laatste versie van Wine waarmee Girotel goed werkt die van 14 maart 1999 met een patch van Rein Klazes, rklazes@casema.net Dit maakt het momenteel nog noodzakelijk om de Wine sources en de patch op te halen en Wine zelf te compileren.

Voor de meest up-to-date informatie over versies van Wine waarmee ’Girotel voor Windows’ werkt, dient

men op <http://www.casema.net/~rklazes/girotel.html> te kijken.

De Wine-sources zijn verkrijgbaar op alle Sunsites, bijvoorbeeld: <ftp://ftp.leidenuniv.nl/pub/linux/

sunsite/ALPHA/wine/development/Wine-990314.tar.gz> De patch staat bij de programmeur zelf op:
<http://www.casema.net/~rklazes/tools/gt-990314.diff.gz>

3.1 Uitpakken, Patchen, Compileren en Installeren

Pak de Wine sources uit op een partitie met minimaal 170 MB vrije ruimte. Dit is te controleren door in de directory waarin u Wine wilt uitpakken het volgende te doen:

     jasper@ja /tmp# df -k .
     Filesystem         1024-blocks  Used Available Capacity Mounted on
     /dev/hda6             630255   89940   507759     15%   /tmp

Hier is bijvoorbeeld nog ruimte genoeg (Het getal onder ’Available’ geeft aan hoeveel kilobytes vrij zijn)

Pak de source uit door de volgende opdracht te geven:

     tar zxvf Wine-990314.tar.gz

Als het goed is pakt uw browser het .diff.gz file zelf uit zodat u het kunt bewaren door de browser de pagina te laten opslaan. Sla het diff file op in dezelfde directory als waar u Wine heeft uitgepakt. Nu is het tijd om de patch erover heen te halen:

     patch -p1 < gt-990314.diff

Vervolgens kan Wine gecompileerd en geinstalleerd worden door:

     cd /tmp/wine990314
     ./configure
     make depend && make
     make install

NB: De ’make depend && make’ zal waarschijnlijk heel erg lang duren. Daarnaast is het zo, dat ’./configure –disable-lib’ in plaats van de hierboven genoemde opdracht ’./configure’ u een belangrijke tijd- en ruimtebesparing zal opleveren.

3.2 Het .winerc Bestand

Wine heeft een configuratie bestand nodig waar onder andere in staat welke directory’s hij als welke driveletter zal gaan gebruiken. Hier wordt door Wine /usr/local/etc/wine.conf voor gebruikt dat voor iedere gebruiker geldt. Deze system-wide configuratie kan overruled worden door een /.winerc file. Hier volgt een eenvoudig .winerc bestand om Girotel te kunnen gebruiken:

     [Drive A]
     Path=/mnt/floppy
     Filesystem=win95
     Type=floppy
     Label=Floppydrive (if mounted)
     [Drive C]

3. Wine installeren 4

Path=/home/wine
Filesystem=win95
Type=hd
Label=Windows disk
[Drive E]
Path=/mnt/cdrom
Filesystem=win95
Type=cdrom
Label=CD-Rom (if mounted)
[wine]
windows=c:\windows
system=c:\windows\system
temp=c:\Temp
path=c:\;c:\windows;c:\windows\system
symboltablefile=/usr/local/lib/wine.sym
printer=on
[DllDefaults]
EXTRA_LD_LIBRARY_PATH=${HOME}/wine/cvs/lib
DefaultLoadOrder = native, elfdll, so, builtin
[DllPairs]
kernel  = kernel32
gdi     = gdi32
user    = user32
commdlg = comdlg32
commctrl= comctl32
ver     = version
shell   = shell32
lzexpand= lz32
mmsystem= winmm
msvideo = msvfw32
winsock = wsock32
[DllOverrides]
kernel32, gdi32, user32 = builtin
kernel, gdi, user       = builtin
toolhelp                = builtin
comdlg32, commdlg       = elfdll, builtin, native
version, ver            = elfdll, builtin, native
shell32, shell          = builtin, native
lz32, lzexpand          = builtin, native
commctrl, comctl32      = builtin, native
wsock32, winsock        = builtin
advapi32, crtdll, ntdll = builtin, native
mpr, winspool           = builtin, native
ddraw, dinput, dsound   = builtin, native
winmm, mmsystem         = builtin
msvideo, msvfw32        = builtin, native
w32skrnl                = builtin
wnaspi32, wow32         = builtin
system, display, wprocs = builtin
wineps                  = builtin

     [serialports]
     com1=/dev/ttyS0
     com2=/dev/ttyS1
     [parallelports]
     lpt1=/dev/lp0
     [Tweak.Layout]
     WineLook=true

Vul overal de voor u geldende waarden in. Zoals u kunt zien heb ik een user ’wine’ aangemaakt met als homedirectory /home/wine. Ik heb hiervoor gekozen omdat ik niet wilde dat Wine aan mijn Windows partitie moest zitten, omdat ik het dan slechts als root kan draaien en ik genoodzaakt ben om mijn Windows partitie te houden (ja, hij gaat er echt nog eens vanaf :-) ) Bovendien biedt het Linux filesysteem betere beveiliging met behulp van het systeem van permissies. (Wat ook een reden voor het gebruik van Windows NT kan zijn i.p.v. Windows 95). Ik heb mijn Windows systeem bestanden (c:\windows) naar /home/wine/windows gekopieerd als u daar geen ruimte voor heeft, moet u uw .winerc file aanpassen zodat in de sectie [wine] naar de juiste Windows systeem files wordt verwezen. (Voor het functioneren van ’Girotel voor Windows’ zijn de Windows systeembestanden niet noodzakelijk; lege systeemdirectory’s volstaan)

4 Girotel Installeren

U kunt er voor kiezen om Girotel te installeren vanuit Windows, maar het is ook mogelijk om dit met Wine zelf te doen. Voor uitleg over de Windows installatie kunt u zich vervoegen bij de Postbank of Microsoft. Hieronder volgt de uitleg over het installeren onder Wine en een uitleg over hoe u te werk moet gaan als u Girotel al gebruikte onder Windows.

4.1 Installeren onder Wine

Maak een tijdelijke directory ’girotel’ aan op een partitie waarvan minimaal 37 MB diskruimte beschikbaar is (bijvoorbeeld /tmp).

Mount de CD-Rom met Girotel (verkrijgbaar bij de Postbank) en kopieer de benodigde installatie software alsvolgt:

     mount /mnt/cdrom
     cd /mnt/cdrom
     cp -r * /tmp/girotel

Installeer vervolgens als root (of in ieder geval als een user met voldoende schrijfpermissie) Girotel door wine te draaien met als argument de setup.exe applicatie:

     cd /tmp/girotel/instal
     wine setup.exe

Installeer Girotel vervolgens in C:\GIROTEL

4.2 Oude Installatie gebruiken

Indien u Girotel al gebruikte onder Windows 95, hoeft u de installatie niet nog een keer uit te voeren. U kunt de benodigde files gewoon naar een Linux partitie overzetten (voor de veiligheid) en doorgaan met het hoofdstuk ’Girotel Gebruiken’.

     mkdir /home/wine/girotel
     cd /mnt/windows/girotel
     tar cf - .|(cd /home/wine/girotel;tar xvf -)

5 Girotel Gebruiken

Als Girotel geinstalleerd is in /home/wine/girotel moet er nog het een en ander gebeuren voordat Girotel gebruikt kan worden. Om te beginnen doet u er goed aan een groep aan te maken van girotel gebruikers die de gebruikers bevat op uw systeem die girotel mogen gebruiken. Om ervoor te zorgen dat alleen die gebruikers bij de bestanden te laten komen die u dat wilt toestaan moet u een groep girotel aanmaken waarin alle gebruikers zitten die Girotel op uw machine mogen gebruiken.

In de file /etc/groups staat wie lid zijn van welke groepen.

Voeg hieraan de volgende regel toe:

     girotel:x:300:user1,user2,user3

Waarbij de login namen van de gebruikers de plaats moeten worden gebruikt in plaats van ’user1’, ’user2’ en ’user3’. Gebruik hierbij geen spaties.

Zet nu de directory waarin girotel leeft dicht en verander de group-eigenaar door de volgende opdrachten te geven:

     chmod 770 /home/wine/girotel
     chgrp -R girotel /home/wine/girotel

Om Girotel gebruik te kunnen laten maken van uw modem moet het modem ‘schrijfbaar’ zijn voor de leden van de groep ’girotel’. Dit kunt alsvolgt bereiken:

     chmod 664 /dev/ttyS0
     chgrp girotel /dev/ttyS0

Vul de voor u geldende waarden in (Com1 = /dev/ttyS0, Com2 = /dev/ttyS1)

Rest nog een handig scriptje om Girotel te starten: (bewaar dit als /usr/local/bin/girotel en maak het bestand ’executable’ met "chmod +x /usr/local/bin/girotel")

     #!/bin/sh
     umask 007
     cd /home/wine/girotel/gtwin
     /usr/local/bin/wine -managed -desktop 800x600 gtwin.exe

Start Girotel vervolgens met ’girotel’ (Of: /usr/local/bin/girotel als /usr/local/bin niet in uw pad staat)

6 Tips

• Veel andere windows applicaties zijn nu ook vrij gemakkelijk aan de praat te krijgen.

– Zorg dat het programma zich bevindt in een directory die te benaderen is (dat wil zeggen, opgegeven in de .winerc)

– Voer het commando uit: wine /pad/programma (Voor sommige applicaties is het noodzakelijk dat u zich in de directory bevindt waar de applicatie staat)

– Als het niet lukt kunt u het proberen met wat opties. (wine -h geeft ze allemaal)

Van de belastingdiskette en de reisplanner weet ik uit ervaring dat ze geen probleem vormen. De reisplanner bijvoorbeeld voer ik zo uit: /usr/local/bin/wine -desktop 800x600 /home/wine/apps/reisplan/rpw.exe

• Blijf de Postbank vragen om een Girotel versie voor Linux/Unix, de reactie van de Postbank was in mijn geval vaak "Er is geen interesse voor een Linux versie".

• Houd mijn homepage op <http://www.nl.linux.org/~jasper> in de gaten, ik ben bezig met een projectje om Girotel beschikbaar te maken voor Linux/Unix/Java/...

7 Bekende Problemen en Oplossingen

• Display Problemen. Probeer eens optie -dll USER32,USER=n, je hebt dan wel de USER.EXE in de windows\system directory nodig.

• Euro-button crasht girotel. Workaround: druk op de euro-button, muisknop ingedrukt houden, verplaats muis en laat los als de cursor niet meer op de eurobutton staat.

• Na het inloggen hangt girotel (Wine-990328 en Wine-990426).

• Help functie werkt niet. Apart werkt het wel: wine "winhelp gtwin.hlp"

• Girotel is langzaam. Beperk de grootte van de desktop, bv met -desktop 1024x768. Zet het geluid uit. Extreem lange tijden (vijf minuten of zo) kunnen veroorzaakt worden door font problemen.

• Girotel klaagt over modeminstellingen. Controleer of de permissies goed zijn ingesteld (zie hoofdstuk ’Girotel Gebruiken’) en of u wellicht /dev/ttyS1 moet gebruiken.

          Com1 = /dev/ttyS0, Com2 = /dev/ttyS1

NB: Dit moet ook in .winerc in uw homedirectory of in /usr/local/etc/wine.conf aangepast worden.

Voor verdere problemen verwijs ik naar de documentatie op <http://www.winehq.com/doc.html>, de wine man-page (’man wine’) en de README die met de Wine-sources wordt meegeleverd. Er is tijdens het schrijven van dit document een tijdelijke versie van een wine-HOWTO beschikbaar via <http://www.

westfalen.de/witch/wine-HOWTO.txt>

8 Referenties

De uitstekende documentatie op <http://www.winehq.com/doc.html> is mij meerdere malen goed van pas gekomen. Verder moet ik Rein Klazes, rklazes@casema.net bedanken voor zijn patches die het mogelijk hebben gemaakt Girotel te gebruiken onder Wine en voor het commentaar waarmee ik deze HOWTO beter

heb kunnen maken. Op zijn homepage op <http://www.casema.net/~rklazes/girotel.html> geeft Rein

de laatste informatie over het gebruik van girotel onder wine voor zover dit document niet up to date is of daarin niet voorziet.