1 Installations- und Bedienungsanleitung für WINE
9 Dieser Text beschreibt die Installation, Einrichtung und Bedienung von
10 WINE. WINE ist eine Laufzeitumgebung zum Ausführen von Programmen für
11 MS-Windows unter GNU/Linux und anderen UNIX-kompatiblen
12 Betriebssystemen auf Intel-x86-kompatiblen Computern, das Programm kann
13 außerdem dazu genutzt werden, den Quellcode existierender
14 Windows-Programme nach UNIX zu portieren. In diesem Text geht es in
15 erster Linie jedoch um die Installation und Konfiguration der
16 Laufzeitumgebung für Windows-Programme. Der Text wurde
17 ursprünglich als Begleitmaterial für einen Vortrag über WINE und die
18 Integration von Windows-Anwendungen unter GNU/Linux auf dem LinuxTag
19 2000 vom 30. Juni bis zum 2. Juli 2000 in Stuttgart geschrieben.
23 Mit WINE wird ein umfassender Ansatz zur Integration von
24 Windows-Anwendungen unter GNU/Linux verfolgt. WINE besteht u.a. aus
25 einem Loader, mit dem Windows- und DOS-Programme unter Linux in den
26 Speicher geladen und vom Prozessor des Rechners ausgeführt werden
27 können. Außerdem stellt das Programm einen großen Teil der
28 Schnittstellen (APIs) Windows-basierter Betriebssysteme zur Verfügung.
29 Diese Schnittstellen werden von Windows-Programmen, die mit WINE
30 ausgeführt werden, benutzt, so dass solche Programme die selbe,
31 erwartete Umgebung vorfinden, wie unter Windows. Weil diese
32 Schnittstellen mit WINE vorhanden sind und deren Definitionen in Form
33 von Header-Dateien vorliegen, kann WINE auch benutzt werden, um den
34 Quellcode von Windows-Programmen nach GNU/Linux oder anderen
35 UNIX-basierten Betriebssystemen zu portieren. Es entstehen dann echte
36 UNIX/Linux-Programme, welche die selbe Funktionalität haben, wie ihre
37 äquivalenten Programme unter Windows. Die Verwendung eines
38 einheitlichen APIs unter Windows und Linux hat für Softwarehersteller
39 den Vorteil, dass nur eine einzige Version des Quellcodes gepflegt und
40 weiterentwickelt werden muss, die sich unter beiden
41 Betriebssystemfamilien verwenden lässt.
43 Das WINE-Projekt wurde 1993 gestartet, es wird im wesentlichen von
44 Freiwilligen getragen, die über Mailinglisten miteinander
45 kommunizieren. In letzter Zeit hat WINE zusätzliche Unterstützung
46 durch mehrere kommerzielle Unternehmen erfahren, die WINE dazu
47 einsetzen, ihre Windows-Programme nach GNU/Linux zu portieren. WINE
48 ist heute in der Lage, einen großen Teil der existierenden
49 Windows-Programme (16- und 32bit) unter Linux auszuführen, in einem
50 begrenzten Umfang können auch DOS-Programme mit WINE benutzt
51 werden. WINE führt Windows-Programme direkt unter Linux aus, es
52 benötigt dazu keine speziellen Kernelerweiterungen, keine besonderen
53 Rechte und keine existierende Windows-Installation. Das Design erlaubt
54 es, die betreffenden Programme unter Linux genauso schnell
55 auszuführen, wie unter Windows, weil keine Emulation im Sinne einer
56 Interpretation von Prozessoranweisungen stattfindet. Zur Ausführung
57 eines bestimmten Programms werden unter GNU/Linux mit WINE theoretisch
58 dieselben Systemressourcen benötigt wie unter Windows. Optional kann
59 WINE eine bestehende Windows-Installation verwenden. Es ist dann
60 möglich, die Einstellungen dieser Installation für Windows-Programme
61 zu übernehmen und einige Original-Bestandteile von Windows mit WINE zu
62 verwenden, welche in WINE noch nicht in ausreichendem Umfang zur
65 Im folgenden wird beschrieben, wie WINE auf einem GNU/Linux-System
66 installiert und eingerichtet werden kann. Ausgegangen wurde dabei
67 urspruenglich von der Linux-Distribution Debian GNU/Linux 2.2 (potato)
68 und der WINE-Version 20000614. Mittlerweile wurde der Inhalt auf neuere
69 Wine-Versionen (200105xx) angepasst. Bei Verwendung einer anderen
70 Linux-Distribution oder einer anderen WINE-Version sind die
71 beschriebenen Schritte entsprechend anzupassen.
72 Mittlerweile gibt es bei Debian von Ove Kaaven ein perfekt angepasstes
73 Wine-Package ("wine"), das zusammen mit "winesetuptk" kinderleicht verwendet
76 3. Binärpaket oder Quellcode?
78 In den meisten Linux-Distributionen sind heute WINE-Pakete
79 enthalten. Hierbei handelt es sich um Binärpakete, die WINE in einer
80 Form enthalten, in der es direkt ausgeführt werden kann. Aktuelle
81 Versionen solcher Pakete lassen sich auch von verschiedenen
82 Internetseiten herunterladen. Theoretisch sollte WINE nach der
83 Installation eines Binärpakets sinnvoll konfiguriert und sofort
84 benutzbar sein. Tatsächlich ist es in vielen Fällen jedoch notwendig,
85 die mit dem Paket installierte Konfiguration zu überarbeiten.
87 Aufgrund der schnellen Entwicklung von WINE wird zur Zeit empfohlen,
88 an Stelle eines Binärpakets den aktuellen Quellcode zu verwenden. Der
89 Quellcode muss, nachdem man ihn sich beschafft hat, entpackt,
90 konfiguriert und kompiliert (übersetzt) werden. Dabei entsteht dann
91 eine Binärdatei, die genau an das eigene System angepasst ist und
92 deshalb eine höhere Wahrscheinlichkeit für optimale Ergebnisse bietet,
93 als Binärpakete, die u.U. für ein anders konfiguriertes System
94 erstellt wurden. Die Verwendung des Quellcodes bietet außerdem die
95 Möglichkeit, das Programm relativ einfach aktualisieren zu können,
96 wobei nicht immer wieder das komplette Paket heruntergeladen werden
97 muss. Darüberhinaus kann mit der Verwendung des aktuellen Quellcodes
98 sichergestellt werden, dass evtl. auftretende Fehler wirklich in WINE
99 vorhanden sind und nicht bereits behoben worden sind. Dadurch wird die
100 Möglichkeit gesteigert, sinnvolle Fehlerberichte an die
101 WINE-Entwickler schicken zu können.
103 Die Installation von Binärpaketen ist abhängig vom eingesetzten
104 Paketformat der Distribution (zumeist wird das Redhat- oder
105 Debian-Format benutzt) sowie der Distribution selbst. Die hierzu
106 benötigten Informationen sollten sich in der Dokumentation der von
107 Ihnen eingesetzten Distribution finden. In diesem Text wird die
108 Installation aus dem Quellcode von WINE beschrieben.
110 4.0 Systemvoraussetzungen
112 Damit WINE auf dem System übersetzt und ausgeführt werden kann, müssen
113 die folgenden Programme und Dateien installiert sein:
115 1. Linux-Kernel ab der Versionsfamilie 2.2.x. (WINE lässt sich auch
116 unter Linux-Kernels der Versionsfamilie 2.0.x ausführen,
117 allerdings unterstützen diese Kernels bestimmte von WINE benötigte
118 Eigenschaften nicht. Dies macht sich insbesondere dann bemerkbar,
119 wenn 32Bit-Windowsprogramme mit WINE ausgeführt werden sollen, bei
120 denen mehrere Threads gleichzeitig ausgeführt werden.) Die
121 Versionsnummer des aktuell ausgeführten Linux-Kernels wird
122 angezeigt, wenn der folgenden Befehl an der Kommandozeile
127 2. Es wird empfohlen, die GNU C-Bibliothek (libc6) ab Version 2.1
128 einzusetzen. Die Versionsnummer der aktuell eingesetzten
129 C-Bibliothek kann angezeigt werden, indem der folgende
134 Auf einigen Systemen ist sowohl die ältere C-Bibliothek libc5,
135 als auch die neuere Bibliothek libc6 vorhanden. Entscheidend
136 ist dann in der Regel die neuere Version. Die C-Bibliothek muss
137 Reentrant sein, damit WINE Multithreading unterstützen
138 kann. Dies ist bei allen neueren Linux-Distributionen der
139 Fall. Die C-Bibliothek befindet sich im Paket libc6. Um WINE zu
140 übersetzen werden zusätzlich die Entwicklerdateien zur
141 C-Bibliothek benötigt. Diese befinden sich unter Debian im
144 3. Weil WINE das X Window System benutzt, werden die X-Bibliotheken
145 und, wenn WINE übersetzt werden soll, die Entwicklerdateien für
146 X benötigt. Die Bibliotheken sind unter Debian im Paket xlib6g
147 und die Entwicklerdateien im Paket xlib6g-dev enthalten.
149 4. Darüberhinaus benötigt WINE die XPM-Bibliothek (Paket xpm4g),
150 damit das Programm übersetzt werden kann, werden die
151 Entwicklerdateien für XPM benötigt, diese befinden sich im Paket
154 5. Für Programme, die im Textmodus ausgeführt werden, kann WINE die
155 Bibliothek libncurses verwenden. Damit die Unterstützung dafür in
156 das Programm eingebunden wird, müssen die Entwicklerdateien für
157 diese Bibliothek installiert sein (Paket libncurses5-dev). Die
158 Verwendung der ncurses-Bibliothek ist jedoch optional.
160 6. Ebenfalls optional ist die Unterstützung einer OpenGL-kompatiblen
161 Bibliothek, wie z.B. Mesa. Wenn die Unterstützung für OpenGL in
162 das Programm eingebunden werden soll, müssen die
163 OpenGL-Entwicklerdateien auf dem System installiert sein, wie sie
164 z.B. durch das Paket mesag-dev bereitgestellt werden. Zusätzlich
165 sind dann natürlich die OpenGL-Bibliotheken selbst erforderlich.
167 7. Um WINE zu übersetzen, muss der GNU-C-Compiler benutzt werden.
168 Empfohlen wird zur Zeit Version 2.95. Weiter werden einige
169 Standardwerkzeuge wie make, (f)lex, yacc oder bison benötigt,
170 die auf den meisten Linuxsystemen bereits installiert sein sollten.
172 Je nachdem, ob in dem zu erzeugenden Binärcode Debug-Informationen
173 enthalten sein sollen, werden für die Übersetzung und die
174 Installation von WINE zwischen ca. 100 MB und ca. 250 MB
175 Speicherplatz auf der Festplatte benötigt. An den Prozessor des
176 Rechners werden keine besonderen Anforderungen gestellt, so ist ein
177 Prozessor der Pentium-Klasse mit 133 Mhz ausreichend, um mit WINE
178 beispielsweise Textverarbeitungsprogramme auszuführen. Für Spiele
179 und andere Multimedia-Anwendungen wird allerdings in der Regel ein
180 schnellerer Rechner benötigt. Wichtig ist, dass sich in dem Rechner
181 ausreichend Arbeitsspeicher (RAM) befindet. Zur Ausführung größerer
182 Windows-Programme sollte der Rechner mit 64 MB RAM ausgestattet
185 5.0 Beschaffung und Installation des Quellcodes
187 WINE kann von verschiedenen Servern im Internet per FTP oder HTTP
188 heruntergeladen werden. Normalerweise kann der jeweils aktuelle
189 Quellcode u.a. von den folgenden Adressen bezogen werden:
191 * ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/
192 * ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
193 * ftp://orcus.progsoc.uts.edu.au/pub/wine/development/
194 * http://metalab.unc.edu/pub/Linux/ALPHA/wine/development/
196 Bei der Entwicklung von WINE werden zur Zeit noch keine
197 Versionsnummern benutzt. An Stelle dessen trägt jede Ausgabe eine
198 Zahl, welche nach dem Schema Jahreszahl, Monat, Tag dem Datum
199 entspricht, an welchem die betreffende Version herausgegeben wurde.
200 Die Datei Wine-20000614.tar.gz in einem der oben aufgeführten
201 Verzeichnisse enthält also die Version von WINE. die am 14. Juni
202 2000 herausgegeben wurde. Prinzipiell ist es zu empfehlen, die
203 jeweils neueste Version zu verwenden. Nachdem der Quellcode
204 heruntergeladen worden ist, kann er durch die Eingabe des folgenden
205 Befehls im aktuellen Arbeitsverzeichnis entpackt werden:
207 tar -xvzf Wine-20000614.tar.gz
209 Dabei ist Wine-20000614.tar.gz natürlich durch den Namen der
210 heruntergeladenen Datei zu ersetzen. Der Quellcode wird dann in ein
211 Unterverzeichnis des aktuellen Verzeichnisses entpackt, dessen Name
212 sich aus der Bezeichnung wine und, getrennt von einem Bindestrich,
213 dem Herausgabedatum der benutzten Version zusammensetzt, also
214 beispielsweise wine-20000614. Normalerweise empfiehlt es sich,
215 dieses Verzeichnis in wine umzubenennen, wie es durch Eingabe des
216 folgenden Befehls geschehen kann:
218 mv wine-20000614 wine
220 5.1 Aktualisieren des Quellcodes mit Patchdateien
222 Neben den komprimierten Tar-Archiven, welche den Quellcode von WINE
223 beinhalten, befinden sich in den aufgeführten Verzeichnissen auch
224 so genannte Patch-Dateien, welche lediglich die Änderungen
225 enthalten, die zwischen zwei Ausgaben an WINE vorgenommen
226 wurden. Diese Dateien sind normalerweise viel kleiner als der
227 komplette Quellcode, so dass es sich empfiehlt, sie zu verwenden,
228 wenn das Programm von einer Version auf die nächste aktualisiert
229 werden soll. Falls auf einem Rechner beispielsweise Wine-20000614
230 installiert ist und auf WINE-20000614 aktualisiert werden soll, so
231 wäre die Datei WINE-20000614.diff.gz herunterzuladen. Die in der
232 Datei beschrieben Veränderungen können auf den installierten
233 Quellcode angewandt werden, indem zunächst in das Basisverzeichnis
234 des Quellcodes (also in das Verzeichnis wine, welches durch die
235 oben beschriebenen Schritte entstanden ist) gewechselt wird und
236 dann das Programm patch wie folgt aufgerufen wird:
238 gunzip -c ../Wine-20000526.diff.gz | patch -p1
240 Hier wird davon ausgegangen, dass sich die Patch-Datei in dem
241 Verzeichnis befindet, welches dem WINE-Verzeichnis (wine)
242 übergeordnet ist und den Namen Wine-20000526.diff.gz trägt. Der
243 Dateiname ist entsprechend anzupassen, wenn eine Datei mit einem
244 anderen Namen oder aus einem anderen Verzeichnis benutzt wird.
246 5.2 Herunterladen und Aktualisieren von WINE mit CVS
248 Alternativ kann der Quellcode vom CVS-Server des WINE-Projektes
249 installiert werden. Der Vorteil dieses Verfahrens besteht darin,
250 dass es jederzeit unkompliziert möglich ist, den eigenen Quellcode
251 an den Entwicklungsstand des Projekts anzupassen ohne dass auf eine
252 neue Ausgabe des Programms gewartet werden muss. Für jeden, der
253 plant, selbst an dem Projekt mitzuarbeiten, ist die Verwendung von
254 CVS normalerweise erforderlich. Damit CVS benutzt werden kann, muss
255 das Programm cvs natürlich installiert sein. Unter Debian ist es in
256 dem gleichnamigen Paket enthalten. Wenn dies sichergestellt ist,
257 kann durch die Umgebungsvariable CVSROOT eingestellt werden, von wo
258 der Quellcode bezogen, bzw. aktualisiert werden soll. Bei
259 Verwendung der Bash kann dazu der folgende Befehl eingegeben
262 export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine
264 Danach kann man sich bei dem CVS-Server anmelden. Hierzu dient
269 Das Programm erfragt dann ein Passwort für den Zugriff auf den
270 Server. Hier ist das Passwort cvs zu verwenden. Nun kann der
271 Quellcode vom Server heruntergeladen werden, indem der nächste
272 Befehl eingegeben wird:
274 cvs -z 3 checkout wine
276 Im aktuellen Arbeitsverzeichnis wird dann ein Unterverzeichnis mit
277 der Bezeichnung wine angelegt. Sobald der Befehl abgeschlossen ist,
278 befinden sich in diesem Verzeichnis der aktuelle Quellcode des
279 Projekts und einige zusätzliche Dateien, die von CVS benötigt
282 Um den Quellcode auf den neuesten Stand zu bringen, kann dieser
283 Befehl benutzt werden:
285 cvs -z 3 update -PAd WINE
287 Informationen über die hier verwendeten Parameter beim Aufruf von
288 CVS und über weitere Möglichkeiten des Programms befinden sich
289 u.a. in der Manualseite zu cvs(1) sowie auf der CVS-Homepage, die
290 unter http://www.sourcegear.com/CVS zu erreichen ist. Weitere wichtige
291 Hinweise im Hinblick auf CVS und WINE sind unter der Adresse
292 http://www.winehq.com/dev.shtml verfügbar.
294 6.0 Konfiguration und Übersetzung des Quellcodes
296 Vorausgesetzt, der Quellcode befindet sich im Unterverzeichnis wine
297 des aktuellen Arbeitsverzeichnisses, ist zunächst in dieses
298 Verzeichnis zu wechseln, um alle weiteren Schritte durchzuführen:
302 Dann kann das Skript configure aufgerufen werden. Dieses Skript
303 führt eine Reihe von Tests durch, die u.a. untersuchen, ob das
304 System alle notwendigen Eigenschaften erfüllt und die benötigten
305 Entwicklerdateien installiert sind. Daraufhin erzeugt es die
306 Dateien, durch welche die Übersetzung des Quellcodes gesteuert
307 wird. Dem Skript können verschiedene Parameter übergeben werden,
308 mit denen sich beispielsweise bestimmen lässt, dass in den zu
309 erzeugenden Programmen und Bibliotheken keine Debug-Mitteilungen
310 enthalten sein sollen. Die vollständige Liste der verfügbaren
311 Optionen für configure wird angezeigt, wenn das Skript mit der
312 Option --help aufgerufen wird. Normalerweise reicht es aus, das
313 Skript folgendermaßen aufzurufen:
317 Falls wichtige Dateien oder Eigenschaften des Systems von configure
318 nicht gefunden werden können, erfolgt unter Umständen eine Warn-
319 oder Fehlermeldung. Solche Fehler sollten behoben werden, bevor mit
320 der Übersetzung des Quellcodes fortgefahren wird.
322 Im nächsten Schritt wird der Quellcode übersetzt. Dazu sind
323 hintereinander die folgenden beiden Befehle zu benutzen:
329 Auf der Partition, auf welcher sich das Verzeichnis mit dem
330 Quellcode befindet, werden für die komplette Übersetzung zur Zeit
331 ungefähr 230 MB Speicherplatz benötigt. Der größte Teil dieses
332 Speicherplatzes wird dabei von den Debug-Informationen in den
333 Objektdateien, die beim Übersetzen erzeugt werden, benötigt. Falls
334 nicht beabsichtigt wird, irgendwelche Fehler in WINE zu
335 untersuchen, können die Binärdateien auch ohne Debug-Informationen
336 erzeugt werden, dazu ist der letzte der beiden oben genannten
337 Befehle durch den nächsten Befehl zu ersetzen (für die Übersetzung
338 werden dann nur noch ungefähr 80 MB Speicherplatz benötigt).
342 Nun kann WINE auf dem System installiert werden. Hierzu ist mit den
343 Rechten des Administrators der folgende Befehl einzugeben:
347 Dadurch werden die ausführbaren Programme von WINE standardmäßig in
348 das Verzeichnis /usr/local/bin, die Programmbibliotheken in das
349 Verzeichnis /usr/local/lib, die Manualseiten unterhalb des
350 Verzeichnisses /usr/local/man und einige Header-Dateien in das
351 Verzeichnis /usr/local/include/wine installiert.
354 Standardmäßig wird bei einigen Distributionen (z.B. bei Debian
355 GNU/Linux) in dem Verzeichnis /usr/local/lib nicht nach
356 Programmbibliotheken gesucht. Falls beim Start von WINE gemeldet wird,
357 dass bestimmte Bibliotheken nicht geladen werden können, sollte der
358 Name dieses Verzeichnisses in die Datei /etc/ld.so.conf (in eine
359 eigene Zeile) eingetragen und danach das Programm ldconfig aufgerufen
364 Wie viele UNIX-Programme kann WINE entweder über eine systemweit
365 gültige Konfigurationsdatei oder über eine benutzerspezifische
366 Datei im Heimatverzeichnis des betreffenden Benutzers konfiguriert
367 werden. Die benutzerspezifische Konfigurationsdatei trägt den
368 Namen ~/.wine/config.
370 7.1 Aufbau der Konfigurationsdatei
372 Das Format orientiert sich an den von Windows her bekannten *.ini-Dateien,
373 allerdings leicht abgeändert im Wine-Registry-Format.
374 Die Datei besteht aus einzelnen Blöcken, welche durch Bezeichner
375 eingeleitet werden, die in eckigen Klammern und in einer eigenen
376 Zeile stehen. Innerhalb eines Blockes befinden sich Paare von Variablen
377 und Werten, die durch ein Gleichheitszeichen miteinander verbunden sind.
378 Diese Paare stehen ebenfalls jeweils in einer Zeile. Kommentare werden
379 in der Datei durch ein Semikolon eingeleitet. Außerdem dürfen leere Zeilen
380 benutzt werden, um die Datei zu strukturieren. Ein Beispiel für
381 einen solchen Block wäre also:
384 "Path" = "/home/karl"
387 "Filesystem" = "win95"
389 Außerdem ist es möglich, innerhalb der Konfigurationsdatei mit
390 Werten von Umgebungsvariablen zu arbeiten. Dazu ist an Stelle eines
391 Wertes der Name der zu verwendenden Umgebungsvariablen in
392 geschweiften Klammern und mit einem vorangestellten Dollarzeichen
393 anzugeben. Soll beispielsweise der Variablen Path aus dem obigen
394 Beispiel der Wert zugeordnet werden, den die Umgebungsvariable HOME
395 zur Zeit der Ausführung von WINE hat, so wäre die entsprechende
396 Zeile folgendermaßen zu schreiben:
400 Vom Basisverzeichnis des WINE-Quellcodes aus befindet sich in der Datei
401 documentation/samples/config ein Beispiel als Vorlage für die Erstellung
402 einer eigenen Konfigurationsdatei. Die Datei enthält alle wichtigen Blöcke
403 und Variablen, sie muss jedoch an die eigene Konfiguration angepasst
404 werden, bevor WINE das erste Mal benutzt wird. Angenommen, das
405 Basisverzeichnis des WINE-Quellcodes trägt den Namen wine und ist
406 ein Unterverzeichnis des eigenen Heimatverzeichnisses, dann kann
407 diese Vorlage durch den folgenden Befehl an den richtigen Platz
410 cp ~/wine/documentation/samples/config ~/.wine/config
412 Die Werte, welche Variablen in der Konfigurationsdatei zugewiesen
413 werden, lassen sich in drei Typen einteilen: Zeichenketten, Zahlen
414 und Boolsche Werte. Im Fall von Boolschen Werten lässt sich
415 entweder true oder false, 1 oder 0 beziehungsweise yes oder no
416 angeben. In den folgenden Beispielen wird die true / false
417 -Schreibweise benutzt.
419 7.2 Konfiguration von Laufwerksbuchstaben
421 Zwischen UNIX/Linux auf der einen und DOS bzw. Windows auf der
422 anderen Seite gibt es einige Unterschiede in der Art, wie
423 Datenträger und Dateien bezeichnet werden. Unter UNIX/Linux gibt es
424 ein Dateisystem mit einem Wurzelpunkt (/), in das unterschiedliche
425 Datenträger durch einen speziellen Befehl (mount) eingebunden
426 werden. Alle Dateien auf eingebundenen Datenträgern können deswegen
427 innerhalb dieses Dateisystems angesprochen werden. DOS und Windows
428 verwenden jedoch für jeden erkannten Datenträger ein eigenes
429 Dateisystem. Um eine bestimmte Datei eindeutig zu bezeichnen, ist
430 es bei diesen Betriebssystemen deswegen notwendig, neben dem Pfad-
431 und Dateinamen einen so genannten Laufwerksbuchstaben
432 anzugeben. Üblicherweise entspricht dabei der Laufwerksbuchstabe A
433 dem ersten Diskettenlaufwerk und der Buchstabe C der ersten
434 Festplattenpartition des Systems.
436 Weil Programme, die für DOS oder Windows geschrieben sind,
437 Laufwerksbuchstaben verwenden, um Dateien zu bezeichnen, muss WINE
438 diese Buchstaben auf das UNIX-Dateisystem abbilden. Das Problem ist
439 auf die folgende Art gelöst: In der Konfigurationsdatei (~/.wine/config)
440 wird jedem Laufwerksbuchstaben ein Verzeichnis im UNIX-Dateisystem
441 zugeordnet. Dieses Verzeichnis stellt dann (aus Sicht der Windows-
442 Programme) das Basisverzeichnis des entsprechenden Laufwerks dar.
443 Ist also beispielsweise das Verzeichnis /var/winroot dem
444 Laufwerksbuchstaben C zugeordnet und würde ein Windows-Programm
445 unter WINE versuchen, die Datei C:\Dokumente\finanzamt.doc zu öffnen,
446 so würde in Wirklichkeit die Datei /var/winroot/Dokumente/finanzamt.doc
447 geöffnet werden, vorausgesetzt, diese Datei existiert tatsächlich.
448 Durch diesen Mechanismus kann auch erreicht werden, dass von
449 Windows-Programmen, die unter WINE ausgeführt werden, nur auf einen Teil
450 des UNIX-Dateisystems zugegriffen werden kann.
452 Ein weiterer Unterschied zwischen den Dateisystemen unter DOS und
453 Windows auf der einen und UNIX/Linux auf der anderen Seite besteht
454 in der Berücksichtigung von Groß- und Kleinschreibung bei
455 Dateinamen. Während es unter Linux durchaus möglich ist, dass sich
456 in einem Verzeichnis gleichzeitig Dateien mit den Namen brief.txt,
457 Brief.txt und brief.TXT befinden, ist dies unter Windows
458 ausgeschlossen, hier wird beispielsweise die Datei brief.txt
459 geöffnet, falls diese existiert, aber eigentlich die Datei
460 Brief.txt angefordert wurde. Die meisten Programme, die für DOS
461 oder 16Bit-Windows geschrieben wurden, erwarten darüberhinaus, dass
462 Dateinamen aus nicht mehr als acht Zeichen zuzüglich einer drei
463 Zeichen langen Erweiterung bestehen. WINE muss aus diesen Gründen
464 entscheiden, welche Datei tatsächlich geöffnet wird, wenn es
465 aufgrund von Groß- und Kleinschreibung unterschiedliche
466 Möglichkeiten gibt. Außerdem muss es die Dateinamen in acht Zeichen
467 lange Namen übersetzen, falls sie von 16bit-Programmen abgefragt
470 Wenn WINE mit einer bestehenden Windows-Installation benutzt werden
471 soll, sollte darauf geachtet werden, dass die Laufwerksbuchstaben
472 unter Windows und WINE übereinstimmen. Befindet sich die
473 Windows-Installation also beispielsweise auf der Partition
474 /dev/hda1, welche unter Windows über den Laufwerksbuchstaben C
475 angesprochen wird, so sollte diese Partition unter GNU/Linux in ein
476 beliebiges Verzeichnis eingebunden werden und dieses Verzeichnis in
477 der Konfigurationsdatei von WINE wieder dem Laufwerksbuchstaben C
478 zugeordnet werden, da es sonst natuerlich zu Konflikten mit der
479 vorhandenen Konfiguration bereits installierter Programme kommen kann.
481 Ein Beispiel für die Zuordnung von UNIX-Verzeichnissen und
482 Laufwerksbuchstaben in der Konfigurationsdatei wurde weiter oben
483 bereits gebracht. Eine solche Definition besteht aus einem Block,
484 dessen Name sich aus dem Schlüsselwort Drive und dem Buchstaben des
485 Laufwerks zusammensetzt, für das die Definition gelten soll. Ein
486 Beispiel wäre also [Drive C]. Darauf folgen verschiedene Variablen,
487 mit denen die Eigenschaften des Laufwerkes festgelegt werden. Die
488 wichtigste dieser Variablen ist Path. Hiermit wird bestimmt,
489 welchem UNIX-Verzeichnis das Laufwerk entsprechen soll (Beispiele:
490 "Path" = "/home/karl", "Path" = "${HOME}"). Die weiteren Variablen
491 haben die folgende Bedeutung:
494 Windows kann Anwendungen mitteilen, von welchem Typ
495 (Festplatte, CDROM usw.) ein bestimmter Datenträger ist. Mit
496 dieser Variablen wird WINE mitgeteilt, welchen Typ das
497 entsprechende Laufwerk haben soll. Mögliche Werte sind
498 floppy (Diskettenlaufwerk), hd (Festplattenpartition), cdrom
499 (CDROM-Laufwerk) und network (Netzwerklaufwerk). Im
500 allgemeinen empfiehlt es sich, hier den Typ anzugeben, der
501 dem UNIX-Verzeichnis, welches dem Laufwerk zugeordnet ist,
502 entspricht. Beispiel: "Type" = "floppy".
505 Unter DOS und Windows können Laufwerke eine so genannte
506 Datenträgerbezeichnung haben. Diese Bezeichnung kann von
507 Windows-Anwendungen abgefragt werden. Mit dieser Variable
508 kann angegeben werden, welchen Datenträgerbezeichnung WINE
509 zurückliefern soll, falls eine Anwendung diese für das
510 Laufwerk abfragt. Die Datenträgerbezeichnung darf aus nicht
511 mehr als 11 Buchstaben bestehen. Beispiel: "Label" = "Platte1".
514 Jedes Laufwerk hat unter Windows eine so genannte
515 Seriennummer, die ebenfalls von Windows-Programmen abgefragt
516 werden kann. Mit dieser Variablen lässt sich in Form eine
517 acht-stelligen hexadezimalen Zahl angeben, welche
518 Seriennummer in solchen Fällen zurückgeliefert werden
519 soll. Beispiel: "Serial" = "23f78a6b".
522 Hiermit wird bestimmt, welche Eigenschaften das emulierte
523 Dateisystem auf dem betreffenden Laufwerk haben soll. Es
524 sind die folgenden Werte möglich:
527 Auf dem Laufwerk sind nur Dateinamen mit einer Länge
528 von acht Zeichen und einer Erweiterung, die aus drei
529 Zeichen besteht, zugelassen. Unterschiede in Groß- und
530 Kleinschreibung werden nicht
531 berücksichtigt. Alternativ für msdos können die
532 Bezeichnungen dos oder fat für diesen Dateisystemtyp
536 Auf dem Laufwerk sind lange Dateinamen zugelassen. DOS
537 und 16bit-Windowsprogramme können jedoch weiterhin
538 kurze Dateinamen benutzen. Unterschiede in Groß- und
539 Kleinschreibung werden nicht berücksichtigt. Dies ist
540 die empfohlenen Einstellung für fast alle Anwendungen.
541 Alternativ für win95 kann dieser Dateisystemtyp auch
542 als vfat bezeichnet werden.
545 Das Dateisystem auf dem Laufwerk verhält sich ähnlich
546 wie ein typisches UNIX-Dateisystem, d.h. Dateinamen
547 können die normalerweise erlaubte Länge haben und die
548 Groß- und Kleinschreibung ist bedeutsam. Mit dieser
549 Einstellung kommen die meisten Windows-Programme nicht
550 zurecht. Probleme treten beispielsweise dann auf,
551 wenn ein Windows-Programm eine Datei zunächst unter
552 dem Namen Daten speichert und dann unter dem Namen
553 DATEN wieder öffnen will.
556 Es ist zu beachten, dass mit dieser Einstellung nicht
557 angegeben wird, welche Eigenschaften das zugrunde liegende
558 UNIX-Dateisystem hat, sondern welche Eigenschaften von WINE
559 für das entsprechende Laufwerk emuliert werden sollen. Es
560 ist also durch aus möglich (und in den meisten Fällen
561 erforderlich) für ein Laufwerk, das sich auf einem
562 UNIX-Dateisystem befindet, die Einstellung win95 zu
563 verwenden. Falls es sich bei dem Datenträger, auf dem sich
564 das dem Laufwerk zugeordnete Verzeichnis befindet,
565 allerdings um ein FAT-Dateisystem handelt, welches mit dem
566 FAT-Treiber von Linux (und nicht, wie üblich, mit dem
567 VFAT-Treiber) betrieben wird, dann muss hier der
568 Dateisystemtyp msdos benutzt werden, weil es sonst passieren
569 könnte, dass WINE versucht, auf dem betreffenden Datenträger
570 Dateien mit langen Namen anzulegen, was dann zu einem Fehler
571 führen würde. Beispiel: "Filesystem" = "win95".
574 In besonderen Fällen ist es notwendig, dass die
575 Windows-Programme direkt, also unter Umgehung des
576 Dateisystems, auf den Datenträger schreiben oder von ihm
577 lesen. Damit dies auch mit WINE möglich ist, kann hier der
578 Name der Gerätedatei angegeben werden, welcher den
579 Datenträger unter Linux repräsentiert. Dies ist nur dann
580 sinnvoll, wenn das dem betreffenden Laufwerk zugeordnete
581 Verzeichnis dem Mountpunkt des hier angegebenen Datenträgers
582 entspricht. Der direkte Gerätezugriff sollte normalerweise
583 nur für solche Datenträger gestattet werden, deren Inhalt
584 nicht besonders geschützt werden muss (u.U. Disketten) oder
585 von denen ohnehin nur gelesen werden kann
586 (z.B. CDROMs). Damit auf den Datenträger geschrieben werden
587 kann, ist es zusätzlich natürlich notwendig, dass die Rechte
588 an der betreffenden Gerätedatei ausreichend sind. Beispiel:
589 "Device" = "/dev/fd0".
593 Eine Reihe von Windows-Programmen öffnen Dateien prinzipiell
594 zum Lesen und Schreiben, auch wenn aus den betreffenden
595 Dateien lediglich gelesen werden soll. Dieses Verhalten
596 führt normalerweise dazu, dass Dateien, in die von WINE
597 nicht geschrieben werden darf oder die sich auf Datenträgern
598 befinden, auf die nicht geschrieben werden kann (etwa
599 CDROMs), nicht geöffnet werden können. Aus diesem Grund
600 öffnet WINE Dateien standardmäßig zum Lesen, falls eine
601 Datei nicht zum Lesen und zum Schreiben geöffnet werden
602 konnte. Wenn die Variable FailReadOnly auf den Wert true
603 gesetzt wird, verhält sich WINE so wie unter UNIX üblich und
604 liefert eine Fehlermeldung an das Windows-Programm, falls
605 eine Datei nicht zum Schreiben geöffnet werden kann. In der
606 Regel empfiehlt es sich, hier die Standardeinstellung zu
607 übernehmen. Beispiel: "FailReadOnly" = "true".
610 Wenn der Wert dieser Variablen auf true gesetzt ist,
611 versucht WINE, die Seriennummer und die
612 Datenträgerbezeichnung des betreffenden Laufwerks direkt von
613 dem Datenträger zu lesen. Dazu muss dem Laufwerk eine
614 Gerätedatei zugeordnet sein (Variable device). Diese
615 Einstellung ist vor allem für solche Programme sinnvoll, die
616 nur dann funktionieren, wenn sich beispielsweise die
617 richtige CDROM im Laufwerk befindet und die dies anhand der
618 Seriennummer oder der Datenträgerbezeichnung
619 feststellen. Beispiel: "ReadVolInfo" = "true"
621 7.3 Allgemeine Einstellungen
623 Im Abschnitt [wine] der Konfigurationsdatei werden die wichtigsten
624 allgemeinen Einstellungen vorgenommen. Im wesentlichen handelt es
625 sich dabei um Verzeichnisangaben. Es ist zu beachten, dass diese
626 Verzeichnisangaben in der unter DOS und Windows üblichen Weise zu
627 erfolgen haben. D.h., jedem Verzeichnis muss ein Laufwerksbuchstabe
628 vorangestellt werden. Laufwerksbuchstaben und Verzeichnis werden
629 durch einen Doppelpunkt voneinander getrennt, außerdem werden
630 einzelne Verzeichnisse nicht durch einen normalen Schrägstrich,
631 sondern durch einen umgekehrten Schrägstrich (Backslash)
632 voneinander separiert. Die Angaben werden durch die im vorherigen
633 Abschnitt beschriebenen Zuordnungen von Laufwerksbuchstaben in
634 UNIX-Dateinamen übersetzt.
637 Unter Windows spielt das Windows-Verzeichnis eine besondere
638 Rolle. Programme legen hier oft Initialisierungsdateien ab
639 und Installationsprogramme kopieren gelegentlich
640 verschiedene Dateien in dieses Verzeichnis. Mit der
641 Variablen Windows wird eingestellt, welches Verzeichnis von
642 den unter WINE ausgeführten Programmen als
643 Windows-Verzeichnis behandelt werden soll. Das hier
644 angegebene Verzeichnis muss existieren, bevor WINE das erste
645 Mal gestartet wird. Wenn WINE eine bestehende
646 Windows-Installation verwenden soll, muss hier das
647 Verzeichnis angegeben werden, in dem sich die Installation
650 Falls WINE mit einer existierenden Windows-Installation
651 verwendet werden soll und diese Installation sich auf der
652 Festplattenpartition befindet, die unter Windows den
653 Laufwerksbuchstaben C: trägt und unter Linux durch die
654 Gerätedatei /dev/hda1 repräsentiert wird, so könnte diese
655 Partition beispielsweise unter Linux beispielsweise in das
656 Verzeichnis /Windows eingebunden werden. Diesem Verzeichnis
657 wäre dann im Abschnitt, welcher die
658 Laufwerksbuchstabenkonfiguration enthält der
659 Laufwerksbuchstabe C: zuzuordnen:
665 "Filesystem" = "win95"
667 Wenn weiter der Name des Windows-Verzeichnisses dieser
668 Installation windows lautet (unter Windows also C:\windows
669 und unter Linux /Windows/windows), so wäre im Abschnitt
670 [wine] der Konfigurationsdatei folgende Angabe vorzunehmen:
672 "Windows" = "C:\\Windows"
674 Soll WINE jedoch ohne existierende Windows-Installation
675 benutzt werden, so kann ein beliebiges Verzeichnis als
676 Wurzelverzeichnis für das Laufwerk dienen, welches das
677 Windows-Verzeichnis beinhaltet, beispielsweise könnte
678 hierfür das Verzeichnis /Windows angelegt werden. In diesem
679 Verzeichnis müsste nun das Windows-Verzeichnis erzeugt
680 werden, welches daraufhin wie oben beschrieben im Abschnitt
681 [wine] als Windows-Verzeichnis deklariert werden müsste.
684 Das System-Verzeichnis hat eine ähnliche Bedeutung wie das
685 Windows-Verzeichnis. Unter Windows befinden sich in diesem
686 Verzeichnis im wesentlichen die Programmbibliotheken, es ist
687 normalerweise ein Unterverzeichnis des
688 Windows-Verzeichnisses. Dieses Verzeichnis muss ebenfalls
689 existieren, bevor WINE das erste Mal gestartet wird. Auch
690 hier muss das System-Verzeichnis der bestehenden
691 Windows-Installation angegeben werden, falls eine solche
692 benutzt werden soll. Unter Windows 95/98 trägt dieses
693 Verzeichnis normalerweise den Namen system und unter Windows
694 NT den Namen system32. Beispiel: "System" = "C:\\Windows\\System".
697 Das Temp-Verzeichnis wird von vielen Windows-Programmen dazu
698 benutzt, temporäre Dateien abzulegen. Damit dies gelingt,
699 muss hier ein Verzeichnis angegeben werden, welches sich auf
700 einem Laufwerk befindet, das einem UNIX-Verzeichnis
701 entspricht, in dem Schreibberechtigung besteht. Beispiel:
705 Diese Variable hat die gleiche Bedeutung wie die
706 Umgebungsvariable PATH unter UNIX. Ihr Wert besteht aus
707 einer Kette einzelner Verzeichnisnamen, die nach einem
708 auszuführenden Programm durchsucht wird, wenn der Name eines
709 solchen Programms nicht mit Verzeichnisnamen angegeben
710 wurde. Es ist zu beachten, dass die einzelnen Elemente diese
711 Variable unter Windows nicht durch einen Doppelpunkt sondern
712 durch ein Semikolon voneinander getrennt werden, außerdem
713 erwarten viele Windows-Programme, dass das Windows- und das
714 System-Verzeichnis in dieser Variablen enthalten
716 "Path" = "C:\\Windows;C:\\Windows\\System;D:\\Winstuff".
719 Diese Variable wird von WINE benutzt, um den
720 benutzerspezifischen Teil der Systemregistratur einer
721 bestehenden Windows-Installation zu laden. Falls es sich bei
722 der bestehenden Installation um Windows 95/98 handelt, das
723 nicht mit mehreren Benutzern betrieben wird oder ohne eine
724 bestehende Windows-Installation gearbeitet werden soll,
725 braucht die Variable Profile nicht gesetzt zu werden. Wenn
726 jedoch eine Windows NT- oder eine Windows 95/98-Installation
727 mit mehreren Benutzern eingesetzt wird, muss hier angegeben
728 werden, aus welchem Verzeichnis WINE die benutzerspezifische
729 Registrationsdaten laden soll. Diese Verzeichnisse befinden
730 sich normalerweise im Unterverzeichnis Profiles des
731 Windows-Verzeichnis und tragen den Namen des Benutzers,
732 dessen Konfigurationsdaten sie beherbergen. Beispiel:
733 "Profile" = "C:\\Windows\\Profiles\\Peter".
736 WINE kann unterschiedliche Treiber für die graphische
737 Ausgabe verwenden. Welcher Treiber zu verwenden ist, wird
738 mit dieser Variablen festgelegt. Zur Zeit stehen zwei
739 Treiber zur Verfügung, nämlich x11drv für die Verwendung des
740 X Window Systems und ttydrv für die Verwendung von WINE an
741 der Konsole. Der Treiber ttydrv ist zur Zeit nicht voll
742 funktionsfähig, weswegen sich hier nur die Verwendung des
743 Treibers x11drv empfiehlt, dies ist auch die
744 Standardeinstellung, wenn die Variable nicht gesetzt
745 wird. Beispiel: "GraphicsDriver" = "x11drv".
747 7.4 Konfiguration der zu verwendenden Bibliotheken
749 Wie UNIX/Linux-Programme bestehen Windows-Programme in der Regel
750 aus der eigentlichen Programmdatei und einer Reihe von
751 Programmbibliotheken, die beim Laden des Programms oder später mit
752 dem Programm verbunden werden. Eine Reihe der Programmbibliotheken
753 unter Windows stellt dabei gleichzeitig die Schnittstelle zum
754 Betriebssystem dar. Neben dem eigentlichen Windows-Programm werden
755 also die Bibliotheken benötigt, um das Programm ausführen zu
758 WINE stellt eine große Anzahl der normalerweise unter Windows
759 verfügbaren Bibliotheken zur Verfügung. Diese Bibliotheken liegen
760 entweder in Form eigener Dateien vor, welche sich standardmäßig im
761 Verzeichnis /usr/local/lib befinden, oder sie sind direkt in der
762 Programmdatei wine enthalten. WINE ist jedoch auch in der Lage, die
763 normalen Windows-Bibliotheken zu verwenden; dies ist beispielsweise
764 dann notwendig, wenn von einem Programm eine Bibliothek benötigt
765 wird, bei der es sich nicht um eine standardmäßige Windows-Bibliothek
766 handelt, sondern um eine, die dem System während der Installation
767 des betreffenden Programms hinzugefügt worden ist. Solche Bibliotheken
768 werden normalerweise nicht von WINE zur Verfügung gestellt.
770 Falls WINE mit einer bestehenden Windows-Installation benutzt wird,
771 bietet es sich u.U. an, in einigen Fällen an Stelle der von WINE
772 zur Verfügung gestellten Bibliotheken die Bibliotheken der
773 Windows-Installation zu verwenden. Diese sind in vielen Fällen
774 vollständiger und können dem auszuführenden Programm deswegen eher
775 die erwartete Funktionalität zur Verfügung stellen. Dabei ist
776 jedoch zu beachten, dass dies nur mit solchen Bibliotheken möglich
777 ist, die keine Betriebssystemfunktionen beinhalten. Bibliotheken,
778 die lediglich einfachen Programmcode, wie beispielsweise den für
779 häufig benötigte Dialoge, beinhalten, können hingegen problemlos
780 aus einer bestehenden Windows-Installation benutzt werden.
782 Die meisten Bibliotheken stehen unter Windows (95/98) in zwei
783 verschiedenen Versionen zur Verfügung, einer 32Bit-Version, die von
784 32Bit-Programmen geladen werden kann und einer 16Bit-Version, die
785 von 16Bit-Programmen benutzt werden kann. Beide Versionen benutzen
786 in der Regel Programmcode aus der jeweils zugehörigen anderen
787 Version (Unter Windows 95/98 befindet sich die eigentliche
788 Funktionalität meist in den 16Bit-Bibliotheken, die von den
789 32Bit-Versionen geladen und aufgerufen werden). Deswegen ist es
790 erforderlich, dass immer jeweils beide Versionen einer Bibliothek
791 als Windows- oder als WINE-Bibliothek geladen werden, andere
792 Einstellungen führen in der Regel direkt nach dem Aufruf von WINE
793 zu Fehlern. Die folgende Tabelle zeigt, welche der wichtigsten 16-
794 und 32-Bit Bibliotheken zusammen gehören und gibt Auskunft darüber,
795 ob diese Bibliotheken aus einer bestehenden Windows-Installation
796 geladen werden können oder unbedingt von WINE zur Verfügung
797 gestellt werden müssen. Es wird jeweils zunächst die 16-Bit Version
798 und dann die 32-Bit Version genannt.
802 Diese Bibliothek stellt die Schnittstelle zu den grundlegenden
803 Funktionen, wie Dateizugriff, Ein- und Ausgabe oder
804 Prozesssynchronisation, von Windows-Betriebssystemen zur Verfügung.
805 Deswegen können hier nicht die Bibliotheken einer
806 Windows-Installation benutzt werden.
810 Diese Bibliothek enthält die Schnittstelle zu dem Betriebssystem
811 Windows NT. Es muss deswegen die WINE-Version benutzt werden.
815 Hier befinden sich u.a. Funktionen zum Zugriff auf die
816 Windows-Registratur sowie Sicherheitsfunktionen und
817 kryptographische Funktionen. In der Regel empfiehlt es sich, WINEs
818 Version dieser Bibliothek zu verwenden.
822 Hier befindet sich die Internet Protokoll (IP) Schnittstelle von
823 Windows. Mit WINE wird die IP-Funktionalität des Betriebssystems
824 (Linux) benutzt, so dass hier die WINE-Versionen dieser
825 Bibliotheken benutzt werden müssen, welche die IP-Aufrufe von
826 Windows-Programmen an Linux weiterleiten.
830 GDI steht für Graphics Device Interface. Die Bibliothek stellt eine
831 einheitliche Schnittstelle zur Bildschirmausgabe und zu Druckern
832 dar. Auch hier müssen die WINE-Versionen benutzt werden.
836 User stellt u.a. Funktionen zur Fensterverwaltung, zu Menüs oder
837 zur Bedienung der Zwischenablage bereit. Die Windows 95/98
838 Versionen dieser Bibliotheken konnten früher unter bestimmten
839 Bedingungen mit WINE benutzt werden. Die USER-Bibliotheken von
840 Windows NT rufen in der Regel Funktionen im NT-Kernel auf und
841 können deswegen nicht mit WINE benutzt werden. Es empfiehlt sich,
842 die User-Bibliotheken von WINE zu verwenden.
846 Diese beiden Bibliotheken stellen Funktionen zum Dekomprimieren
847 von LZ-Archiven zur Verfügung. Solche Funktionen werden im
848 wesentlichen von Installationsprogrammen benötigt. Die zu Windows
849 gehörenden Versionen dieser Bibliotheken benutzen einige Funktionen
850 aus der Kernel-Bibliothek, die in WINE zur Zeit nicht implementiert
851 sind. Es müssen deswegen die von WINE bereitgestellten Versionen
856 Diese Bibliothek (common controls) stellt Funktionen zur Erzeugung
857 oft benutzter Fensterelemente, wie Werkzeugleisten oder
858 Statusanzeigen, zur Verfügung. Es können sowohl die Version von
859 WINE als auch die Windows-Version der Bibliothek benutzt werden.
863 Hier befinden sich komplette Dialoge, die oft von
864 Windows-Programmen benutzt werden (Farbauswahl, Auswahl der
865 Schriftart, Suchen und Ersetzen usw.). Auch hier können wahlweise
866 die Windows- oder WINE-Versionen benutzt werden.
870 Die Shell-Bibliothek beinhaltet den größten Teil der
871 Benutzerschnittstellen von Windows. Sie wird unter Windows
872 besonders vom Explorer (dem Dateimanager) und vielen anderen
873 Anwendungen benutzt, die Funktionen wie beispielsweise
874 Drag-and-Drop unterstützen. Prinzipiell kann sowohl die Windows-
875 als auch die WINE-Version benutzt werden.
879 Dies ist die standardmäßige C-Laufzeitbibliothek von Windows. Zur
880 Zeit ist die Windows-Version vollständiger, weswegen einige
881 Programme mit der WINE-Version nicht richtig funktionieren.
883 Neben den hier genannten wichtigsten Systembibliotheken stellt WINE
884 eine Reihe weiterer Bibliotheken zur Verfügung, beispielsweise zur
885 Unterstützung von Multimedia-Anwendungen. Falls eine
886 Windows-Installation zur Verfügung steht, empfiehlt es sich in
887 vielen Fällen, auszuprobieren, ob ein Programm besser mit den
888 WINE-Versionen oder den Windows-Versionen dieser Bibliotheken
891 In der Datei ~/.wine/config gibt es zwei Abschnitte, mit denen
892 bestimmt wird, welche Bibliotheken aus einer Windows-Installation
893 geladen werden sollen. Darüberhinaus können diese Einstellungen
894 beim Aufruf von WINE an der Kommandozeile überschrieben werden.
895 Im allgemeinen empfiehlt es sich, die Einstellungen in der
896 Beispielversion der Konfigurationsdatei (documentation/samples/config)
897 zu übernehmen und diese nur dann zu verändern, falls
898 bestimmte Programme mit den Voreinstellungen nicht richtig
899 funktionieren. Falls die Bibliotheken einer Windows-Installation
900 benutzt werden sollen, ist darauf zu achten, dass diese auch von
901 WINE gefunden werden können. Dies setzt in der Regel voraus, dass
902 mit den Variablen Windows und System im allgemeinen Teil der
903 Konfiguration auf das Windows- bzw. das Systemverzeichnis einer
904 gültigen Windows-Installation gezeigt wird und dass diese beiden
905 Verzeichnisse im Wert der Variablen Path genannt werden.
907 Im Abschnitt [DllDefaults] können die folgenden beiden Einstellungen
911 Hiermit wird bestimmt, welche Reihenfolge WINE standardmäßig
912 benutzen soll, wenn versucht wird, eine Bibliothek zu laden.
913 Diese Reihenfolge wird durch die folgenden Schlüsselwörter
917 Es soll versucht werden, die Windows-Version der
918 betreffenden Bibliothek zu laden.
921 Es soll versucht werden, die WINE-Version der
922 betreffenden Bibliothek zu laden.
925 Elfdlls sind eine besondere Form von
926 Windows-Bibliotheken, welche von WINE zur Verfügung
927 gestellt werden. Sie sind ursprünglich geplant worden,
928 um die eingebauten Bibliotheken abzulösen, allerdings
929 haben die eingebauten Bibliotheken mit der Zeit viele
930 der für Elfdlls geplanten Funktionen bekommen, so dass
931 diese Form von Bibliotheken zur Zeit keine besondere
935 In einigen Fällen gibt es von einer Bibliothek Linux-
936 und Windows-Versionen, die sich sowohl hinsichtlich
937 ihrer Funktionalität als auch hinsichtlich der
938 aufrufbaren Funktionen in der Bibliothek nicht
939 unterscheiden. Falls ein Windows-Programm die
940 Windows-Version einer solchen Bibliothek laden will,
941 kann WINE versuchen, an Stelle dessen die Linux-Version
942 zu laden und die Funktionen dieser Version an Stelle
943 der in der Windows-Version aufrufen. Mit dem
944 Schlüsselwort so kann dieses Verhalten hervorgerufen
947 Durch die Reihenfolge, mit der diese Schlüsselwörter der
948 Variablen DefaultLoadOrder zugeordnet werden, wird
949 festgelegt, in welcher Reihenfolge WINE die einzelnen
950 Strategien benutzt. Wurde beispielsweise "DefaultLoadOrder" =
951 "native, builtin, so" angegeben, so versucht WINE, wenn eine
952 Bibliothek geladen werden muss, zunächst die
953 Windows-Version zu laden. Wenn dies nicht funktioniert (in
954 der Regel, weil die Bibliothek nicht vorhanden ist oder
955 nicht gefunden werden kann), wird versucht, die WINE-Version
956 der Bibliothek zu verwenden und falls auch eine solche nicht
957 vorhanden ist, wird versucht, direkt die UNIX-Version der
958 entsprechenden Bibliothek zu laden.
960 Im Abschnitt [DllOverrides] lässt sich das im vorherigen Abschnitt
961 spezifizierte Verhalten für einzelne Bibliotheken wieder
962 überschreiben. Während es nämlich im allgemeinen eine gute
963 Strategie ist, zunächst zu versuchen, die Windows-Versionen von
964 Bibliotheken zu laden, darf dies (wie oben beschrieben) bei
965 bestimmten Bibliotheken auf keinen Fall geschehen und es müssen in
966 jedem Fall die WINE-Versionen benutzt werden. Als Variablen werden
967 in diesem Abschnitt die Bibliotheken genannt, für die eine
968 spezielle Reihenfolge gelten soll. Hinter dem Gleichheitszeichen
969 wird dann die für diese Bibliotheken gewünschte Reihenfolge in der
970 gleichen Form angegeben, wie es im vorherigen Abschnitt beschrieben
974 "krnl386, kernel32" = "builtin"
975 "gdi, gdi32" = "builtin"
976 "user, user32" = "builtin"
977 "shell,shell32" = "native, builtin"
980 7.5 Konfiguration des X11 Graphiktreibers
982 Der X11 Graphiktreiber stellt die Schnittstelle zwischen den
983 Graphikfunktionen der Windows-Betriebssysteme und dem X Window
984 System dar. Er ermöglicht es also, dass Windows-Programme unter
985 WINE das X Window System ähnlich benutzen können, wie sie unter
986 echtem Windows eine normale Graphikkarte benutzen. Das Verhalten
987 des Treibers wird im Abschnitt x11drv der Konfigurationsdatei
988 eingestellt. Dort stehen die folgenden Variablen zur Verfügung:
991 Wenn diese Variable auf true gesetzt ist, verwendet WINE
992 eine eigene Farbpalette. Bei X-Servern die mit eine
993 Farbtiefen von 256 Farben (8bpp) oder weniger betrieben
994 werden, hat das zur Folge, dass andere Fenster u.U. in
995 falschen Farben dargestellt werden, wenn zu WINE gehörende
996 Fenster in den Vordergrund geschaltet sind. Dafür kann WINE
997 jedoch Farben besser darstellen als ohne diese
998 Einstellung. Falls der X Server mit einer Farbtiefe von mehr
999 als 256 Farben betrieben wird, ist die Einstellung
1003 Wenn WINE keine eigene Farbpalette verwendet, kann hier
1004 angegeben werden, wieviele Farben von der systemweit
1005 geteilten Palette maximal von WINE benutzt werden
1006 dürfen. Der höchstmögliche Wert ist hier 256, weil bei
1007 besseren Farbtiefen keine Palette benutzt wird. Beispiel:
1008 "AllocSystemColors" = "100".
1011 An einigen Stellen hat WINE die Möglichkeit,
1012 Graphikoperationen entweder so durchzuführen, dass sie
1013 besonders schnell sind oder so, dass sie besonders korrekt
1014 ausgeführt werden. Wenn diese Variable auf den Wert true
1015 gesetzt wird, wird der Genauigkeit Vorzug gegeben. Beispiel:
1016 "PerfectGraphics" = "false".
1019 DGA (Direct Graphics Access) ist eine Erweiterung von
1020 XFree86, welche den direkten Zugriff auf den Speicher der
1021 Graphikkarte ermöglicht. Dadurch lassen sich
1022 Graphikoperationen wesentlich schneller durchführen als
1023 normalerweise. Die DirectDraw-Bibliothek (DirectX) von WINE
1024 kann diese Erweiterung benutzen, wodurch sich insbesondere
1025 Spiele mit einer ähnlichen Geschwindigkeit wie unter Windows
1026 ausführen lassen. Weil DGA den direkten Hardwarezugriff
1027 erfordert, sind dazu in der Regel Administratorrechte
1028 erforderlich. Die Verwendung von DGA wird mit "UseDGA" = "true"
1029 ein- und mit "UseDGA" = "false" ausgeschaltet.
1032 Anwendungen, die DirectDraw benutzen, versuchen
1033 normalerweise den Bildschirm in eine bestimmte Auflösung und
1034 Farbtiefe zu schalten. WINE kann die Auflösung zwar
1035 verändern, falls sich in der Datei XF86Config eine
1036 Definition für den angeforderten Modus befindet, weil das X
1037 Window System jedoch nicht den Wechsel der Farbtiefe
1038 unterstützt, ist es oft erforderlich, den X-Server in der
1039 benötigten Farbtiefe zu starten, bevor WINE gestartet wird.
1042 Hierbei handelt es sich um eine andere Erweiterung des X
1043 Window Systems, die schnellere Graphikoperationen
1044 ermöglicht. Beispiel: "UseXShm" = "true".
1047 Diese Option bewirkt, dass der Mauszeiger - bei der
1048 Verwendung von DirectDraw (DirectX) - das von DirectDraw
1049 gesteuerte Fenster nicht verlassen kann. Dies ist notwendig,
1050 um einige Programme richtig bedienen zu können, allerdings
1051 wird dadurch verhindert, mit der Maus in ein anderes Fenster
1052 zu schalten, beispielsweise um WINE zu beenden. Beispiel:
1056 Einige X-Server unterstützen unterschiedliche Farbtiefen auf
1057 dem selben Bildschirm. Mit dieser Variable kann ausgewählt
1058 werden, welche Farbtiefe in einem solchen Fall benutzt
1062 WINE kann von Windows-Programmen dargestellte Fenster
1063 u.a. unabhängig vom eingesetzten Window-Manager anzeigen
1064 oder sie unter die Kontrolle des Window-Managers
1065 stellen. Das zweite Verfahren bietet eine bessere
1066 Integration von Windows-Programmen in die Arbeitsumgebung
1067 unter Linux, weil die Fenster dann genauso wie die von
1068 Linux-Programmen erscheinen und zu steuern sind. Welcher der
1069 verfügbaren Anzeigemodi verwendet werden soll, wird
1070 normalerweise an der Kommandozeile beim Aufruf von WINE
1071 angegeben. Durch diese Variable in der Konfigurationsdatei
1072 lässt sich festlegen, ob von WINE gesteuerte Fenster
1073 standardmäßig den Window-Manager verwenden sollen ("Managed" =
1076 DesktopDoubleBuffered
1077 Diese Option sollte auf den Wert true gesetzt werden, wenn
1078 mit WINE Programme benutzt werden, die OpenGL
1079 benutzen. Hierdurch wird die Darstellung solcher Anwendungen
1082 7.6 Konfiguration der zu verwendenden Schriftarten
1084 Der X11-Graphiktreiber x11drv verwendet zur Darstellung von Schrift
1085 die Schriftarten, die dem X-Server direkt oder über einen Fontserver
1086 zur Verfügung stehen. Eine Reihe von Windows-Anwendungen erwarten
1087 allerdings ganz bestimmte Schriften, die unter Windows in der Regel
1088 verfügbar sind und viele Anwendungen werden anders als unter Windows
1089 dargestellt, falls andere Schriftarten benutzt werden müssen.
1091 Windows verwendet normalerweise zwei unterschiedliche Typen von
1092 Schriftarten, nämlich so genannten TrueType-Schriften und einfache
1093 Bitmap-Schriftarten. Beide Schrifttypen können von XFree86 in der
1094 Versionsfamilie 3.x standardmäßig nicht zur Verfügung gestellt
1095 werden. Allerdings ist es möglich, Windows-Bitmap-Schriftarten in
1096 ein Format zu übersetzen, welches von XFree86 eingebunden werden
1097 kann. TrueType-Schriftarten können über spezielle
1098 TrueType-Fontserver, die mittlerweile in den meisten Distributionen
1099 enthalten sind, eingebunden werden. Falls eine Windows-Installation
1100 zur Verfügung steht, empfiehlt es sich im allgemeinen, die dort
1101 vorhandenen Schriftarten auch unter Linux einzubinden, damit unter
1102 WINE ausgeführte Windows-Anwendungen die erwarteten Schriftarten
1103 vorfinden. Wenn WINE ohne Windows-Schriftarten benutzt wird,
1104 versucht das Programm, die angeforderten Schriften durch die
1105 Schriften des X Window Systems zu ersetzen, wodurch sich
1106 Veränderungen im Erscheinungsbild der Anwendungen ergeben können.
1108 7.6.1 Einbinden von Bitmap-Schriften
1110 Windows Bitmap-Schriftarten befinden sich normalerweise im
1111 Unterverzeichnis fonts des Windows-Verzeichnisses und haben die
1112 Dateinamensendung .fon. Es ist aber auch möglich, dass sie in
1113 ausführbaren Dateien oder in Bibliotheken enthalten sind. Im
1114 Unterverzeichnis tools des Basisverzeichnisses mit dem
1115 WINE-Quellcode befindet sich das Programm fnt2bdf, mit dem die
1116 Fonts aus diesen Dateien extrahiert und in das Bitmap Distribution
1117 Format (.bdf) umgewandelt werden können. Dazu ist das Programm
1118 folgendermassen aufzurufen:
1120 fnt2bdf -o Basisname Schriftdatei
1122 Dabei ist für Schriftdatei der Name der Datei anzugeben, in der
1123 sich die zu extrahierenden Schriften befinden und für Basisname
1124 eine Bezeichnung, mit der die Namen der zu extrahierenden Dateien
1125 beginnen sollen. Es ist zu beachten, dass sich in der Regel in
1126 einer Windows-Schriftartendatei mehrere Schriftarten befinden, die
1127 in unterschiedliche Dateien extrahiert werden. Bei einigen
1128 Schriftarten ist es notwendig, dem Programm mitzuteilen, wie die
1129 Schriftarten kodiert sind. Hierzu ist die Option -c zu verwenden
1130 und dahinter die Bezeichnung der Kodierung anzugeben. Eine
1131 Übersicht über alle von dem Programm unterstützten Optionen wird
1132 ausgegeben, wenn es ohne Parameter aufgerufen wird. Um also
1133 beispielsweise die Bitmap-Schriften aus der Datei SERIFF.FON in
1134 Dateien zu extrahieren, deren Namen mit der Bezeichnung seriff
1135 beginnen, wäre das Programm so aufzurufen:
1137 fnt2bdf -o seriff SERIFF.FON
1139 Es werden dann eine Reihe von Dateien mit unterschiedlichen Fonts
1140 aus der Originaldatei erzeugt. Im nächsten Schritt sind diese
1141 Dateien mit dem Programm bdftopcf(1) in das so genannte Portable
1142 Compiled Format zu übersetzen. Dieses Programm sollte Bestandteil
1143 jeder X11-Installation sein und ist durch eine Manualseite
1144 dokumentiert. Um beispielsweise die Datei seriff_r400-23.bdf zu
1145 übersetzen und das Ergebnis in die Datei seriff_r400-23.pcf zu
1146 schreiben, könnte das Programm so aufgerufen werden:
1148 bdftopcf -o seriff_r400-23.pcf seriff_r400-23.bdf
1150 Die auf diese Weise erzeugten Dateien können nun in eines der, von
1151 dem X-Server oder einem Fontserver benutzten, Font-Verzeichnis
1152 kopiert werden. In diesem Verzeichnis ist danach der Befehl
1153 mkfontdir aufzurufen, damit der dort befindlich Fontindex neu
1154 erzeugt wird. Bevor die Schriften dann tatsächlich unter X zur
1155 Verfügung stehen und damit von WINE benutzt werden können, muss X
1156 neu gestartet oder der folgende Befehl an der Kommandozeile
1161 Im Unterverzeichnis tools des WINE-Quellcodeverzeichnisses befindet
1162 sich ein Shellskript mit dem Namen font_convert.sh, welches die
1163 oben genannten Schritte automatisch durchführt und alle unterhalb
1164 eines Verzeichnisses befindlichen Bitmap-Schriftarten automatisch
1165 konvertiert und installiert.
1167 7.6.2 Einbinden von TrueType-Schriften
1169 Wie bereits erwähnt, können die X-Server von XFree86 in der
1170 Versionsfamilie 3.x keine TrueType-Schriften darstellen. Seit
1171 XFree86 4.0 hat sich dies allerdings geändert, so dass solche
1172 Schriften zukünftig problemlos unter X - und damit auch mit WINE -
1173 zur Verfügung gestellt werden können. Leider können über das
1174 X-Font-Protokoll nicht alle von manchen Windows-Programmen
1175 benötigten Informationen über TrueType-Fonts dargestellt werden, so
1176 dass manche Windows-Programme auch dann noch nicht richtig
1177 funktionieren, wenn die benötigten Fonts zur Verfügung gestellt
1178 worden sind. Mit XFree86 3.x bietet sich der Einsatz eines
1179 TrueType-Fontservers an. Zur Zeit stehen drei unterschiedliche
1180 solcher Programme zur Verfügung, nämlich: xfs-xtt (Debian-Paket:
1181 xfs-xtt), xfstt (Debian-Paket xfstt) und xfsft (im Internet unter
1182 der Adresse http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
1185 Der Autor hat mit dem Programm xfsft die besten Ergebnisse erzielt.
1186 Dieser Server lässt sich leicht konfigurieren und ist kompatibel zu
1187 herkömmlichen Fontservern, so dass nicht zwei verschiedene
1188 Fontserver auf einem Rechner ausgeführt werden müssen. Dieses
1189 Programm diente auch als Grundlage für die Integration der
1190 TrueType-Unterstützung in XFree86 4.0.
1192 Um die von einem Fontserver zur Verfügung gestellten Schriften zu
1193 verwenden, muss dem X-Server die Adresse des Fontservers mitgeteilt
1194 werden. Dies kann entweder in der Datei /etc/X11/XF86Config oder
1195 durch Eingabe dieses Befehls geschehen:
1197 xset fp+ tcp/localhost:7100
1199 Dabei muss localhost u.U. gegen den Namen des Rechners ausgetauscht
1200 werden, auf dem der Fontserver ausgeführt werden und 7100 durch den
1201 Port, der vom Fontserver benutzt wird. Wenn der Fontserver auf dem
1202 selben Rechner ausgeführt wird wie der X-Server, dann können zur
1203 Kommunikation zwischen X-Server und Fontserver auch
1204 UNIX-Domain-Sockets benutzt werden. Der entsprechende Befehl könnte
1205 dann folgendermaßen aussehen:
1209 7.6.3 Font-Einstellungen in der WINEs Konfigurationsdatei
1211 In der Konfigurationsdatei ~/.wine/config bzw. wine.conf stehen die
1212 folgenden Variablen zur Verfügung, mit denen WINEs Umgang mit
1213 Schriftarten beeinflusst werden kann:
1216 Unter Windows können Programme die Größe eines zu
1217 verwendenden Fonts in Punkten (an Stelle von Pixeln)
1218 angeben. Damit die Schriftart dann in der richtigen Größe
1219 angezeigt werden kann, muss die tatsächliche Größe des
1220 Bildschirms bekannt sein, was unter X nicht unbedingt der
1221 Fall ist. Mit der Variable Resolution kann deswegen justiert
1222 werden, welche Schriftgrößen in solchen Fällen von WINE
1223 ausgewählt werden. Der Standardwert ist 96, sinnvolle Werte
1224 liegen zwischen 60 und 120. Beispiel: "Resolution" = "100".
1227 Mit dieser Variable wird angegeben, welche Schriftart WINE
1228 als Standard verwenden soll. Die dabei anzugebende
1229 Zeichenkette besteht aus der Herstellerbezeichnung der zu
1230 verwendenden Schriftart und ihrem Namen, diese Bezeichnungen
1231 werden durch ein Minuszeichen miteinander verbunden,
1232 außerdem muss sich zu Beginn und am Ende der Zeichenkette
1233 ein Minuszeichen befinden. Die unter X11 verfügbaren Fonts
1234 können beispielsweise mit den Programmen xfontsel(1) oder
1235 xlsfonts(1) ausgewählt werden.
1236 Beispiel: "Default" = "-adobe-times-"
1239 Hiermit wird festgelegt, welchen Font WINE als
1240 standardmäßige Schriftart mit gleichmäßiger Buchstabenbreite
1241 verwenden soll. Der Name der gewünschten Schrift ist wie
1242 bei der Variablen Default anzugeben. Beispiel:
1243 "DefaultFixed" = "-sony-fixed-"
1246 Hiermit wird festgelegt, welchen Font WINE als
1247 standardmäßige Schriftart mit Serifen verwenden
1248 soll. Beispiel: "DefaultSerif" = "-adobe-times-"
1251 Hiermit wird bestimmt, welchen Font WINE als standardmäßige
1252 Schriftart ohne Serifen verwenden soll. Beispiel:
1253 "DefaultSansSerif" = "-adobe-helvetica-"
1256 Wenn WINE das erste Mal gestartet wird, fragt es vom
1257 X-Server die Eigenschaften der verfügbaren Fonts ab. Weil
1258 diese Operation recht zeitaufwendig ist, wird das Ergebnis
1259 der Abfrage in einer Datei im Heimatverzeichnis des
1260 betreffenden Benutzers gespeichert. Die Abfrage braucht dann
1261 bei einem späteren Aufruf des Programms nur ausgeführt zu
1262 werden, falls sich die verfügbaren Fonts geändert haben. Mit
1263 dieser Variablen kann angegeben werden, in welcher Datei die
1264 Fontdaten zwischengespeichert werden sollen. Dadurch lässt
1265 sich beispielsweise vermeiden, dass die Abfrage für jeden
1266 Benutzer erneut ausgeführt werden muss. Beispiel:
1267 "Fontmetric" = "/var/lib/WINE/font.cache".
1270 Wie weiter oben bereits angesprochen, kann es vorkommen,
1271 dass Windows-Anwendungen bestimmte Schriftarten benutzen
1272 wollen, die vom X-Server nicht zur Verfügung gestellt
1273 werden. Mit der Variable Alias können solchen Fontnamen
1274 anderen, unter X verfügbaren Schriftarten zugeordnet
1275 werden. Werte, die dieser Variablen zugeordnet werden,
1276 bestehen aus drei Elementen, die durch Kommata voneinander
1277 zu trennen sind. Das erste Element ist der Name der zu
1278 ersetzenden Schriftart, das zweite Element der Name der X
1279 Schriftart, in der Form, wie sie auch bei der Definition der
1280 Variablen Default anzugeben ist. Als drittes Element kann
1281 optional das Schlüsselwort subst angegeben werden. Dieses
1282 Schlüsselwort bewirkt, dass durch die Aliasdefinition eine
1283 bereits vorhandene Definition (die von WINE automatisch
1284 erstellt wurde) überschrieben wird. Weil es möglich ist,
1285 mehrere Alias-Definitionen vorzunehmen, muss der
1286 Variablenbezeichnung Alias jeweils eine Zahl nachgestellt
1287 werden, mit der angegeben wird, um die wievielte
1288 Alias-Definition es sich handelt. Dabei ist mit der Zahl
1289 Null zu beginnen, es darf keine Zahl ausgelassen
1290 werden. Beispiel: "Alias0" = "System, --international-, subst"
1292 7.7 Konfiguration von Schnittstellen und Hardwarezugriff
1294 WINE kann Anwendungen den direkten Zugriff auf serielle und
1295 parallele Schnittstellen sowie auf weitere beliebige Ein- und
1296 Ausgabeadressen gestatten. Grundsätzlich ist dabei zu bedenken,
1297 dass der betreffende WINE-Prozess mit ausreichenden Privilegien
1298 ausgestattet sein muss, damit ein solcher Zugriff tatsächlich
1299 möglich wird. Wird WINE mit gewöhnlichen Benutzerrechten (und nicht
1300 mit den Privilegien des Administrators) ausgeführt, bedeutet dies
1301 in der Regel, dass die Zugriffsrechte auf die Gerätedateien, welche
1302 Geräte repräsentieren, auf die Windows-Programmen der Zugriff
1303 gestattet werden soll, überprüft werden müssen. Der direkte Zugriff
1304 auf Ein- und Ausgabeadressen ist unter Linux ausschließlich dem
1305 Administrator gestattet.
1307 Zur Konfiguration der seriellen Schnittstellen dient der Abschnitt
1308 [serialports] in der Konfigurationsdatei. Die einzelnen Variablen in
1309 diesem Abschnitt bezeichnen die seriellen Schnittstellen so wie es
1310 unter DOS und Windows üblich ist (Com1, Com2 usw.). Als Wert wird
1311 diesen Variablen der Name der Gerätedatei übergeben, welche die
1312 entsprechende Schnittstelle unter Linux repräsentiert. Falls also
1313 Windows-Anwendungen unter WINE über die Schnittstelle Com1 auf das
1314 Gerät zugreifen sollen, das unter Linux durch die Gerätedatei
1315 /dev/ttyS0 repräsentiert wird, so muss in der Konfigurationsdatei
1316 der folgende Abschnitt zu finden sein:
1319 "Com1" = "/dev/ttyS0"
1322 Die Konfiguration paralleler Schnittstellen erfolgt analog zur
1323 Konfiguration serieller. Der Name des entsprechenden Abschnitts
1324 lautet [parallelports] und die Namen paralleler Schnittstellen
1325 unter DOS und Windows lauten Lpt1, lpt2 usw. Wenn also von
1326 Windows-Programmen unter WINE über den Namen Lpt1 auf die parallele
1327 Schnittstelle zugegriffen werden soll, welche unter Linux durch die
1328 Gerätedatei /dev/lp0 repräsentiert wird, so wäre in die
1329 Konfigurationsdatei dieser Abschnitt aufzunehmen.
1334 Um den Zugriff auf bestimmte Ein- und Ausgabeadressen zu ermöglichen,
1335 sind die gewünschten Adressen in hexadezimaler Schreibweise im
1336 Abschnitt [ports] anzugeben. Als Adressen lassen sich entweder
1337 einzelne Adressen (Beispiel: 0x779) oder Adressbereiche angeben. Bei
1338 Adressbereichen werden die untere und obere Adresse des gewünschten
1339 Bereichs, verbunden durch einen Bindestrich, angegeben (Beispiel:
1340 0x280-0x2a0). Wenn mehrere Adressen oder Adressbereiche konfiguriert
1341 werden sollen, sind diese hintereinander - durch Kommata getrennt -
1342 anzugeben. Adressen, von denen gelesen werden soll, sind der Variablen
1343 read zuzuordnen und solche, auf die geschrieben werden soll, der
1344 Variablen write. Falls auf eine bestimmte Adresse sowohl lesend als
1345 auch schreibend zugegriffen werden soll, ist sie beiden Variablen
1346 zuzuordnen. Beispiel:
1349 "read" = "0x378,0x379,0x220-0x2a0"
1350 "write" = "0x379,0x220-0x2a0"
1353 7.7.1 Zugriff auf SCSI-Geräte
1355 WINE ermöglicht auch den direkten Zugriff auf SCSI-Geräte (über die
1356 ASPI-Schnittstelle). Hierzu sind keine speziellen Angaben in der
1357 Konfiguration notwendig, allerdings muss der Kernel des Systems so
1358 konfiguriert worden sein, dass er die Unterstützung für generischen
1359 SCSI-Zugriff enthält. Außerdem müssen die Gerätedateien, welche die
1360 generischen SCSI-Geräte repräsentieren (normalerweise /dev/sg0,
1361 /dev/sg1 usw.) mit ausreichenden Rechten für den Zugriff
1364 7.8 Konfiguration der Windows-Systemregistratur
1366 Windows-Betriebssysteme stellen eine Datenbank zur Verfügung, in
1367 der Programme u.a. Konfigurationsdaten ablegen und später wieder
1368 auslesen können. Diese so genannte Registratur wird von WINE
1369 ebenfalls bereitgestellt. WINE ist ferner in der Lage, die
1370 Registratur einer bestehenden Windows-Installation zu importieren,
1371 damit den mit WINE ausgeführten Programmen alle Daten zur Verfügung
1372 stehen, die auch unter Windows verfügbar sind. Dies ist
1373 insbesondere dann von Bedeutung, wenn Programme unter Windows
1374 installiert worden sind und unter WINE ausgeführt werden. Es ist zu
1375 beachten, dass WINE die Registratur einer bestehenden
1376 Windows-Installation niemals verändert. Falls Programme also unter
1377 WINE Daten in die Registratur schreiben, stehen diese unter Windows
1378 nicht zur Verfügung. WINE speichert die Registratur vielmehr in
1379 eigenen Dateien, welche sich üblicherweise unterhalb des
1380 Heimatverzeichnisses des betreffenden Benutzers befinden. Neben den
1381 benutzerspezifischen Registraturdaten können vom Administrator
1382 systemweit gültige Dateien bereit gestellt werden. Diese befinden
1383 sich üblicherweise in dem gleichen Verzeichnis wie die systemweit
1384 gültige Konfigurationsdatei, also in /etc oder in /usr/local/etc,
1385 wenn WINE mit den Standardeinstellungen übersetzt wurde. Im
1386 Abschnitt [registry] der Konfigurationsdatei stehen die folgenden
1387 Variablen zur Verfügung, mit denen u.a. bestimmt werden kann, ob
1388 eine bestehenden Registratur importiert werden soll und wo WINE die
1389 eigene Registratur ablegen soll.
1391 LoadGlobalRegistryFiles
1392 Wenn diese Variable auf den Wert true gesetzt ist, liest
1393 WINE die systemweit gültigen Registraturdaten ein. Dies ist
1394 die Standardeinstellung. Beispiel: "LoadGlobalRegistryFiles" =
1397 LoadHomeRegistryFiles
1398 Wenn diese Variable auf den Wert true gesetzt ist, liest
1399 WINE die Registraturdaten aus dem Verzeichnis .wine im
1400 Heimatverzeichnis des aufrufenden Benutzers ein. Die
1401 Registraturdaten des Benutzers werden nach den systemweit
1402 gültigen Daten geladen, so dass Benutzer die
1403 Voreinstellungen aus der globalen Registratur mit eigenen
1404 Werten überschreiben können. Beispiel:
1405 "LoadHomeRegistryFiles" = "true"
1407 LoadWindowsRegistryFiles
1408 Mit dieser Variablen wird bestimmt, ob die Registratur einer
1409 bestehenden Windows-Installation geladen werden soll. Wenn
1410 die Variable auf den Wert true gesetzt ist, stellt WINE
1411 selbstständig fest, um welche Version von Windows es sich
1412 bei der bestehenden Installation handelt und liest die
1413 Registraturdaten der Installation ein. Es ist zu beachten,
1414 dass dies nur funktioniert, wenn das Windows- und das
1415 Systemverzeichnis im allgemeinen Teil der
1416 Konfigurationsdatei richtig angegeben worden sind und der
1417 bestehenden Installation entsprechen. Außerdem ist es
1418 u.U. notwendig, die Variable Profile im allgemeinen Teil
1419 richtig zu setzen. Beispiel: "LoadWindowsRegistryFiles" = "true".
1421 WriteToHomeRegistryFiles
1422 Wird diese Variable auf den Wert true gesetzt, versucht WINE
1423 alle Änderungen, die während der Laufzeit von WINE an der
1424 Registratur vorgenommen werden, in die Registraturdateien im
1425 Verzeichnis .wine des aufrufenden Benutzers zu
1426 schreiben. Dies ist in der Regel notwendig, damit
1427 Windows-Programme (insbesondere Installationsprogramme)
1428 Änderungen an der Konfiguration abspeichern
1429 können. Beispiel: "WriteToHomeRegistryFiles" = "true".
1432 Wenn Veränderungen an der Registratur von WINE gespeichert
1433 werden sollen, geschieht dies normalerweise automatisch,
1434 während WINE beendet wird. Allerdings werden die Änderungen
1435 dann nicht gespeichert, wenn WINE aufgrund eines Fehlers
1436 nicht korrekt beendet werden kann. Deswegen ist es möglich,
1437 mit dieser Variablen anzugeben, in welchem Zeitintervall das
1438 Programm die Registratur automatisch sichern soll. Die
1439 dieser Variablen übergebene Zahl wird als Zeitintervall in
1440 Sekunden interpretiert. Damit die Registratur also
1441 beispielsweise alle 10 Minuten automatisch abgespeichert
1442 wird, wäre diese Variable so zu setzen: "PeriodicSave" = "600".
1445 Mit dieser Variablen kann bestimmt werden, ob WINE lediglich
1446 solche Teile der Registratur sichern soll, die sich während
1447 der Laufzeit verändert haben oder ob immer die gesamte
1448 Registratur gespeichert werden soll. Das folgende Beispiel
1449 speichert die Registratur komplett:
1450 "SaveOnlyUpdatedKeys" = "false".
1453 Weil das Importieren einer großen Windows-Registratur ein relativ
1454 zeitaufwendiger Vorgang ist, empfiehlt es sich, die
1455 Windows-Registratur nur beim ersten Start von WINE zu importieren
1456 ("LoadWindowsRegistryFiles" = "true") und diese dann komplett von WINE
1457 speichern zu lassen ("SaveOnleUpdatedKeys" = "false"). Danach liegt die
1458 Registratur vollständig in WINEs eigenem Format vor, so dass bei
1459 späteren Starts von WINE auf den Import der Windows-Registratur
1460 verzichtet werden kann ("LoadWindowsRegistryFiles" = "false").
1462 7.9 Einstellung des Look and Feel
1464 Im Abschnitt Tweak.Layout der Konfiguration lässt sich durch die
1465 Variable WINELook bestimmen, welches Look and Feel von Windows
1466 durch WINE nachempfunden werden soll. Der Wert Win31 bewirkt, dass
1467 WINE alle Fensterelemente in dem Erscheinungsbild erzeugt, wie es
1468 von Windows 3.11 bekannt ist. Analog dazu bewirken die Werte Win95
1469 und Win98 ein moderneres Erscheinungsbild. Beispiel:
1472 "WINELook" = "Win98"
1475 7.10 Konfiguration der Windows-Console
1477 Im Gegensatz zu 16-Bit-Windows-Versionen ist es mit dem Win32 API wie
1478 unter UNIX möglich, Programme für den Textmodus zu erstellen, die
1479 unter Windows normalerweise in einem so genannten "MS-DOS-Fenster"
1480 ausgeführt werden (obwohl diese Programme nicht viel mit MS-DOS zu
1481 tun haben). Unter WINE verwenden solche Programme standardmäßig die
1482 Standardeingabe und -Ausgabe des Terminals, von dem aus WINE
1483 gestartet wurde. Im Abschnitt [Console] der Konfigurationsdatei ist
1484 es möglich, die Eigenschaften der Konsole für Windows-Programme
1488 Hiermit wird festgelegt, wie die Konsole zur Verfügung
1489 gestellt werden soll. WINE kann dazu das mit dem
1490 WINE-Prozess verbundene Terminal verwenden oder für jedes
1491 Windows-Programm, welches eine neue Konsole anfordert, ein
1492 neues Terminalfenster (wie z.B. xterm) starten. Im
1493 allgemeinen ist es zu empfehlen, für jede Konsole ein
1494 eigenes Terminalfenster zu verwenden, weil es zu
1495 unerwünschten Nebeneffekten kommen kann, wenn verschiedene
1496 Windows-Prozesse und WINE selbst das selbe Terminal
1497 verwenden. Es ist ferner möglich, die ncurses-Bibliothek zu
1498 benutzen, um bestimmte Eigenschaften, wie die Darstellung
1499 unterschiedlicher Farben, zu benutzen. Der Variablen Drivers
1500 kann zur Zeit eine Kombination aus den folgenden
1501 Schlüsselwörtern übergeben werden: tty, xterm und
1502 ncurses. Wenn mehrere diese Schlüsselwörter benutzt werden,
1503 sind diese durch das Plus-Zeichen voneinander zu
1504 trennen. Die Angabe tty bewirkt, dass WINE das Terminal für
1505 die Konsole verwendet, mit welchem der WINE-Prozess
1506 verbunden ist. Durch die Angabe xterm wird ein neues
1507 Terminalfenster geöffnet, wenn ein Windows-Programm eine
1508 neue Konsole anfordert. Die Angabe ncurses bewirkt, dass die
1509 ncurses-Bibliothek benutzt wird. Dies funktioniert nur, wenn
1510 die Unterstützung dafür beim Übersetzen des Programms
1511 aktiviert wurde. Beispiel: "Drivers" = "ncurses+xterm"
1514 Hiermit lässt sich angeben, welches Programm aufgerufen
1515 werden soll, um die Konsole in einem eigenen Fenster
1516 darzustellen (z.B. bei "Drivers" = "xterm"). Es lassen sich alle
1517 Terminalemulationsprogramme verwenden, welche die von xterm
1518 her bekannten Kommandozeilenargumente verstehen. Beispiel:
1519 "XtermProg" = "wterm".
1522 Mit der Variablen wird angegeben, wieviele Zeilen die
1523 Konsole nach ihrem Start haben soll. Beispiel:
1524 "InitialRows" = "24".
1527 Mit der Variablen wird angegeben, wieviele Spalten die
1528 Konsole nach ihrem Start haben soll. Beispiel:
1529 "InitialColumns" = "80".
1532 Hiermit lässt sich festlegen, von welchem Terminaltyp die
1533 ncurses-Bibliothek ausgehen soll. Typische Werte sind xterm
1536 7.11 Die Zwischenablage
1538 Das Konzept der Zwischenablage unterscheidet sich zwischen Windows
1539 und dem X Window System etwas. Um beispielsweise einen Text in die
1540 Zwischenablage zu stellen, wird dieser unter Windows normalerweise
1541 zunächst markiert und dann über einen Menübefehl in die
1542 Zwischenablage kopiert oder verschoben. Unter X stehen mindestens
1543 zwei Typen von Zwischenablage zur Verfügung. Nachdem ein Text dort
1544 markiert worden ist, steht er als so genannte primäre Auswahl zur
1545 Verfügung; er kann dann sofort in andere Anwendungen eingefügt
1546 werden (etwa durch Betätigung der mittleren Maustaste). Die
1547 Zwischenablage ist eine weitere Auswahl, in die Texte oder andere
1548 Daten von vielen X-Anwendungen aus kopiert und von dort aus wieder
1549 eingefügt werden können. Im Abschnitt [clipboard] der
1550 Konfigurationsdatei lässt sich bestimmen, wie die
1551 Windows-Zwischenablage mit der Zwischenablage des X Window Systems
1555 Wenn diese Variable auf true gesetzt ist, wird der Inhalt
1556 der Windows-Zwischenablage gelöscht und durch den Inhalt der
1557 Zwischenablage des X Window Systems ersetzt, falls in einer
1558 anderen X Anwendung etwas in die primäre Auswahl gestellt
1559 wird. Wird bei Verwendung dieser Einstellung also zunächst
1560 etwas mit einem Windows-Programm in die Zwischenablage
1561 gestellt und danach mit der Maus ein Text in einer X
1562 Anwendung markiert, so geht der ursprüngliche Inhalt der
1563 Windows-Zwischenablage verloren und es steht dort der mit
1564 der Maus markierte Text zur Verfügung. Falls die Variable
1565 auf false gesetzt ist, bleibt der Inhalt der Zwischenablage
1566 durch die Veränderung der primären Auswahl unberührt. Um
1567 dann beispielsweise einen Text von XEmacs nach Word zu
1568 kopieren, reicht es nicht aus, den Text in XEmacs zu
1569 markieren, sondern er muss dort explizit in die
1570 Zwischenablage kopiert werden, falls sich dort vorher eine
1571 Auswahl befand, die von einer Windows-Anwendung aus
1572 vorgenommen wurde. Beispiel: "ClearAllSelections" = "true"
1575 Nachdem WINE beendet worden ist, kann der Inhalt der
1576 Zwischenablage anderen X Programmen normalerweise nicht mehr
1577 zur Verfügung gestellt werden. Wenn diese Variable auf true
1578 gesetzt ist, startet WINE deswegen ein kleines
1579 Hintergrundprogramm (wineclipsrv) welches den Inhalt der
1580 Zwischenablage so lange verfügbar hält, bis dieser durch ein
1581 anderes Programm ersetzt wird und sich dann
1582 beendet. Beispiel: "PersistentSelection" = "true"
1584 7.12 Konfiguration des PostScript-Druckertreibers
1586 WINE kann zwei Typen von Druckertreibern verwenden, nämlich echte
1587 16bit Windows-Druckertreiber, wie Sie von Windows 3.11 oder Windows
1588 95/98 benutzt werden, oder einen eigenen PostScript- Druckertreiber,
1589 mit dem sich aus den meisten Windows-Anwendungen heraus im
1590 PostScript-Format drucken lässt. Diese PostScript-Ausgabe kann dann
1591 über die Spooler-Software des Systems (normalerweise lpr/lpd) auf
1592 einen direkt angeschlossenen oder fernen Drucker ausgegeben werden.
1594 Hinweise zur Verwendung von 16bit-Windows-Druckertreiber finden
1595 sich u.a. in der Datei printing im Unterverzeichnis documentation
1596 des WINE-Quellcodeverzeichnisses. Im folgenden soll lediglich auf
1597 die Konfiguration des eingebauten PostScript-Druckertreibers
1598 eingegangen werden (was generell sowieso bevorzugt wird).
1600 Zunächst ist das Vorhandensein des Druckertreibers anzumelden. Dazu
1601 sind in der Datei win.ini im Windows-Verzeichnis die folgenden
1602 Änderungen vorzunehmen:
1605 device=WINE PostScript Driver,WINEPS,LPT1:
1608 WINE PostScript Driver=WINEPS,LPT1:
1610 Falls Sie WINE ohne eine bestehende Windows-Installation verwenden,
1611 kann es sein, dass die Datei win.ini noch nicht existiert. In
1612 diesem Fall kann die Datei neu angelegt und die oben gezeigten
1613 Zeilen dort eingetragen werden. Falls die Datei bereits vorhanden
1614 ist, müssen die Abschnitte [devices] und [windows] in der Datei
1615 lokalisiert und um die oben gezeigten Zeilen ergänzt
1616 werden. Keinesfalls sollten die Abschnitte devices oder windows
1617 mehrmals in der Datei vorhanden sein.
1619 Damit auch von 32bit Programmen aus gedruckt werden kann, ist es
1620 notwendig, einige Einträge in der Registratur vorzunehmen. Diese
1621 Einträge sind in der Datei psdrv.reg im Unterverzeichnis
1622 documentation des WINE-Quellcodeverzeichnisses vorhanden und lassen
1623 sich mit dem Programm regapi, welches sich im Unterverzeichnis
1624 programs/regapi des Quellcodeverzeichnisses befindet,
1625 importieren. Falls noch nicht geschehen, ist regapi dazu zunächst zu
1626 übersetzen. Zu diesem Zweck ist in das Verzeichnis programs/regapi
1627 zu wechseln und dort der Befehl make einzugeben (dies setzt
1628 voraus, dass WINE bereits erfolgreich übersetzt wurde). Danach
1629 können die erforderlichen Schlüssel durch die Eingabe des folgenden
1630 Befehls importiert werden:
1632 ./regapi setValue < ../../documentation/psdrv.reg
1635 Bei dem Programm regapi handelt es sich um ein sogenanntes
1636 WineLib-Programm. Solche Programme benutzen WINE, um
1637 Windows-spezifische Funktionen verwenden zu können. Damit sie
1638 ausgeführt werden können, muss bereits eine funktionsfähige
1639 WINE-Konfiguration vorhanden sein. Dieser Schritt sollte also nicht
1640 durchgeführt werden, bevor die Erstellung der Konfigurationsdatei
1641 abgeschlossen und die Funktionsfähigkeit von WINE getestet worden
1644 Weiter wird eine so genannte PPD-Datei benötigt. Eine solche Datei
1645 beschreibt verschiedene Eigenschaften des Druckers und wird
1646 benötigt, damit WINE beispielsweise entscheiden kann, ob in Farbe
1647 oder in Schwarz-Weiß gedruckt werden kann. Wenn kein
1648 PostScript-fähiger Drucker benutzt wird, dann benötigt man eine
1649 PPD-Datei, welche die Eigenschaften des ghostscript-Treibers für
1650 den eingesetzten Drucker beschreibt, weil dieses Programm in der
1651 Regel zur Umwandlung von PostScript in das Druckerformat benutzt
1652 wird. Mit Debian stehen solche Dateien in dem Paket ppd-gs zur
1653 Verfügung. Wird dieses Paket benutzt, sollte vorher die Datei
1654 /usr/doc/ppd-gs/README gelesen werden.
1656 Eine Reihe von PPD-Dateien stehen unter der Adresse
1657 ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/ppdfiles/ zur
1658 Verfügung. In dem Verzeichnis befinden sich selbstauspackende
1659 ZIP-Archive, die PPD-Dateien für Drucker verschiedener Hersteller
1660 enthalten. Diese Archive können mit dem Programm unzip(1) entpackt
1661 werden. Um beispielsweise die Datei hp.exe auszupacken, wäre
1662 folgender Befehl einzugeben:
1666 Danach ist die gewünschte PPD-Datei auszuwählen, hierbei muss
1667 u.U. ein wenig experimentiert werden, um optimale Ergebnisse zu
1668 erzielen. Die Datei kann dann beispielsweise in das Verzeichnis
1669 /usr/local/etc/ kopiert werden und muss WINE durch den folgenden
1670 Eintrag in der Konfigurationsdatei bekannt gemacht werden:
1673 "ppdfile" = "/usr/local/etc/HP4M3_V1.PPD"
1675 Falls sich die Datei in einem anderen Verzeichnis befindet oder
1676 einen anderen Namen trägt, ist der Wert für die Variable ppdfile
1677 natürlich entsprechend anzupassen.
1679 Schließlich benötigt WINE die Fontmetric-Dateien der Schriftarten,
1680 die auf dem Drucker (oder mit ghostscript) zur Verfügung
1681 stehen. Eine Reihe solcher Fontmetric-Dateien lassen sich unter
1682 Debian beispielsweise mit dem Paket tetex-extra installieren. Sie
1683 befinden sich nach der Installation unterhalb des Verzeichnisses
1684 /usr/share/texmf/fonts/afm. Sie haben normalerweise die
1685 Dateinamensendung .afm (Adobe FontMetric). Die zu verwendenden
1686 Dateien sind im Abschnitt [afmfiles] der Konfigurationsdatei
1687 anzugeben. Der Name jeder Datei ist dabei einer Variablen
1688 zuzuordnen, deren Name sich aus der Zeichenkette file und einer
1689 fortlaufenden Ziffer zusammensetzt. Bei der Auswahl der
1690 AFM-Dateien ist zu beachten, dass nur die Dateien angegeben werden
1691 brauchen, für die der entsprechende Font tatsächlich in der vorher
1692 definierten PPD-Datei genannt wurde. Die Bezeichnungen der Fonts
1693 befinden sich normalerweise in den Fontmetric-Dateien, die mit
1694 einem Texteditor betrachtet werden können. Der Anfang des
1695 entsprechenden Abschnitts in der Konfigurationsdatei könnte
1696 beispielsweise folgendermaßen aussehen:
1699 "file1" = "/usr/share/texmf/fonts/afm/adobe/times/ptmb8a.afm"
1700 "file2" = "/usr/share/texmf/fonts/afm/adobe/times/ptmbi8a.afm"
1701 "file3" = "/usr/share/texmf/fonts/afm/adobe/times/ptmr8a.afm"
1702 "file4" = "/usr/share/texmf/fonts/afm/adobe/times/ptmri8a.afm"
1703 "file5" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvbo8an.afm"
1704 "file6" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvb8a.afm"
1705 "file7" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvb8an.afm"
1706 "file8" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvbo8a.afm"
1707 "file9" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvro8an.afm"
1708 "file10" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvr8a.afm"
1709 "file11" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvr8an.afm"
1710 "file12" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvro8a.afm"
1712 Auch hier sind die Dateinamen natürlich an die tatsächlich
1713 benutzten Fontmetric-Dateien anzupassen. Der Druckertreiber sollte
1714 dann als WINE PostScriptDriver in den Druckdialogen der
1715 Windows-Anwendungen zur Verfügung stehen.
1717 7.13 Konfiguration des Spoolers
1719 Standardmäßig werden Druckdaten in eine Datei im aktuellen
1720 Arbeitsverzeichnis ausgegeben, deren Name der Bezeichnung des
1721 Druckeranschlusses unter Windows, auf den gedruckt wurde, entspricht.
1722 Im Abschnitt [spooler] der Konfigurationsdatei lässt sich die Ausgabe in
1723 eine andere Datei umlenken oder an ein anderes Programm weiterleiten.
1724 Dazu ist in dem Abschnitt der Name des Anschlusses als
1725 Variablenbezeichnung anzugeben (Beispiel: LPT1:) und dieser Variable
1726 der Name der Datei zu übergeben, in welche die Druckausgabe gelenkt
1727 werden soll. Um die Ausgabe an die Standardeingabe eines Programms zu
1728 übergeben, ist der Name des gewünschten Programms hinter dem
1729 Pipe-Zeichen (|) anzugeben.
1731 Wenn also beispielsweise die Ausgabe auf den Anschluss LPT1: an das
1732 Programm lpr übergeben werden soll, um sie dem Spooler zuzuführen,
1733 wäre in die Konfigurationsdatei folgender Abschnitt aufzunehmen:
1739 7.14 Multimedia-Konfiguration
1741 Die Multimedia-Architektur unter Windows besteht aus verschiedenen
1742 Typen von Treibern und Schnittstellen, die von Windows-Programmen
1743 benutzt werden können. Diese Architektur wird von WINE
1744 nachgebildet, wobei unterschiedliche Bestandteile mehr oder weniger
1745 vollständig vorhanden sind. Eine ausführliche Beschreibung der
1746 Multimedia-Architektur von WINE befindet sich in der Datei
1747 multimedia im Unterverzeichnis documentation/status des
1750 WINE stellt einen eigenen Treiber zur Ansteuerung der Soundhardware
1751 zur Verfügung. Diese Ansteuerung geschieht über die Gerätedateien
1752 /dev/dsp, /dev/audio, /dev/mixer usw. Deswegen muss darauf geachtet
1753 werden, dass Schreib- und Leseberechtigung für diese Dateien
1754 besteht, falls die Soundunterstützung von WINE benutzt werden
1755 soll. Der Treiber setzt auf die OSS- (Open Sound System) Treiber
1756 auf, die standardmäßig Bestandteil des Linux-Kernels sind.
1758 Bis auf die Bibliotheken winmm und mmsystem lassen sich alle
1759 anderen Komponenten des Multimediasystems auch aus einer
1760 bestehenden Windows-Installation verwenden. Dies ist vor allem bei
1761 einigen MCI-Treibern hilfreich, die in WINE noch nicht vollständig
1762 implementiert sind. MCI-Treiber werden geladen, wenn im Abschnitt
1763 [mci] der Datei system.ini im Windows-Verzeichnis Anweisungen in der
1764 folgenden Form stehen:
1768 sequencer=mciseq.drv
1770 Bei Verwendung einer bestehenden Windows-Installation sollten sich
1771 die entsprechenden Anweisungen dort bereits befinden. Wird ohne
1772 eine bestehende Windows-Installation gearbeitet, kann die Datei
1773 system.ini im Unterverzeichnis documentation/samples des
1774 WINE-Quellcodeverzeichnisses als Vorlage dienen. Durch die Variable
1775 mci im Abschnitt [options] der Konfigurationsdatei von WINE lassen
1776 sich die Definitionen aus der Datei system.ini überschreiben. Das
1777 ist sinnvoll, um bestimmte Treiber nicht zu laden, die in der Datei
1778 system.ini angegeben sind, weil diese Treiber mit WINE nicht
1779 richtig funktionieren. Dies ist zur Zeit mit dem MCI-Treiber
1780 videodisk der Fall. Um alle MCI-Treiber (bis auf videodisk) zu
1781 laden, könnte in die Konfigurationsdatei der also der folgende
1782 Abschnitt aufgenommen werden:
1785 "mci" = "CDAUDIO:SEQUENCER:WAVEAUDIO:AVIVIDEO:MPEGVIDEO"
1787 Ob ein Treiber aus einer bestehenden Windows-Installation geladen
1788 oder der von WINE zur Verfügung gestellte Treiber benutzt werden
1789 soll, kann wie bei Bibliotheken im Abschnitt DllOverrides der
1790 Konfigurationsdatei festgelegt werden, wie es weiter oben
1791 beschrieben wurde. Dabei ist zu beachten, dass die
1792 Dateinamensendung .drv bei Treibern - im Gegensatz zu Bibliotheken
1793 - mit anzugeben ist. Um beispielsweise die MCI-Treiber mciavi und
1794 mcianim aus einer bestehenden Installation zu laden und die übrigen
1795 Treiber von WINE zu verwenden, wären dem Abschnitt [DllOverrides]
1796 die folgenden Zeilen zuzufügen:
1798 "mciavi.drv, mcianim.drv" = "native, builtin"
1799 "mcicda.drv, mciseq.drv" = "builtin, native"
1800 "msacm.drv, midimap.drv" = "builtin, native"
1801 "mciwave.drv" = "builtin, native"
1804 7.15 Einrichten der Registratur
1806 Eine Reihe von Windows-Programmen und WINE selbst benötigen
1807 bestimmte Einträge in der Registratur, damit sie richtig
1808 funktionieren. Wenn WINE ohne eine bestehende Windows-Installation
1809 benutzt wird oder die Windows-Registratur nicht importiert werden
1810 soll, sind diese Einträge noch nicht vorhanden und müssen mit dem
1811 weiter oben bereits erwähnten Programm regapi importiert
1812 werden. Als Vorlage kann dazu die Datei winedefault.reg im
1813 Quellcodeverzeichnis von WINE dienen. Die Datei sollte jedoch
1814 daraufhin überprüft werden, ob alle dort angegebenen
1815 Laufwerksbuchstaben und Pfade stimmen, bevor sie importiert wird.
1816 Außerdem sollte in der Konfigurationsdatei natürlich festgelegt
1817 sein, dass die Registratur bei Beendigung des Programms gespeichert
1818 wird, damit die importierten Daten auch beim nächsten Aufruf von
1819 WINE zur Verfügung stehen. Danach kann in das Unterverzeichnis
1820 programs/regapi des Quellcodeverzeichnisses gewechselt werden. Dort
1821 ist das Programm zunächst durch Eingabe des Befehls make zu
1822 erstellen, falls dies noch nicht geschehen ist. Danach können die
1823 erforderlichen Daten mit dem folgenden Befehl importiert werden:
1825 ./regapi setValue < ../../winedefault.reg
1827 8 Aufruf von WINE und Kommandozeilenoptionen
1829 WINE lässt sich wie jedes andere Programm von der Kommandozeile aus
1830 aufrufen. Der Name des auszuführenden Windows-Programms ist WINE
1831 dabei an der Kommandozeile angeben. Programme, die sich in einem
1832 Verzeichnis befinden, das in der Variablen Path im Abschnitt WINE
1833 der Konfigurationsdatei aufgeführt ist, können dabei ohne Angabe
1834 des Pfadnamens aufgerufen werden. Die Angabe der Dateinamensendung
1835 .exe ist optional. Falls WINE also gestartet und das
1836 Windows-Programm winmine (Minesweeper) geladen werden soll, wäre
1837 der folgende Befehl einzugeben, vorausgesetzt, die Datei
1838 winmine.exe würde sich in einem Verzeichnis befinden, welches in
1839 der Variablen Path aufgeführt ist.
1843 Sollen Programme gestartet werden, die sich in Verzeichnissen
1844 befinden, welche nicht in der Variablen Path befinden, ist es
1845 erforderlich, den Pfadnamen mit anzugeben. Hier kann entweder der
1846 DOS-/Windows-Pfadname oder der UNIX-Pfadname benutzt werden. Die
1847 beiden folgenden Befehle würden also das gleiche bewirken, falls
1848 das Laufwerk C: dem UNIX-Verzeichnis /var/winroot zugeordnet wäre.
1850 wine c:\\windows\\winmine.exe
1851 wine /var/winroot/windows/winmine.exe
1853 Der Rückwärts-Schrägstrich hat für die Shell Bash eine besondere
1854 Bedeutung und wird deswegen normalerweise nicht an WINE
1855 übergeben. Durch die doppelte Angabe dieses Zeichens wird bewirkt,
1856 dass ein einfacher Schrägstrich übergeben wird. Datei- und
1857 Verzeichnisnamen enthalten unter Windows gelegentlich
1858 Leerzeichen. Auch hier ist es notwendig einen Trick anzuwenden,
1859 damit die Leerzeichen nicht dazu führen, dass die Shell die
1860 einzelnen Teile der Namen in verschiedenen Argumente zerlegt. Der
1861 folgende Befehl würde beispielsweise nicht zum gewünschten Ergebnis
1864 wine /var/winroot/Programme/Microsoft Games/RoA Trial Version/PACDEMO.EXE
1866 Hier würde die Shell WINE vier Argumente übergeben, nämlich
1867 /var/winroot/Programme/Microsoft, Games/RoA, Trial und
1868 Version/PACDEMO.EXE, woraufhin das zu startende Programm nicht mehr
1869 gefunden werden würde. Damit die Shell bei Leerzeichen keine
1870 Trennung durchführt, ist den betreffenden Leerzeichen ebenfalls ein
1871 rückwärtsgerichteter Schrägstrich voranzustellen:
1873 wine /var/winroot/Programme/Microsoft\ Games/RoA\ Trial\ Version/PACDEMO.EXE
1875 Falls Argumente dem zu startenden Windows-Programmen übergeben
1876 werden sollen, ist dem Programmnamen ein -- voranzustellen, um Wine
1877 das Ende der Wine-Optionen anzuzeigen (damit Wine nicht durch Programm-
1878 Optionen verwirrt werden kann, die evt. ebenfalls --XXX heissen).
1879 Um beispielsweise das Programm notepad.exe zu starten und diesem Programm
1880 das Argument readme.1st zu übergeben, wäre WINE so aufzurufen:
1882 wine -- notepad readme.1st
1884 Wenn mehrere Windows-Programme hintereinander gestartet werden sollen,
1885 muss WINE mehrmals hintereinander mit den entsprechenden Programmnamen
1886 als Argument aufgerufen werden.
1888 8.1 Kommandozeilenoptionen
1890 Neben den Namen der zu startenden Programme versteht WINE eine Reihe
1891 von Optionen, mit denen die Operation des Programms global beeinflusst
1892 werden kann. Diese Optionen werden direkt von WINE interpretiert
1893 und nicht an das aufzurufende Windows-Programm übergeben.
1896 Standardmäßig laufen Windows-Programme mit WINE unabhängig
1897 vom eingesetzten Windows-Manager. Dies kann zu Problemen bei
1898 der gleichzeitigen Verwendung normaler X Programme und von
1899 Windows-Programmen führen. Durch Verwendung der Option
1900 --managed werden auch Windows-Programme vom Window-Manager
1901 verwaltet, sie erhalten dann die gleichen Verzierungen wie
1902 normale X Programme (siehe auch Abschnitt 7.5)
1905 Viele Windows-Programme funktionieren nur mit bestimmten
1906 Versionen von Windows oder verhalten sich unterschiedlich,
1907 je nachdem mit welcher Version von Windows sie ausgeführt
1908 werden. Dieser Parameter dient dazu, WINE anzuweisen, als
1909 welche Windows-Version es sich ausgeben soll, wenn Programme
1910 dies erfragen. Standardmäßig versucht WINE selbst
1911 herauszufinden, welche Version von einem bestimmten Programm
1912 erwartet wird. Mit Version kann folgendes angegeben werden:
1913 win31 (Windows 3.1), win95 (Windows 95), win98 (Windows 98),
1914 nt351 (Windows NT 3.51) oder nt40 (Windows NT 4.0). Im
1915 Zweifelsfall empfiehlt sich win95, weil WINE zur Zeit die
1916 meisten Gemeinsamkeiten mit dieser Windows-Version
1917 aufweist. Beispiel: --winver win95.
1920 Wenn DOS-Programme mit Windows ausgeführt werden, erwarten
1921 diese gelegentlich eine bestimmte Version von MS-DOS. Dazu
1922 ist mit dem Parameter --dosver die gewünschte Version, in
1923 der Form x.xx anzugeben. Beispiel: --dosver 7.10 (diese
1924 Version entspricht Windows 95b).
1927 Die Option bewirkt, dass eine Übersicht über die verfügbaren
1928 Optionen ausgegeben wird.
1931 Die Option bewirkt, dass die Versionsnummer von WINE
1934 --dll Bibliothek[,Bibliothek ...]=b|n[:Bibliothek[,Bibliothek,...]=b|n]
1935 Mit dieser Option lassen sich die Einstellungen aus dem
1936 Abschnitt [DllOverrides] aus der Konfigurationsdatei
1937 überschreiben, es kann also angegeben werdem, welche
1938 Bibliotheken aus einer bestehenden Windows-Installation
1939 geladen und welche direkt von WINE zu Verfügung gestellt
1940 werden sollen. Der Option ist ein Ausdruck zu übergeben,
1941 welcher aus den Namen der betreffenden Bibliotheken besteht,
1942 die durch Kommata (ohne Leerzeichen) voneinander getrennt
1943 werden. Danach folgt ein Gleichheitszeichen und daraufhin
1944 entweder der Buchstabe b, um zu bestimmen, dass die
1945 angegebenen Bibliotheken von WINE zur Verfügung gestellt
1946 werden sollen, oder der Buchstabe n, damit versucht wird,
1947 die Bibliotheken aus einer bestehenden Installation zu
1948 laden. Solche Ausdrucke können wiederholt angegeben werden,
1949 sie sind dann durch einen Doppelpunkt (ohne Leerzeichen)
1950 voneinander zu trennen. Sollen beispielsweise die
1951 Bibliotheken shell, commdlg und commctrl mit ihren
1952 zugehörigen 32bit Bibliotheken aus einer bestehenden
1953 Installation geladen werden und die Bibliothek advapi32 von
1954 WINE zur Verfügung gestellt werden, obwohl dies in der
1955 Konfigurationsdatei anders angegeben ist, so könnte man die
1956 Option so einsetzen:
1958 --dll commdlg,comdlg32,commctrl,comctl32,shell,shell32=n:advapi32=b.
1960 --debugmsg +|-foo,+|-bar
1961 Diese Option dient dazu, zu kontrollieren, welche Art von
1962 Informationen WINE zur Fehler- und Ablaufverfolgung ausgeben
1963 soll. Es stehen eine Reihe so genannter Kanäle zur Verfügung,
1964 deren Namen angezeigt werden, wenn die Option ohne weitere Angaben
1965 benutzt wird. Die einzelnen Kanäle entsprechen normalerweise
1966 unterschiedlichen Teilbereichen von WINE, deren Verhalten durch
1967 die Ausgabe bestimmter Informationen überprüft werden kann. Um
1968 beispielsweise die Meldungen für den Kanal file einzuschalten,
1969 wäre die Option --debugmsg +file zu benutzen. Wenn die
1970 Meldungen der Kanäle file und dosfs ausgegeben werden sollen,
1971 wäre --debugmsg +file,+dosfs anzugeben. Weitere Informationen
1972 hierzu befinden sich in der Datei debug-msg im Unterverzeichnis
1973 documentation des WINE-Quellcodeverzeichnisses. Zwei besonders
1974 wichtige Kanäle sind relay und snoop. Wenn der Kanal relay
1975 eingeschaltet ist, wird ausgegeben, welche Funktionen in WINE
1976 von Windows-Programmen mit welchen Parametern aufgerufen werden
1977 und welche Rückkehrwerte diese Funktionen liefern. Der Kanal
1978 snoop zeigt an, welche Funktionen aus echten
1979 Windows-Bibliotheken aufgerufen werden. Die Ausgabe des Kanals
1980 relay dient WINE-Entwicklern oft dazu, festzustellen, wo ein
1981 Fehler aufgetreten ist. Deswegen ist es ratsam, bei
1982 Fehlerberichten in die WINE-Newsgroup die letzten 200 Zeilen
1983 der Ausgabe von WINE mitzuschicken, die bei dem Aufruf des
1984 Programms mit der Option --debugmsg +relay vor Auftreten des
1985 Fehlers entstanden sind.
1989 WINE befindet sich zur Zeit noch mitten in der Entwicklung, weswegen
1990 viele Windows-Programme nur teilweise oder überhaupt nicht damit
1991 funktionieren. Mit großer Wahrscheinlichkeit werden einige Programme
1992 sogar nie mit WINE funktionieren, beispielsweise weil sie eigene
1993 Windows-Treiber brauchen, die unter Linux nicht geladen werden können.
1994 Trotzdem funktionieren viele Windows-Programme ausgesprochen gut mit
1995 WINE und die Anzahl funktionierender Programme erhöht sich relativ
1996 schnell. Wenn ein Programm nicht wie gewünscht funktioniert, kann es
1997 deswegen hilfreich sein, die folgenden Fragen zu untersuchen:
1999 WINE funktioniert überhaupt nicht
2000 In bestimmten Paketversionen der C-Bibliothek (Version
2001 2.1.3) liegt ein Fehler vor, der dazu führt, dass WINE
2002 direkt nach dem Start mit Fehlermeldungen abbricht. Sie
2003 können das Problem beheben, indem Sie eine neuere Version
2004 der C-Bibliothek installieren oder die Variable LANG auf
2005 einen Wert setzen. Bei Verwendung der Bash kann dies
2006 beispielsweise durch Eingabe des folgenden Befehls
2007 geschehen: export LANG=de_DE.
2009 WINE funktioniert immer noch nicht
2010 Wenn Sie WINE auf die beschriebene Art installiert haben,
2011 sollten Sie überprüfen, dass sich nicht gleichzeitig noch
2012 eine andere, ältere Version des Programms auf dem Rechner
2013 befindet, welches u.U. von Ihrer Distribution mitinstalliert
2014 wurde. Dies könnte nämlich dazu führen, dass versucht wird,
2015 inkompatible Bibliotheken zu laden.
2017 Windows- und Windows/system-Verzeichnis sind nicht richtig angegeben
2018 Die Meldung Invalid path 'c:\windows' for windows directory
2019 besagt, dass im Abschnitt WINE der Konfigurationsdatei mit
2020 der Variablen Windows ein Windows-Verzeichnis angegeben
2021 wurde, welches nicht existiert. Es ist dann zu überprüfen,
2022 ob das Windows-Verzeichnis vorhanden ist und ob das
2023 Laufwerk, auf dem es sich befindet, dem richtigen
2024 UNIX-Verzeichnis zugeordnet ist.
2026 Die Zuordnungen der Laufwerksbuchstaben stimmen nicht
2027 Wenn beim Start von WINE Meldungen wie Warning:
2028 /var/winroot/windows/sol.exe not accessible from a DOS drive
2029 ausgegeben werden, teilt WINE mit, dass das auszuführende
2030 Programm sich in einem Verzeichnis befindet, das aufgrund
2031 der Zuordnungen in der Konfigurationsdatei mit keinem
2032 Laufwerk assoziiert ist. Es sollten dann die
2033 Laufwerkszuordnungen überprüft werden.
2035 Windows-Programme finden Einstellungen und Bibliotheken nicht
2036 Wenn WINE mit einer bestehenden Windows-Installation benutzt
2037 wird, ist es erforderlich, dass die Laufwerksbuchstaben
2038 unter Windows und WINE übereinstimmen. Falls ein Programm
2039 nämlich beispielsweise in der Registratur gespeichert hat,
2040 dass sich eine bestimmte Komponente im Verzeichnis
2041 C:\Windows\System befindet, dann ist es erforderlich, dass
2042 dieses Programm die Komponente auch unter WINE in dem selben
2043 Verzeichnis findet. Es ist jedoch möglich mit WINE
2044 zusätzliche Laufwerke zu verwenden (also z.B. das eigene
2045 Heimatverzeichnis einem Laufwerksbuchstaben zuzuordnen), die
2046 unter Windows nicht vorhanden sind.
2048 Spiele werden im Fenster dargestellt, obwohl Vollbild ausgewählt wurde
2051 Die meisten Spiele benutzen einen bestimmte Farbtiefe, in
2052 die Windows umschaltet, wenn das betreffende Spiel gestartet
2053 wird. Mit dem X Window System ist es leider nicht möglich
2054 die Farbtiefe während des laufenden Betriebs zu ändern,
2055 weswegen WINE die gewünschte Farbtiefe in einem Fenster
2056 emulieren muss, falls der X-Server nicht in der richtigen
2057 Farbtiefe läuft. Dadurch wird sehr viel Rechenleistung
2058 benötigt und außerdem kann nicht in einen Vollbildmodus
2059 geschaltet werden. Abhilfe schafft hier nur, den X-Server in
2060 der richtigen Farbtiefe zu starten, bevor WINE aufgerufen
2061 wird. Hierzu dienen die Optionen -bpp, bei X-Servern des
2062 XFree86-Projekts der Versionsfamilie 3.3.x bzw. -depth in
2063 der Versionsfamilie 4.0) Gelegentlich empfiehlt es sich
2064 auch, einen zweiten X-Server zu starten, was am einfachsten
2065 mit dem Befehl xinit(1) geschehen kann. Um beispielsweise
2066 das Programm q2test.exe mit WINE auf einem zweiten X-Server
2067 mit einer Farbtiefe von 8 Bit pro Pixel aus dem aktuellen
2068 Arbeitsverzeichnis zu starten, könnte der folgende Befehl
2069 benutzt werden (FIXME: nicht mehr korrekt ?):
2071 xinit /usr/local/bin/WINE q2test.exe --display :1 -- -bpp 8 :1
2073 Falls sich WINE in einem anderen Verzeichnis als
2074 /usr/local/bin befindet, ist der Befehl natürlich
2075 entsprechend anzupassen.
2077 Der DGA-Modus funktioniert nicht, obwohl X in der richtigen
2078 Farbtiefe ausgeführt wird; Spiele sind immer noch langsam
2079 Die Verwendung von DGA ist normalerweise nur dem
2080 Systemadministrator gestattet, das betreffende Programm muss
2081 also mit dessen Rechten ausgeführt werden. Alternativ dazu
2082 reicht es auch aus, Benutzern Schreib- und Leserechte auf
2083 die Gerätedatei /dev/kmem zu erteilen.
2085 Es ist kein Sound zu hören
2086 Zunächst sollte überprüft werden, ob die Soundunterstützung
2087 des Linux-Kernels richtig funktioniert, also ob es möglich
2088 ist, mit anderen Linux-Programmen die Soundkarte zu
2089 verwenden. Im nächsten Schritt kann überprüft werden, ob die
2090 Sound-Hardware von einem anderen Programm benutzt wird und
2091 WINE deswegen nicht darauf zugreifen kann.
2093 Weiterführende Informationen
2095 Die zentrale Web-Adresse für Informationen zu WINE ist
2096 http://www.winehq.com. Dort befinden sich Links zu vielen weiteren
2097 Dokumenten, wie einem WINE-FAQ, einem WINE-HOWTO, einer Anleitung zum
2098 Erstellen von Fehlerberichten und vieles mehr.