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-x386-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 Begleitmatierial 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 die selben 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 wird dabei von
67 der Linux-Distribution Debian GNU/Linux 2.2 (potato) und der
68 WINE-Version 20000614. Bei Verwendung einer anderen Linux-Distribution
69 oder einer anderen WINE-Version sind die beschriebenen Schritte
70 entsprechend anzupassen.
72 3. Binärpaket oder Quellcode?
74 In den meisten Linux-Distributionen sind heute WINE-Pakete
75 enthalten. Hierbei handelt es sich um Binärpakete, die WINE in einer
76 Form enthalten, in der es direkt ausgeführt werden kann. Aktuelle
77 Versionen solcher Pakete lassen sich auch von verschiedenen
78 Internetseiten herunterladen. Theoretisch sollte WINE nach der
79 Installation eines Binärpakets sinnvoll konfiguriert und sofort
80 benutzbar sein. Tatsächlich ist es in vielen Fällen jedoch notwendig,
81 die mit dem Paket installierte Konfiguration zu überarbeiten.
83 Aufgrund der schnellen Entwicklung von WINE wird zur Zeit empfohlen,
84 an Stelle eines Binärpakets den aktuellen Quellcode zu verwenden. Der
85 Quellcode muss, nachdem man ihn sich beschafft hat, entpackt,
86 konfiguriert und kompiliert (übersetzt) werden. Dabei entsteht dann
87 eine Binärdatei, die genau an das eigene System angepasst ist und
88 deshalb eine höhere Wahrscheinlichkeit für optimale Ergebnisse bietet,
89 als Binärpakete, die u.U. für ein anders konfiguriertes System
90 erstellt wurden. Die Verwendung des Quellcodes bietet außerdem die
91 Möglichkeit, das Programm relativ einfach aktualisieren zu können,
92 wobei nicht immer wieder das komplette Paket heruntergeladen werden
93 muss. Darüberhinaus kann mit der Verwendung des aktuellen Quellcodes
94 sichergestellt werden, dass evtl. auftretende Fehler wirklich in WINE
95 vorhanden sind und nicht bereits behoben worden sind. Dadurch wird die
96 Möglichkeit gesteigert, sinnvolle Fehlerberichte an die
97 WINE-Entwickler schicken zu können.
99 Die Installation von Binärpaketen ist abhängig vom eingesetzten
100 Paketformat der Distribution (zumeist wird das Redhat- oder
101 Debian-Format benutzt) sowie der Distribution selbst. Die hierzu
102 benötigten Informationen sollten sich in der Dokumentation der von
103 Ihnen eingesetzten Distribution finden. In diesem Text wird die
104 Installation aus dem Quellcode von WINE beschrieben.
106 4.0 Systemvoraussetzungen
108 Damit WINE auf dem System übersetzt und ausgeführt werden kann, müssen
109 die folgenden Programme und Dateien installiert sein:
111 1. Linux-Kernel der Versionsfamilie 2.2.x. (WINE lässt sich auch
112 unter Linux-Kernels der Versionsfamilie 2.0.x ausführen,
113 allerdings unterstützen diese Kernels bestimmte von WINE benötigte
114 Eigenschaften nicht. Dies macht sich insbesondere dann bemerkbar,
115 wenn 32Bit-Windowsprogramme mit WINE ausgeführt werden sollen, bei
116 denen mehrere Threads gleichzeitig ausgeführt werden.) Die
117 Versionsnummer des aktuell ausgeführten Linux-Kernels wird
118 angezeigt, wenn der folgenden Befehl an der Kommandozeile
123 2. Es wird empfohlen, die GNU C-Bibliothek (libc6) ab Version 2.1
124 einzusetzen. Die Versionsnummer der aktuell eingesetzten
125 C-Bibliothek kann angezeigt werden, indem der folgende
130 Auf einigen Systemen ist sowohl die ältere C-Bibliothek libc5,
131 als auch die neuere Bibliothek libc6 vorhanden. Entscheidend
132 ist dann in der Regel die neuere Version. Die C-Bibliothek muss
133 Reentrant sein, damit WINE Multithreading unterstützen
134 kann. Dies ist bei allen neueren Linux-Distributionen der
135 Fall. Die C-Bibliothek befindet sich im Paket libc6. Um WINE zu
136 übersetzen werden zusätzlich die Entwicklerdateien zur
137 C-Bibliothek benötigt. Diese befinden sich unter Debian im
140 3. Weil WINE das X Window System benutzt, werden die X-Bibliotheken
141 und, wenn WINE übersetzt werden soll, die Entwicklerdateien für
142 X benötigt. Die Bibliotheken sind unter Debian im Paket xlib6g
143 und die Entwicklerdateien im Paket xlib6g-dev enthalten.
145 4. Darüberhinaus benötigt WINE die XPM-Bibliothek (Paket xpm4g),
146 damit das Programm übersetzt werden kann, werden die
147 Entwicklerdateien für XPM benötigt, diese befinden sich im Paket
150 5. Für Programme, die im Textmodus ausgeführt werden, kann WINE die
151 Bibliothek libncurses verwenden. Damit die Unterstützung dafür in
152 das Programm eingebunden wird, müssen die Entwicklerdateien für
153 diese Bibliothek installiert sein (Paket libncurses5-dev). Die
154 Verwendung der ncurses-Bibliothek ist jedoch optional.
156 6. Ebenfalls optional ist die Unterstützung einer OpenGL-kompatiblen
157 Bibliothek, wie z.B. Mesa. Wenn die Unterstützung für OpenGL in
158 das Programm eingebunden werden soll, müssen die
159 OpenGL-Entwicklerdateien auf dem System installiert sein, wie sie
160 z.B. durch das Paket mesag-dev bereitgestellt werden. Zusätzlich
161 sind dann natürlich die OpenGL-Bibliotheken selbst erforderlich.
163 7. Um WINE zu übersetzen, muss der GNU-C-Compiler benutzt werden.
164 Empfohlen wird zur Zeit Version 2.95. Weiter werden einige
165 Standardwerkzeuge wie make, yacc und bison benötigt, die auf den
166 meisten Linuxsystemen bereits installiert sein sollten.
168 Je nachdem, ob in dem zu erzeugenden Binärcode Debug-Informationen
169 enthalten sein sollen, werden für die Übersetzung und die
170 Installation von WINE zwischen ca. 100 MB und ca. 250 MB
171 Speicherplatz auf der Festplatte benötigt. An den Prozessor des
172 Rechners werden keine besonderen Anforderungen gestellt, so ist ein
173 Prozessor der Pentium-Klasse mit 133 Mhz ausreichend, um mit WINE
174 beispielsweise Textverarbeitungsprogramme auszuführen. Für Spiele
175 und andere Multimedia-Anwendungen wird allerdings in der Regel ein
176 schnellerer Rechner benötigt. Wichtig ist, dass sich in dem Rechner
177 ausreichend Arbeitsspeicher (RAM) befindet. Zur Ausführung größerer
178 Windows-Programme sollte der Rechner mit 64 MB RAM ausgestattet
181 5.0 Beschaffung und Installation des Quellcodes
183 WINE kann von verschiedenen Servern im Internet per FTP oder HTTP
184 heruntergeladen werden. Normalerweise kann der jeweils aktuelle
185 Quellcode u.a. von den folgenden Adressen bezogen werden:
187 * ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/
188 * ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
189 * ftp://orcus.progsoc.uts.edu.au/pub/wine/development/
190 * http://metalab.unc.edu/pub/Linux/ALPHA/wine/development/
192 Bei der Entwicklung von WINE werden zur Zeit noch keine
193 Versionsnummern benutzt. An Stelle dessen trägt jede Ausgabe eine
194 Zahl, welche nach dem Schema Jahreszahl, Monat, Tag dem Datum
195 entspricht, an welchem die betreffende Version herausgegeben wurde.
196 Die Datei Wine-20000614.tar.gz in einem der oben aufgeführten
197 Verzeichnisse enthält also die Version von WINE. die am 14. Juni
198 2000 herausgegeben wurde. Prinzipiell ist es zu empfehlen, die
199 jeweils neueste Version zu verwenden. Nachdem der Quellcode
200 heruntergeladen worden ist, kann er durch die Eingabe des folgenden
201 Befehls im aktuellen Arbeitsverzeichnis entpackt werden:
203 tar -xvzf Wine-20000614.tar.gz
205 Dabei ist Wine-20000614.tar.gz natürlich durch den Namen der
206 heruntergeladenen Datei zu ersetzen. Der Quellcode wird dann in ein
207 Unterverzeichnis des aktuellen Verzeichnisses entpackt, dessen Name
208 sich aus der Bezeichnung wine und, getrennt von einem Bindestrich,
209 dem Herausgabedatum der benutzten Version zusammensetzt, also
210 beispielsweise wine-20000614. Normalerweise empfiehlt es sich,
211 dieses Verzeichnis in wine umzubenennen, wie es durch Eingabe des
212 folgenden Befehls geschehen kann:
214 mv wine-20000614 wine
216 5.1 Aktualisieren des Quellcodes mit Patchdateien
218 Neben den komprimierten Tar-Archiven, welche den Quellcode von WINE
219 beinhalten, befinden sich in den aufgeführten Verzeichnissen auch
220 so genannte Patch-Dateien, welche lediglich die Änderungen
221 enthalten, die zwischen zwei Ausgaben an WINE vorgenommen
222 wurden. Diese Dateien sind normalerweise viel kleiner als der
223 komplette Quellcode, so dass es sich empfiehlt, sie zu verwenden,
224 wenn das Programm von einer Version auf die nächste aktualisiert
225 werden soll. Falls auf einem Rechner beispielsweise Wine-20000614
226 installiert ist und auf WINE-20000614 aktualisiert werden soll, so
227 wäre die Datei WINE-20000614.diff.gz herunterzuladen. Die in der
228 Datei beschrieben Veränderungen können auf den installierten
229 Quellcode angewandt werden, indem zunächst in das Basisverzeichnis
230 des Quellcodes (also in das Verzeichnis wine, welches durch die
231 oben beschriebenen Schritte entstanden ist) gewechselt wird und
232 dann das Programm patch wie folgt aufgerufen wird:
234 gunzip -c ../Wine-20000526.diff.gz | patch -p1
236 Hier wird davon ausgegangen, dass sich die Patch-Datei in dem
237 Verzeichnis befindet, welches dem WINE-Verzeichnis (wine)
238 übergeordnet ist und den Namen Wine-20000526.diff.gz trägt. Der
239 Dateiname ist entsprechend anzupassen, wenn eine Datei mit einem
240 anderen Namen oder aus einem anderen Verzeichnis benutzt wird.
242 5.2 Herunterladen und Aktualisieren von WINE mit CVS
244 Alternativ kann der Quellcode vom CVS-Server des WINE-Projektes
245 installiert werden. Der Vorteil dieses Verfahrens besteht darin,
246 dass es jederzeit unkompliziert möglich ist, den eigenen Quellcode
247 an den Entwicklungsstand des Projekts anzupassen ohne dass auf eine
248 neue Ausgabe des Programms gewartet werden muss. Für jeden, der
249 plant, selbst an dem Projekt mitzuarbeiten, ist die Verwendung von
250 CVS normalerweise erforderlich. Damit CVS benutzt werden kann, muss
251 das Programm cvs natürlich installiert sein. Unter Debian ist es in
252 dem gleichnamigen Paket enthalten. Wenn dies sichergestellt ist,
253 kann durch die Umgebungsvariable CVSROOT eingestellt werden, von wo
254 der Quellcode bezogen, bzw. aktualisiert werden soll. Bei
255 Verwendung der Bash kann dazu der folgende Befehl eingegeben
258 export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine
260 Danach kann man sich bei dem CVS-Server anmelden. Hierzu dient
265 Das Programm erfragt dann ein Passwort für den Zugriff auf den
266 Server. Hier ist das Passwort cvs zu verwenden. Nun kann der
267 Quellcode vom Server heruntergeladen werden, indem der nächste
268 Befehl eingegeben wird:
270 cvs -z 3 checkout wine
272 Im aktuellen Arbeitsverzeichnis wird dann ein Unterverzeichnis mit
273 der Bezeichnung wine angelegt. Sobald der Befehl abgeschlossen ist,
274 befinden sich in diesem Verzeichnis der aktuelle Quellcode des
275 Projekts und einige zusätzliche Dateien, die von CVS benötigt
278 Um den Quellcode auf den neuesten Stand zu bringen, kann dieser
279 Befehl benutzt werden:
281 cvs -z 3 update -PAd WINE
283 Informationen über die hier verwendeten Parameter beim Aufruf von
284 CVS und über weitere Möglichkeiten des Programms befinden sich
285 u.a. in der Manualseite zu cvs(1) sowie auf der CVS-Homepage, die
286 unter http://www.sourcegear.com/CVS zu erreichen ist. Weitere
287 Hinweise im Hinblick auf CVS und WINE sind unter der Adresse
288 http://www.winehq.com/dev.html verfügbar.
290 6.0 Konfiguration und Übersetzung des Quellcodes
292 Vorausgesetzt, der Quellcode befindet sich im Unterverzeichnis wine
293 des aktuellen Arbeitsverzeichnisses, ist zunächst in dieses
294 Verzeichnis zu wechseln, um alle weiteren Schritte durchzuführen:
298 Dann kann das Skript configure aufgerufen werden. Dieses Skript
299 führt eine Reihe von Tests durch, die u.a. untersuchen, ob das
300 System alle notwendigen Eigenschaften erfüllt und die benötigten
301 Entwicklerdateien installiert sind. Daraufhin erzeugt es die
302 Dateien, durch welche die Übersetzung des Quellcodes gesteuert
303 wird. Dem Skript können verschiedene Parameter übergeben werden,
304 mit denen sich beispielsweise bestimmen lässt, dass in den zu
305 erzeugenden Programmen und Bibliotheken keine Debug-Mitteilungen
306 enthalten sein sollen. Die vollständige Liste der verfügbaren
307 Optionen für configure wird angezeigt, wenn das Skript mit der
308 Option --help aufgerufen wird. Normalerweise reicht es aus, das
309 Skript folgendermaßen aufzurufen:
313 Falls wichtige Dateien oder Eigenschaften des Systems von configure
314 nicht gefunden werden können, erfolgt unter Umständen eine Warn-
315 oder Fehlermeldung. Solche Fehler sollten behoben werden, bevor mit
316 der Übersetzung des Quellcodes fortgefahren wird.
318 Im nächsten Schritt wird der Quellcode übersetzt. Dazu sind
319 hintereinander die folgenden beiden Befehle zu benutzen:
325 Auf der Partition, auf welcher sich das Verzeichnis mit dem
326 Quellcode befindet, werden für die komplette Übersetzung zur Zeit
327 ungefähr 230 MB Speicherplatz benötigt. Der größte Teil dieses
328 Speicherplatzes wird dabei von den Debug-Informationen in den
329 Objektdateien, die beim Übersetzen erzeugt werden, benötigt. Falls
330 nicht beabsichtigt wird, irgendwelche Fehler in WINE zu
331 untersuchen, können die Binärdateien auch ohne Debug-Informationen
332 erzeugt werden, dazu ist der letzte der beiden oben genannten
333 Befehle durch den nächsten Befehl zu ersetzen (für die Übersetzung
334 werden dann nur noch ungefähr 80 MB Speicherplatz benötigt).
338 Nun kann WINE auf dem System installiert werden. Hierzu ist mit den
339 Rechten des Administrators der folgende Befehl einzugeben:
343 Dadurch werden die ausführbaren Programme von WINE standardmäßig in
344 das Verzeichnis /usr/local/bin, die Programmbibliotheken in das
345 Verzeichnis /usr/local/lib, die Manualseiten unterhalb des
346 Verzeichnisses /usr/local/man und einige Header-Dateien in das
347 Verzeichnis /usr/local/include/wine installiert.
350 Standardmäßig wird bei einigen Distributionen (z.B. bei Debian
351 GNU/Linux) in dem Verzeichnis /usr/local/lib nicht nach
352 Programmbibliotheken gesucht. Falls beim Start von WINE gemeldet wird,
353 dass bestimmte Bibliotheken nicht geladen werden können, sollte der
354 Name dieses Verzeichnisses in die Datei /etc/ld.so.conf (in eine
355 eigene Zeile) eingetragen und danach das Programm ldconfig aufgerufen
360 Wie viele UNIX-Programme kann WINE entweder über eine systemweit
361 gültige Konfigurationsdatei oder über eine benutzerspezifische
362 Datei im Heimatverzeichnis des betreffenden Benutzers konfiguriert
363 werden. Die benutzerspezifische Konfigurationsdatei trägt den
364 Namen .winerc. Wenn diese Datei existiert, wird die systemweit
365 gültige Konfigurationsdatei (standardmäßig
366 /usr/local/etc/wine.conf) nicht beachtet und es werden alle
367 Einstellungen aus der Konfigurationsdatei des betreffenden
368 Benutzers gelesen. Für den Anfang ist es zu empfehlen, mit einer
369 benutzerspezifischen Konfigurationsdatei zu beginnen.
371 7.1 Aufbau der Konfigurationsdatei
373 Von Ihrem Aufbau und den Möglichkeiten zur Konfiguration
374 unterscheidet sich die globale Konfigurationsdatei nicht von der
375 benutzerspezifischen. Das Format orientiert sich an den von Windows
376 her bekannten *.ini-Dateien, die Datei besteht aus einzelnen
377 Blöcken, welche durch Bezeichner eingeleitet werden, die in eckigen
378 Klammern und in einer eigenen Zeile stehen. Innerhalb eines Blockes
379 befinden sich Paare von Variablen und Werten, die durch ein
380 Gleichheitszeichen miteinander verbunden sind. Diese Paare stehen
381 ebenfalls jeweils in einer Zeile. Kommentare werden in der Datei
382 durch ein Semikolon eingeleitet. Außerdem dürfen leere Zeilen
383 benutzt werden, um die Datei zu strukturieren. Ein Beispiel für
384 einen solchen Block wäre also:
392 Außerdem ist es möglich, innerhalb der Konfigurationsdatei mit
393 Werten von Umgebungsvariablen zu arbeiten. Dazu ist an Stelle eines
394 Wertes der Name der zu verwendenden Umgebungsvariablen in
395 geschweiften Klammern und mit einem vorangestellten Dollarzeichen
396 anzugeben. Soll beispielsweise der Variablen Path aus dem obigen
397 Beispiel der Wert zugeordnet werden, den die Umgebungsvariable HOME
398 zur Zeit der Ausführung von WINE hat, so wäre die entsprechende
399 Zeile folgendermaßen zu schreiben:
403 Im Basisverzeichnis des WINE-Quellcodes befindet sich in der Datei
404 wine.ini ein Beispiel als Vorlage für die Erstellung einer eigenen
405 Konfigurationsdatei. Die Datei enthält alle wichtigen Blöcke und
406 Variablen, sie muss jedoch an die eigene Konfiguration angepasst
407 werden, bevor WINE das erste Mal benutzt wird. Angenommen, das
408 Basisverzeichnis des WINE-Quellcodes trägt den Namen wine und ist
409 ein Unterverzeichnis des eigenen Heimatverzeichnisses, dann kann
410 diese Vorlage durch den folgenden Befehl an den richtigen Platz
413 cp ~/wine/wine.ini ~/.winerc
415 Die Werte, welche Variablen in der Konfigurationsdatei zugewiesen
416 werden, lassen sich in drei Typen einteilen: Zeichenketten, Zahlen
417 und Boolsche Werte. Im Fall von Boolschen Werten lässt sich
418 entweder true oder false, 1 oder 0 beziehungsweise yes oder no
419 angeben. In den folgenden Beispielen wird die true / false
420 -Schreibweise benutzt.
422 7.2 Konfiguration von Laufwerksbuchstaben
424 Zwischen UNIX/Linux auf der einen und DOS bzw. Windows auf der
425 anderen Seite gibt es einige Unterschiede in der Art, wie
426 Datenträger und Dateien bezeichnet werden. Unter UNIX/Linux gibt es
427 ein Dateisystem mit einem Wurzelpunkt (/), in das unterschiedliche
428 Datenträger durch einen speziellen Befehl (mount) eingebunden
429 werden. Alle Dateien auf eingebundenen Datenträgern können deswegen
430 innerhalb dieses Dateisystems angesprochen werden. DOS und Windows
431 verwenden jedoch für jeden erkannten Datenträger ein eigenes
432 Dateisystem. Um eine bestimmte Datei eindeutig zu bezeichnen, ist
433 es bei diesen Betriebssystemen deswegen notwendig, neben dem Pfad-
434 und Dateinamen einen so genannten Laufwerksbuchstaben
435 anzugeben. Üblicherweise entspricht dabei der Laufwerksbuchstabe A
436 dem ersten Diskettenlaufwerk und der Buchstabe C der ersten
437 Festplattenpartition des Systems.
439 Weil Programme, die für DOS oder Windows geschrieben sind,
440 Laufwerksbuchstaben verwenden, um Dateien zu bezeichnen, muss WINE
441 diese Buchstaben auf das UNIX-Dateisystem abbilden. Das Problem ist
442 auf die folgende Art gelöst: In der Konfigurationsdatei (.winerc
443 oder /usr/local/etc/wine.conf) wird jedem Laufwerksbuchstaben ein
444 Verzeichnis im UNIX-Dateisystem zugeordnet. Dieses Verzeichnis
445 stellt dann (aus Sicht der Windows-Programme) das Basisverzeichnis
446 des entsprechenden Laufwerks dar. Ist also beispielsweise das
447 Verzeichnis /var/winroot dem Laufwerksbuchstaben C zugeordnet und
448 würde ein Windows-Programm unter WINE versuchen, die Datei
449 C:\Dokumente\finanzamt.doc zu öffnen, so würde in Wirklichkeit die
450 Datei /var/winroot/Dokumente/finanzamt.doc geöffnet werden,
451 vorrausgesetzt, diese Datei existiert tatsächlich. Durch diesen
452 Mechanismus kann auch erreicht werden, dass von Windows-Programmen,
453 die unter WINE ausgeführt werden, nur auf einen Teil des
454 UNIX-Dateisystems zugegriffen werden kann.
456 Ein weiterer Unterschied zwischen den Dateisystemen unter DOS und
457 Windows auf der einen und UNIX/Linux auf der anderen Seite besteht
458 in der Berücksichtigung von Groß- und Kleinschreibung bei
459 Dateinamen. Während es unter Linux durchaus möglich ist, dass sich
460 in einem Verzeichnis gleichzeitig Dateien mit den Namen brief.txt,
461 Brief.txt und brief.TXT befinden, ist dies unter Windows
462 ausgeschlossen, hier wird beispielsweise die Datei brief.txt
463 geöffnet, falls diese existiert, aber eigentlich die Datei
464 Brief.txt angefordert wurde. Die meisten Programme, die für DOS
465 oder 16Bit-Windows geschrieben wurden, erwarten darüberhinaus, dass
466 Dateinamen aus nicht mehr als acht Zeichen zuzüglich einer drei
467 Zeichen langen Erweiterung bestehen. WINE muss aus diesen Gründen
468 entscheiden, welche Datei tatsächlich geöffnet wird, wenn es
469 aufgrund von Groß- und Kleinschreibung unterschiedliche
470 Möglichkeiten gibt. Außerdem muss es die Dateinamen in acht Zeichen
471 lange Namen übersetzen, falls sie von 16bit-Programmen abgefragt
474 Wenn WINE mit einer bestehenden Windows-Installation benutzt werden
475 soll, sollte darauf geachtet werden, dass die Laufwerksbuchstaben
476 unter Windows und WINE übereinstimmen. Befindet sich die
477 Windows-Installation also beispielsweise auf der Partition
478 /dev/hda1, welche unter Windows über den Laufwerksbuchstaben C
479 angesprochen wird, so sollte diese Partition unter GNU/Linux in ein
480 beliebiges Verzeichnis eingebunden werden und dieses Verzeichnis in
481 der Konfigurationsdatei von WINE wieder dem Laufwerksbuchstaben C
484 Ein Beispiel für die Zuordnung von UNIX-Verzeichnissen und
485 Laufwerksbuchstaben in der Konfigurationsdatei wurde weiter oben
486 bereits gebracht. Eine solche Definition besteht aus einem Block,
487 dessen Name sich aus dem Schlüsselwort Drive und dem Buchstaben des
488 Laufwerks zusammensetzt, für das die Definition gelten soll. Ein
489 Beispiel wäre also [Drive C]. Darauf folgen verschiedene Variablen,
490 mit denen die Eigenschaften des Laufwerkes festgelegt werden. Die
491 wichtigste dieser Variablen ist Path. Hiermit wird bestimmt,
492 welchem UNIX-Verzeichnis das Laufwerk entsprechen soll (Beispiele:
493 Path=/home/karl, Path=${HOME}). Die weiteren Variablen haben die
497 Windows kann Anwendungen mitteilen, von welchem Typ
498 (Festplatte, CDROM usw.) ein bestimmter Datenträger ist. Mit
499 dieser Variablen wird WINE mitgeteilt, welchen Typ das
500 entsprechende Laufwerk haben soll. Mögliche Werte sind
501 floppy (Diskettenlaufwerk), hd (Festplattenpartition), cdrom
502 (CDROM-Laufwerk) und network (Netzwerklaufwerk). Im
503 allgemeinen empfiehlt es sich, hier den Typ anzugeben, der
504 dem UNIX-Verzeichnis, welches dem Laufwerk zugeordnet ist,
505 entspricht. Beispiel: Type=floppy.
508 Unter DOS und Windows können Laufwerke eine so genannte
509 Datenträgerbezeichnung haben. Diese Bezeichnung kann von
510 Windows-Anwendungen abgefragt werden. Mit dieser Variable
511 kann angegeben werden, welchen Datenträgerbezeichnung WINE
512 zurückliefern soll, falls eine Anwendung diese für das
513 Laufwerk abfragt. Die Datenträgerbezeichnung darf aus nicht
514 mehr als 11 Buchstaben bestehen. Beispiel: Label=Platte1.
517 Jedes Laufwerk hat unter Windows eine so genannte
518 Seriennummer, die ebenfalls von Windows-Programmen abgefragt
519 werden kann. Mit dieser Variablen lässt sich in Form eine
520 acht-stelligen hexadezimalen Zahl angeben, welche
521 Seriennummer in solchen Fällen zurückgeliefert werden
522 soll. Beispiel: Serial=23f78a6b.
525 Hiermit wird bestimmt, welche Eigenschaften das emulierte
526 Dateisystem auf dem betreffenden Laufwerk haben soll. Es
527 sind die folgenden Werte möglich:
530 Auf dem Laufwerk sind nur Dateinamen mit einer Länge
531 von acht Zeichen und einer Erweiterung, die aus drei
532 Zeichen besteht, zugelassen. Unterschiede in Groß- und
533 Kleinschreibung werden nicht
534 berücksichtigt. Alternativ für msdos können die
535 Bezeichnungen dos oder fat für diesen Dateisystemtyp
539 Auf dem Laufwerk sind lange Dateinamen zugelassen. DOS
540 und 16bit-Windowsprogramme können jedoch weiterhin
541 kurze Dateinamen benutzen. Unterschiede in Groß- und
542 Kleinschreibung werden nicht berücksichtigt. Dies ist
543 die empfohlenen Einstellung für fast alle Anwendungen.
544 Alternativ für win95 kann dieser Dateisystemtyp auch
545 als vfat bezeichnet werden.
548 Das Dateisystem auf dem Laufwerk verhält sich ähnlich
549 wie ein typisches UNIX-Dateisystem, d.h. Dateinamen
550 können die normalerweise erlaubte Länge haben und die
551 Groß- und Kleinschreibung ist bedeutsam. Mit dieser
552 Einstellung kommen die meisten Windows-Programme nicht
553 zurecht. Probleme treten beispielsweise dann auf,
554 wenn ein Windows-Programm eine Datei zunächst unter
555 dem Namen Daten speichert und dann unter dem Namen
556 DATEN wieder öffnen will.
559 Es ist zu beachten, dass mit dieser Einstellung nicht
560 angegeben wird, welche Eigenschaften das zugrunde liegende
561 UNIX-Dateisystem hat, sondern welche Eigenschaften von WINE
562 für das entsprechende Laufwerk emuliert werden sollen. Es
563 ist also durch aus möglich (und in den meisten Fällen
564 erforderlich) für ein Laufwerk, das sich auf einem
565 UNIX-Dateisystem befindet, die Einstellung win95 zu
566 verwenden. Falls es sich bei dem Datenträger, auf dem sich
567 das dem Laufwerk zugeordnete Verzeichnis befindet,
568 allerdings um ein FAT-Dateisystem handelt, welches mit dem
569 FAT-Treiber von Linux (und nicht, wie üblich, mit dem
570 VFAT-Treiber) betrieben wird, dann muss hier der
571 Dateisystemtyp msdos benutzt werden, weil es sonst passieren
572 könnte, dass WINE versucht, auf dem betreffenden Datenträger
573 Dateien mit langen Namen anzulegen, was dann zu einem Fehler
574 führen würde. Beispiel: Filesystem=win95.
577 In besonderen Fällen ist es notwendig, dass die
578 Windows-Programme direkt, also unter Umgehung des
579 Dateisystems, auf den Datenträger schreiben oder von ihm
580 lesen. Damit dies auch mit WINE möglich ist, kann hier der
581 Name der Gerätedatei angegeben werden, welcher den
582 Datenträger unter Linux repräsentiert. Dies ist nur dann
583 sinnvoll, wenn das dem betreffenden Laufwerk zugeordnete
584 Verzeichnis dem Mountpunkt des hier angegebenen Datenträgers
585 entspricht. Der direkte Gerätezugriff sollte normalerweise
586 nur für solche Datenträger gestattet werden, deren Inhalt
587 nicht besonders geschützt werden muss (u.U. Disketten) oder
588 von denen ohnehin nur gelesen werden kann
589 (z.B. CDROMs). Damit auf den Datenträger geschrieben werden
590 kann, ist es zusätzlich natürlich notwendig, dass die Rechte
591 an der betreffenden Gerätedatei ausreichend sind. Beispiel:
596 Eine Reihe von Windows-Programmen öffnen Dateien prinzipiell
597 zum Lesen und Schreiben, auch wenn aus den betreffenden
598 Dateien lediglich gelesen werden soll. Dieses Verhalten
599 führt normalerweise dazu, dass Dateien, in die von WINE
600 nicht geschrieben werden darf oder die sich auf Datenträgern
601 befinden, auf die nicht geschrieben werden kann (etwa
602 CDROMs), nicht geöffnet werden können. Aus diesem Grund
603 öffnet WINE Dateien standardmäßig zum Lesen, falls eine
604 Datei nicht zum Lesen und zum Schreiben geöffnet werden
605 konnte. Wenn die Variable FailReadOnly auf den Wert true
606 gesetzt wird, verhält sich WINE so wie unter UNIX üblich und
607 liefert eine Fehlermeldung an das Windows-Programm, falls
608 eine Datei nicht zum Schreiben geöffnet werden kann. In der
609 Regel empfiehlt es sich, hier die Standardeinstellung zu
610 übernehmen. Beispiel: FailReadOnly=true.
613 Wenn der Wert dieser Variablen auf true gesetzt ist,
614 versucht WINE, die Seriennummer und die
615 Datenträgerbezeichnung des betreffenden Laufwerks direkt von
616 dem Datenträger zu lesen. Dazu muss dem Laufwerk eine
617 Gerätedatei zugeordnet sein (Variable device). Diese
618 Einstellung ist vor allem für solche Programme sinnvoll, die
619 nur dann funktionieren, wenn sich beispielsweise die
620 richtige CDROM im Laufwerk befindet und die dies anhand der
621 Seriennummer oder der Datenträgerbezeichnung
622 feststellen. Beispiel: ReadVolInfo=true
624 7.3 Allgemeine Einstellungen
626 Im Abschnitt [wine] der Konfigurationsdatei werden die wichtigsten
627 allgemeinen Einstellungen vorgenommen. Im wesentlichen handelt es
628 sich dabei um Verzeichnisangaben. Es ist zu beachten, dass diese
629 Verzeichnisangaben in der unter DOS und Windows üblichen Weise zu
630 erfolgen haben. D.h., jedem Verzeichnis muss ein Laufwerksbuchstabe
631 vorangestellt werden. Laufwerksbuchstaben und Verzeichnis werden
632 durch einen Doppelpunkt voneinander getrennt, außerdem werden
633 einzelne Verzeichnisse nicht durch einen normalen Schrägstrich,
634 sondern durch einen umgekehrten Schrägstrich (Backslash)
635 voneinander separiert. Die Angaben werden durch die im vorherigen
636 Abschnitt beschriebenen Zuordnungen von Laufwerksbuchstaben in
637 UNIX-Dateinamen übersetzt.
640 Unter Windows spielt das Windows-Verzeichnis eine besondere
641 Rolle. Programme legen hier oft Initialisierungsdateien ab
642 und Installationsprogramme kopieren gelegentlich
643 verschiedene Dateien in dieses Verzeichnis. Mit der
644 Variablen Windows wird eingestellt, welches Verzeichnis von
645 den unter WINE ausgeführten Programmen als
646 Windows-Verzeichnis behandelt werden soll. Das hier
647 angegebene Verzeichnis muss existieren, bevor WINE das erste
648 Mal gestartet wird. Wenn WINE eine bestehende
649 Windows-Installation verwenden soll, muss hier das
650 Verzeichnis angegeben werden, in dem sich die Installation
653 Falls WINE mit einer existierenden Windows-Installation
654 verwendet werden soll und diese Installation sich auf der
655 Festplattenpartition befindet, die unter Windows den
656 Laufwerksbuchstaben C: trägt und unter Linux durch die
657 Gerätedatei /dev/hda1 repräsentiert wird, so könnte diese
658 Partition beispielsweise unter Linux beispielsweise in das
659 Verzeichnis /Windows eingebunden werden. Diesem Verzeichnis
660 wäre dann im Abschnitt, welcher die
661 Laufwerksbuchstabenkonfiguration enthält der
662 Laufwerksbuchstabe C: zuzuordnen:
670 Wenn weiter der Name des Windows-Verzeichnisses dieser
671 Installation windows lautet (unter Windows also C:\windows
672 und unter Linux /Windows/windows), so wäre im Abschnitt
673 [wine] der Konfigurationsdatei folgende Angabe vorzunehmen:
677 Soll WINE jedoch ohne existierende Windows-Installation
678 benutzt werden, so kann ein beliebiges Verzeichnis als
679 Wurzelverzeichnis für das Laufwerk dienen, welches das
680 Windows-Verzeichnis beinhaltet, beispielsweise könnte
681 hierfür das Verzeichnis /Windows angelegt werden. In diesem
682 Verzeichnis müsste nun das Windows-Verzeichnis erzeugt
683 werden, welches daraufhin wie oben beschrieben im Abschnitt
684 [wine] als Windows-Verzeichnis deklariert werden müsste.
687 Das System-Verzeichnis hat eine ähnliche Bedeutung wie das
688 Windows-Verzeichnis. Unter Windows befinden sich in diesem
689 Verzeichnis im wesentlichen die Programmbibliotheken, es ist
690 normalerweise ein Unterverzeichnis des
691 Windows-Verzeichnisses. Dieses Verzeichnis muss ebenfalls
692 existieren, bevor WINE das erste Mal gestartet wird. Auch
693 hier muss das System-Verzeichnis der bestehenden
694 Windows-Installation angegeben werden, falls eine solche
695 benutzt werden soll. Unter Windows 95/98 trägt dieses
696 Verzeichnis normalerweise den Namen system und unter Windows
697 NT den Namen system32. Beispiel: System=C:\Windows\System.
700 Das Temp-Verzeichnis wird von vielen Windows-Programmen dazu
701 benutzt, temporäre Dateien abzulegen. Damit dies gelingt,
702 muss hier ein Verzeichnis angegeben werden, welches sich auf
703 einem Laufwerk befindet, das einem UNIX-Verzeichnis
704 entspricht, in dem Schreibberechtigung besteht. Beispiel:
708 Diese Variable hat die gleiche Bedeutung wie die
709 Umgebungsvariable PATH unter UNIX. Ihr Wert besteht aus
710 einer Kette einzelner Verzeichnisnamen, die nach einem
711 auszuführenden Programm durchsucht wird, wenn der Name eines
712 solchen Programms nicht mit Verzeichnisnamen angegeben
713 wurde. Es ist zu beachten, dass die einzelnen Elemente diese
714 Variable unter Windows nicht durch einen Doppelpunkt sondern
715 durch ein Semikolon voneinander getrennt werden, außerdem
716 erwarten viele Windows-Programme, dass das Windows- und das
717 System-Verzeichnis in dieser Variablen enthalten
719 Path=C:\Windows;C:\Windows\System;D:\Winstuff.
722 Diese Variable wird von WINE benutzt, um den
723 benutzerspezifischen Teil der Systemregistratur einer
724 bestehenden Windows-Installation zu laden. Falls es sich bei
725 der bestehenden Installation um Windows 95/98 handelt, das
726 nicht mit mehreren Benutzern betrieben wird oder ohne eine
727 bestehende Windows-Installation gearbeitet werden soll,
728 braucht die Variable Profile nicht gesetzt zu werden. Wenn
729 jedoch eine Windows NT- oder eine Windows 95/98-Installation
730 mit mehreren Benutzern eingesetzt wird, muss hier angegeben
731 werden, aus welchem Verzeichnis WINE die benutzerspezifische
732 Registrationsdaten laden soll. Diese Verzeichnisse befinden
733 sich normalerweise im Unterverzeichnis Profiles des
734 Windows-Verzeichnis und tragen den Namen des Benutzers,
735 dessen Konfigurationsdaten sie beherbergen. Beispiel:
736 Profile=C:\Windows\Profiles\Peter.
739 WINE kann unterschiedliche Treiber für die graphische
740 Ausgabe verwenden. Welcher Treiber zu verwenden ist, wird
741 mit dieser Variablen festgelegt. Zur Zeit stehen zwei
742 Treiber zur Verfügung, nämlich x11drv für die Verwendung des
743 X Window Systems und ttydrv für die Verwendung von WINE an
744 der Konsole. Der Treiber ttydrv ist zur Zeit nicht voll
745 funktionsfähig, weswegen sich hier nur die Verwendung des
746 Treibers x11drv empfiehlt, dies ist auch die
747 Standardeinstellung, wenn die Variable nicht gesetzt
748 wird. Beispiel: GraphicsDriver=x11drv.
750 7.4 Konfiguration der zu verwendenden Bibliotheken
752 Wie UNIX/Linux-Programme bestehen Windows-Programme in der Regel
753 aus der eigentlichen Programmdatei und einer Reihe von
754 Programmbibliotheken, die beim Laden des Programms oder später mit
755 dem Programm verbunden werden. Eine Reihe der Programmbibliotheken
756 unter Windows stellt dabei gleichzeitig die Schnittstelle zum
757 Betriebssystem dar. Neben dem eigentlichen Windows-Programm werden
758 also die Bibliotheken benötigt, um das Programm ausführen zu
761 WINE stellt eine großen Anzahl der normalerweise unter Windows
762 verfügbaren Bibliotheken zur Verfügung. Diese Bibliotheken liegen
763 entweder in Form eigener Dateien vor, welche sich standardmäßig im
764 Verzeichnis /usr/local/lib befinden oder sie sind direkt in der
765 Programmdatei wine enthalten. WINE ist jedoch auch in der Lage, die
766 normalen Windows-Bibliotheken zu verwenden, dies ist beispielsweise
767 dann notwendig, wenn von einem Programm eine Bibliothek benötigt
768 wird, bei der es sich nicht um eine standardmäßige
769 Windows-Bibliothek handelt, sondern um eine, die dem System während
770 der Installation des betreffenden Programms hinzugefügt worden
771 ist. Solche Bibliotheken werden normalerweise nicht von WINE zur
774 Falls WINE mit einer bestehenden Windows-Installation benutzt wird,
775 bietet es sich u.U. an, in einigen Fällen an Stelle der von WINE
776 zur Verfügung gestellten Bibliotheken die Bibliotheken der
777 Windows-Installation zu verwenden. Diese sind in vielen Fällen
778 vollständiger und können dem auszuführenden Programm deswegen eher
779 die erwartete Funktionalität zur Verfügung stellen. Dabei ist
780 jedoch zu beachten, dass dies nur mit solchen Bibliotheken möglich
781 ist, die keine Betriebssystemfunktionen beinhalten. Bibliotheken,
782 die lediglich einfachen Programmcode, wie beispielsweise den für
783 häufig benötigte Dialoge, beinhalten, können hingegen problemlos
784 aus einer bestehenden Windows-Installation benutzt werden.
786 Die meisten Bibliotheken stehen unter Windows (95/98) in zwei
787 verschiedenen Versionen zur Verfügung, einer 32Bit Version, die von
788 32Bit-Programmen geladen werden kann und einer 16Bit-Version, die
789 von 16Bit-Programmen benutzt werden kann. Beide Versionen benutzen
790 in der Regel Programmcode aus der jeweils zugehörigen anderen
791 Version (Unter Windows 95/98 befindet sich die eigentliche
792 Funktionalität meist in den 16Bit-Bibliotheken, die von den
793 32Bit-Versionen geladen und aufgerufen werden). Deswegen ist es
794 erforderlich, dass immer jeweils beide Versionen einer Bibliothek
795 als Windows- oder als WINE-Bibliothek geladen werden, andere
796 Einstellungen führen in der Regel direkt nach dem Aufruf von WINE
797 zu Fehlern. Die folgende Tabelle zeigt, welche der wichtigsten 16-
798 und 32-Bit Bibliotheken zusammen gehören und gibt Auskunft darüber,
799 ob diese Bibliotheken aus einer bestehenden Windows-Installation
800 geladen werden können oder unbedingt von WINE zur Verfügung
801 gestellt werden müssen. Es wird jeweils zunächst die 16-Bit Version
802 und dann die 32-Bit Version genannte
806 Diese Bibliothek stellt die Schnittstelle zu den grundlegenden
807 Funktionen, wie Dateizugriff, Ein- und Ausgabe oder
808 Prozesssynchronisation, von Windows-Betriebssystemen zur Verfügung.
809 Deswegen können hier nicht die Bibliotheken einer
810 Windows-Installation benutzt werden.
814 Diese Bibliothek enthält die Schnittstelle zu dem Betriebssystem
815 Windows NT. Es muss deswegen die WINE-Version benutzt werden.
819 Hier befinden sich u.a. Funktionen zum Zugriff auf die
820 Windows-Registratur sowie Sicherheitsfunktionen und
821 kryptographische Funktionen. In der Regel empfiehlt es sich, WINEs
822 Version dieser Bibliothek zu verwenden.
826 Hier befindet sich die Internet Protokoll (IP) Schnittstelle von
827 Windows. Mit WINE wird die IP-Funktionalität des Betriebssystems
828 (Linux) benutzt, so dass hier die WINE-Versionen dieser
829 Bibliotheken benutzt werden müssen, welche die IP-Aufrufe von
830 Windows-Programmen an Linux weiterleiten.
834 GDI steht für Graphic Device Interface. Die Bibliothek stellt eine
835 einheitliche Schnittstelle zur Bildschirmausgabe und zu Druckern
836 dar. Auch hier müssen die WINE-Versionen benutzt werden.
840 User stellt u.a. Funktionen zur Fensterverwaltung, zu Menüs oder
841 zur Bedienung der Zwischenablage bereit. Die Windows 95/98
842 Versionen dieser Bibliotheken können theoretisch unter bestimmten
843 Bedingungen mit WINE benutzt werden. Die USER-Bibliotheken von
844 Windows NT rufen in der Regel Funktionen im NT-Kernel auf und
845 können deswegen nicht mit WINE benutzt werden. Normalerweise
846 empfiehlt es sich, die User-Bibliotheken von WINE zu verwenden.
850 Diese beiden Bibliotheken stellen Funktionen zum dekomprimierieren
851 von LZ-Archiven zur Verfügung. Solche Funktionen werden im
852 wesentlichen von Installationsprogrammen benötigt. Die zu Windows
853 gehörenden Versionen dieser Bibliotheken benutzen einige Funktionen
854 aus der Kernel-Bibliothek, die in WINE zur Zeit nicht implementiert
855 sind. Es müssen deswegen die von WINE bereitgestellten Versionen
860 Diese Bibliothek (common controls) stellt Funktionen zur Erzeugung
861 oft benutzter Fensterelemente, wie Werkzeugleisten oder
862 Statusanzeigen, zur Verfügung. Es können sowohl die Version von
863 WINE als auch die Windows-Version der Bibliothek benutzt werden.
867 Hier befinden sich komplette Dialoge, die oft von
868 Windows-Programmen benutzt werden (Farbauswahl, Auswahl der
869 Schriftart, Suchen und Ersetzen usw.). Auch hier können wahlweise
870 die Windows- oder WINE-Versionen benutzt werden.
874 Die Shell-Bibliothek beinhaltet den größten Teil der
875 Benutzerschnittstellen von Windows. Sie wird unter Windows
876 besonders vom Explorer (dem Dateimanager) und vielen anderen
877 Anwendungen benutzt, die Funktionen wie beispielsweise
878 Drag-and-Drop unterstützen. Prinzipiell kann sowohl die Windows-
879 als auch die WINE-Version benutzt werden.
883 Dies ist die standardmäßige C-Laufzeitbibliothek von Windows. Zur
884 Zeit ist die Windows-Version vollständiger, weswegen einige
885 Programme mit der WINE-Version nicht richtig funktionieren.
887 Neben den hier genannten wichtigsten Systembibliotheken stellt WINE
888 eine Reihe weiterer Bibliotheken zur Verfügung, beispielsweise zur
889 Unterstützung von Multimedia-Anwendungen. Falls eine
890 Windows-Installation zur Verfügung steht, empfiehlt es sich in
891 vielen Fällen, auszuprobieren ob ein Programm besser mit den
892 WINE-Versionen oder den Windows-Versionen dieser Bibliotheken
895 In der Datei .winerc bzw. wine.conf gibt es zwei Abschnitte mit
896 denen bestimmt wird, welche Bibliotheken aus einer
897 Windows-Installation geladen werden sollen. Darüberhinaus können
898 diese Einstellungen beim Aufruf von WINE an der Kommandozeile
899 überschrieben werden. Im allgemeinen empfiehlt es sich, die
900 Einstellungen in der Beispielversion der Konfigurationsdatei
901 (wine.ini) zu übernehmen und diese nur dann zu verändern, falls
902 bestimmte Programme mit den Voreinstellungen nicht richtig
903 funktionieren. Falls die Bibliotheken einer Windows-Installation
904 benutzt werden sollen, ist darauf zu achten, dass diese auch von
905 WINE gefunden werden können. Dies setzt in der Regel voraus, dass
906 mit den Variablen Windows und System im allgemeinen Teil der
907 Konfiguration auf das Windows- bzw. das Systemverzeichnis einer
908 gültigen Windows-Installation gezeigt wird und dass diese beiden
909 Verzeichnisse im Wert der Variablen Path genannt werden.
911 Im Abschnitt [DllDefaults] können die folgenden beiden Einstellungen
914 EXTRA_LD_LIBRARY_PATH
915 Mit dieser Variablen können, durch Doppelpunkte voneinander
916 getrennt, UNIX-Verzeichnisse angegeben werden, in denen WINE
917 zusätzlich zu den normalerweise nach dynamisch ladbaren
918 Bibliotheken durchsuchten Verzeichnissen, nach Bibliotheken
919 suchen soll. Die Variable beeinflusst nur die Suche nach den
920 WINE-Versionen der Bibliotheken und nicht die Suche nach
921 Windows-Bibliotheken. Beispiel:
922 EXTRA_LD_LIBRARY_PATH=/home/peter/WINE_libs:/usr/local/WINE/libs.
925 Hiermit wird bestimmt, welche Reihenfolge WINE standardmäßig
926 benutzen soll, wenn versucht wird, eine Bibliothek zu laden.
927 Diese Reihenfolge wird durch die folgenden Schlüsselwörter
931 Es soll versucht werden, die Windows-Version der
932 betreffenden Bibliothek zu laden.
935 Es soll versucht werden, die WINE-Version der
936 betreffenden Bibliothek zu laden.
939 Elfdlls sind eine besondere Form von
940 Windows-Bibliotheken, welche von WINE zur Verfügung
941 gestellt werden. Sie sind ursprünglich geplant worden,
942 um die eingebauten Bibliotheken abzulösen, allerdings
943 haben die eingebauten Bibliotheken mit der Zeit viele
944 der für Elfdlls geplanten Funktionen bekommen, so dass
945 diese Form von Bibliotheken zur Zeit keine besondere
949 In einigen Fällen gibt es von einer Bibliothek Linux-
950 und Windows-Versionen, die sich sowohl hinsichtlich
951 ihrer Funktionalität als auch hinsichtlich der
952 aufrufbaren Funktionen in der Bibliothek nicht
953 unterscheiden. Falls ein Windows-Programm die
954 Windows-Version einer solchen Bibliothek laden will,
955 kann WINE versuchen, an Stelle dessen die Linux-Version
956 zu laden und die Funktionen dieser Version an Stelle
957 der in der Windows-Version aufrufen. Mit dem
958 Schlüsselwort so kann dieses Verhalten hervorgerufen
961 Durch die Reihenfolge, mit der diese Schlüsselwörter der
962 Variablen DefaultLoadOrder zugeordnet werden, wird
963 festgelegt, in welcher Reihenfolge WINE die einzelnen
964 Strategien benutzt. Wurde beispielsweise DefaultLoadOrder =
965 native, builtin, so angegeben, so versucht WINE, wenn eine
966 Bibliothek geladen werden muss, zunächst die
967 Windows-Version zu laden. Wenn dies nicht funktioniert (in
968 der Regel, weil die Bibliothek nicht vorhanden ist oder
969 nicht gefunden werden kann), wird versucht, die WINE-Version
970 der Bibliothek zu verwenden und falls auch eine solche nicht
971 vorhanden ist, wird versucht, direkt die UNIX-Version der
972 entsprechenden Bibliothek zu laden.
974 Im Abschnitt [DllOverrides] lässt sich das im vorherigen Abschnitt
975 spezifizierte Verhalten für einzelne Bibliotheken wieder
976 überschreiben. Während es nämlich im allgemeinen eine gute
977 Strategie ist, zunächst zu versuchen, die Windows-Versionen von
978 Bibliotheken zu laden, darf dies (wie oben beschrieben) bei
979 bestimmten Bibliotheken auf keinen Fall geschehen und es müssen in
980 jedem Fall die WINE-Versionen benutzt werden. Als Variablen werden
981 in diesem Abschnitt die Bibliotheken genannt, für die eine
982 spezielle Reihenfolge gelten soll. Hinter dem Gleichheitszeichen
983 wird dann die für diese Bibliotheken gewünschte Reihenfolge in der
984 gleichen Form angegeben, wie es im vorherigen Abschnitt beschrieben
988 krnl386, kernel32 = builtin
990 user, user32 = builtin
991 shell,shell32 = native, builtin
994 7.5 Konfiguration des X11 Graphiktreibers
996 Der X11 Graphiktreiber stellt die Schnittstelle zwischen den
997 Graphikfunktionen der Windows-Betriebssysteme und dem X Window
998 System dar. Er ermöglicht es also, dass Windows-Programme unter
999 WINE das X Window System ähnlich benutzen können, wie sie unter
1000 echtem Windows eine normale Graphikkarte benutzen. Das Verhalten
1001 des Treibers wird im Abschnitt x11drv der Konfigurationsdatei
1002 eingestellt. Dort stehen die folgenden Variablen zur Verfügung:
1005 Wenn diese Variable auf true gesetzt ist, verwendet WINE
1006 eine eigene Farbpalette. Bei X-Servern die mit eine
1007 Farbtiefen von 256 Farben (8bpp) oder weniger betrieben
1008 werden, hat das zur Folge, dass andere Fenster u.U. in
1009 falschen Farben dargestellt werden, wenn zu WINE gehörende
1010 Fenster in den Vordergrund geschaltet sind. Dafür kann WINE
1011 jedoch Farben besser darstellen als ohne diese
1012 Einstellung. Falls der X Server mit einer Farbtiefe von mehr
1013 als 256 Farben betrieben wird, ist die Einstellung
1017 Wenn WINE keine eigene Farbpalette verwendet, kann hier
1018 angegeben werden, wieviele Farben von der systemweit
1019 geteilten Palette maximal von WINE benutzt werden
1020 dürfen. Der höchstmögliche Wert ist hier 256, weil bei
1021 besseren Farbtiefen keine Palette benutzt wird. Beispiel:
1022 AllocSystemColors = 100.
1025 An einigen Stellen hat WINE die Möglichkeit,
1026 Graphikoperationen entweder so durchzuführen, dass sie
1027 besonders schnell sind oder so, dass sie besonders korrekt
1028 ausgeführt werden. Wenn diese Variable auf den Wert true
1029 gesetzt wird, wird der Genauigkeit Vorzug gegeben. Beispiel:
1030 PerfectGraphics = false.
1033 DGA (Direct Graphics Access) ist eine Erweiterung von
1034 XFree86, welche den direkten Zugriff auf den Speicher der
1035 Graphikkarte ermöglicht. Dadurch lassen sich
1036 Graphikoperationen wesentlich schneller durchführen als
1037 normalerweise. Die DirectDraw-Bibliothek (DirectX) von WINE
1038 kann diese Erweiterung benutzen, wodurch sich insbesondere
1039 Spiele mit einer ähnlichen Geschwindigkeit wie unter Windows
1040 ausführen lassen. Weil DGA den direkten Hardwarezugriff
1041 erfordert, sind dazu in der Regel Administratorrechte
1042 erforderlich. Die Verwendung von DGA wird mit UseDGA = true
1043 ein- und mit UseDGA = false ausgeschaltet.
1046 Anwendungen, die DirectDraw benutzen, versuchen
1047 normalerweise den Bildschirm in eine bestimmte Auflösung und
1048 Farbtiefe zu schalten. WINE kann die Auflösung zwar
1049 verändern, falls sich in der Datei XF86Config eine
1050 Definition für den angeforderten Modus befindet, weil das X
1051 Window System jedoch nicht den Wechsel der Farbtiefe
1052 unterstützt, ist es oft erforderlich, den X-Server in der
1053 benötigten Farbtiefe zu starten, bevor WINE gestartet wird.
1056 Hierbei handelt es sich um eine andere Erweiterung des X
1057 Window Systems, die schnellere Graphikoperationen
1058 ermöglicht. Beispiel: UseXShm = true.
1061 Diese Option bewirkt, dass der Mauszeiger - bei der
1062 Verwendung von DirectDraw (DirectX) - das von DirectDraw
1063 gesteuerte Fenster nicht verlassen kann. Dies ist notwendig,
1064 um einige Programme richtig bedienen zu können, allerdings
1065 wird dadurch verhindert, mit der Maus in ein anderes Fenster
1066 zu schalten, beispielsweise um WINE zu beenden. Beispiel:
1070 Einige X-Server unterstützen unterschiedliche Farbtiefen auf
1071 dem selben Bildschirm. Mit dieser Variable kann ausgewählt
1072 werden, welche Farbtiefe in einem solchen Fall benutzt
1076 WINE kann von Windows-Programmen dargestellte Fenster
1077 u.a. unabhängig vom eingesetzten Window-Manager anzeigen
1078 oder sie unter die Kontrolle des Window-Managers
1079 stellen. Das zweite Verfahren bietet eine bessere
1080 Integration von Windows-Programmen in die Arbeitsumgebung
1081 unter Linux, weil die Fenster dann genauso wie die von
1082 Linux-Programmen erscheinen und zu steuern sind. Welcher der
1083 verfügbaren Anzeigemodi verwendet werden soll, wird
1084 normalerweise an der Kommandozeile beim Aufruf von WINE
1085 angegeben. Durch diese Variable in der Konfigurationsdatei
1086 lässt sich festlegen, ob von WINE gesteuerte Fenster
1087 standardmäßig den Window-Manager verwenden sollen (Managed =
1090 DesktopDoubleBuffered
1091 Diese Option sollte auf den Wert true gesetzt werden, wenn
1092 mit WINE Programme benutzt werden, die OpenGL
1093 benutzen. Hierdurch wird die Darstellung solcher Anwendungen
1096 7.6 Konfiguration der zu verwendenden Schriftarten
1098 Der X11-Graphiktreiber x11drv verwendet zur Darstellung von Schrift
1099 die Schriftarten, die dem X-Server direkt oder über einen Fontserver
1100 zur Verfügung stehen. Eine Reihe von Windows-Anwendungen erwarten
1101 allerdings ganz bestimmte Schriften, die unter Windows in der Regel
1102 verfügbar sind und viele Anwendungen werden anders als unter Windows
1103 dargestellt, falls andere Schriftarten benutzt werden müssen.
1105 Windows verwendet normalerweise zwei unterschiedliche Typen von
1106 Schriftarten, nämlich so genannten TrueType-Schriften und einfache
1107 Bitmap-Schriftarten. Beide Schrifttypen können von XFree86 in der
1108 Versionsfamilie 3.x standardmäßig nicht zur Verfügung gestellt
1109 werden. Allerdings ist es möglich, Windows-Bitmap-Schriftarten in
1110 ein Format zu übersetzen, welches von XFree86 eingebunden werden
1111 kann. TrueType-Schriftarten können über spezielle
1112 TrueType-Fontserver, die mittlerweile in den meisten Distributionen
1113 enthalten sind, eingebunden werden. Falls eine Windows-Installation
1114 zur Verfügung steht, empfiehlt es sich im allgemeinen, die dort
1115 vorhandenen Schriftarten auch unter Linux einzubinden, damit unter
1116 WINE ausgeführte Windows-Anwendungen die erwarteten Schriftarten
1117 vorfinden. Wenn WINE ohne Windows-Schriftarten benutzt wird,
1118 versucht das Programm, die angeforderten Schriften durch die
1119 Schriften des X Window Systems zu ersetzen, wodurch sich
1120 Veränderungen im Erscheinungsbild der Anwendungen ergeben können.
1122 7.6.1 Einbinden von Bitmap-Schriften
1124 Windows Bitmap-Schriftarten befinden sich normalerweise im
1125 Unterverzeichnis fonts des Windows-Verzeichnisses und haben die
1126 Dateinamensendung .fon. Es ist aber auch möglich, dass sie in
1127 ausführbaren Dateien oder in Bibliotheken enthalten sind. Im
1128 Unterverzeichnis tools des Basisverzeichnisses mit dem
1129 WINE-Quellcode befindet sich das Programm fnt2bdf, mit dem die
1130 Fonts aus diesen Dateien extrahiert und in das Bitmap Distribution
1131 Format (.bdf) umgewandelt werden können. Dazu ist das Programm
1132 folgendermassen aufzurufen:
1134 fnt2bdf -o Basisname Schriftdatei
1136 Dabei ist für Schriftdatei der Name der Datei anzugeben, in der
1137 sich die zu extrahierenden Schriften befinden und für Basisname
1138 eine Bezeichnung, mit der die Namen der zu extrahierenden Dateien
1139 beginnen sollen. Es ist zu beachten, dass sich in der Regel in
1140 einer Windows-Schriftartendatei mehrere Schriftarten befinden, die
1141 in unterschiedliche Dateien extrahiert werden. Bei einigen
1142 Schriftarten ist es notwendig, dem Programm mitzuteilen, wie die
1143 Schriftarten kodiert sind. Hierzu ist die Option -c zu verwenden
1144 und dahinter die Bezeichnung der Kodierung anzugeben. Eine
1145 Übersicht über alle von dem Programm unterstützten Optionen wird
1146 ausgegeben, wenn es ohne Parameter aufgerufen wird. Um also
1147 beispielsweise die Bitmap-Schriften aus der Datei SERIFF.FON in
1148 Dateien zu extrahieren, deren Namen mit der Bezeichnung seriff
1149 beginnen, wäre das Programm so aufzurufen:
1151 fnt2bdf -o seriff SERIFF.FON
1153 Es werden dann eine Reihe von Dateien mit unterschiedlichen Fonts
1154 aus der Originaldatei erzeugt. Im nächsten Schritt sind diese
1155 Dateien mit dem Programm bdftopcf(1) in das so genannte Portable
1156 Compiled Format zu übersetzen. Dieses Programm sollte Bestandteil
1157 jeder X11-Installation sein und ist durch eine Manualseite
1158 dokumentiert. Um beispielsweise die Datei seriff_r400-23.bdf zu
1159 übersetzen und das Ergebnis in die Datei seriff_r400-23.pcf zu
1160 schreiben, könnte das Programm so aufgerufen werden:
1162 bdftopcf -o seriff_r400-23.pcf seriff_r400-23.bdf
1164 Die auf diese Weise erzeugten Dateien können nun in eines der, von
1165 dem X-Server oder einem Fontserver benutzten, Font-Verzeichnis
1166 kopiert werden. In diesem Verzeichnis ist danach der Befehl
1167 mkfontdir aufzurufen, damit der dort befindlich Fontindex neu
1168 erzeugt wird. Bevor die Schriften dann tatsächlich unter X zur
1169 Verfügung stehen und damit von WINE benutzt werden können, muss X
1170 neu gestartet oder der folgende Befehl an der Kommandozeile
1175 Im Unterverzeichnis tools des WINE-Quellcodeverzeichnisses befindet
1176 sich ein Shellskript mit dem Namen font_convert.sh, welches die
1177 oben genannten Schritte automatisch durchführt und alle unterhalb
1178 eines Verzeichnisses befindlichen Bitmap-Schriftarten automatisch
1179 konvertiert und installiert.
1181 7.6.2 Einbinden von TrueType-Schriften
1183 Wie bereits erwähnt, können die X-Server von XFree86 in der
1184 Versionsfamilie 3.x keine TrueType-Schriften darstellen. Seit
1185 XFree86 4.0 hat sich dies allerdings geändert, so dass solche
1186 Schriften zukünftig problemlos unter X - und damit auch mit WINE -
1187 zur Verfügung gestellt werden können. Leider können über das
1188 X-Font-Protokoll nicht alle von manchen Windows-Programmen
1189 benötigten Informationen über TrueType-Fonts dargestellt werden, so
1190 dass manche Windows-Programme auch dann noch nicht richtig
1191 funktionieren, wenn die benötigten Fonts zur Verfügung gestellt
1192 worden sind. Mit XFree86 3.x bietet sich der Einsatz eines
1193 TrueType-Fontservers an. Zur Zeit stehen drei unterschiedliche
1194 solcher Programme zur Verfügung, nämlich: xfs-xtt (Debian-Paket:
1195 xfs-xtt), xfstt (Debian-Paket xfstt) und xfsft (im Internet unter
1196 der Adresse http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
1199 Der Autor hat mit dem Programm xfsft die besten Ergebnisse erzielt.
1200 Dieser Server lässt sich leicht konfigurieren und ist kompatibel zu
1201 herkömmlichen Fontservern, so dass nicht zwei verschiedene
1202 Fontserver auf einem Rechner ausgeführt werden müssen. Dieses
1203 Programm diente auch als Grundlage für die Integration der
1204 TrueType-Unterstützung in XFree86 4.0.
1206 Um die von einem Fontserver zur Verfügung gestellten Schriften zu
1207 verwenden, muss dem X-Server die Adresse des Fontservers mitgeteilt
1208 werden. Dies kann entweder in der Datei /etc/X11/XF86Config oder
1209 durch Eingabe dieses Befehls geschehen:
1211 xset fp+ tcp/localhost:7100
1213 Dabei muss localhost u.U. gegen den Namen des Rechners ausgetauscht
1214 werden, auf dem der Fontserver ausgeführt werden und 7100 durch den
1215 Port, der vom Fontserver benutzt wird. Wenn der Fontserver auf dem
1216 selben Rechner ausgeführt wird wie der X-Server, dann können zur
1217 Kommunikation zwischen X-Server und Fontserver auch
1218 UNIX-Domain-Sockets benutzt werden. Der entsprechende Befehl könnte
1219 dann folgendermaßen aussehen:
1223 7.6.3 Font-Einstellungen in der WINEs Konfigurationsdatei
1225 In der Konfigurationsdatei .winerc bzw. wine.conf stehen die
1226 folgenden Variablen zur Verfügung, mit denen WINEs Umgang mit
1227 Schriftarten beeinflusst werden kann:
1230 Unter Windows können Programme die Größe eines zu
1231 verwendenden Fonts in Punkten (an Stelle von Pixeln)
1232 angeben. Damit die Schriftart dann in der richtigen Größe
1233 angezeigt werden kann, muss die tatsächliche Größe des
1234 Bildschirms bekannt sein, was unter X nicht unbedingt der
1235 Fall ist. Mit der Variable Resolution kann deswegen justiert
1236 werden, welche Schriftgrößen in solchen Fällen von WINE
1237 ausgewählt werden. Der Standardwert ist 96, sinnvolle Werte
1238 liegen zwischen 60 und 120. Beispiel: Resolution = 100.
1241 Mit dieser Variable wird angegeben, welche Schriftart WINE
1242 als Standard verwenden soll. Die dabei anzugebende
1243 Zeichenkette besteht aus der Herstellerbezeichnung der zu
1244 verwendenden Schriftart und ihrem Namen, diese Bezeichnungen
1245 werden durch ein Minuszeichen miteinander verbunden,
1246 außerdem muss sich zu Beginn und am Ende der Zeichenkette
1247 ein Minuszeichen befinden. Die unter X11 verfügbaren Fonts
1248 können beispielsweise mit den Programmen xfontsel(1) oder
1249 xlsfonts(1) ausgewählt werden.
1250 Beispiel: Default = -adobe-times-
1253 Hiermit wird festgelegt, welchen Font WINE als
1254 standardmäßige Schriftart mit gleichmäßiger Buchstabenbreite
1255 verwenden soll. Der Name der gewünschten Schrift ist wie
1256 bei der Variablen Default anzugeben. Beispiel:
1257 DefaultFixed = -sony-fixed-
1260 Hiermit wird festgelegt, welchen Font WINE als
1261 standardmäßige Schriftart mit Serifen verwenden
1262 soll. Beispiel: DefaultSerif = -adobe-times-
1265 Hiermit wird bestimmt, welchen Font WINE als standardmäßige
1266 Schriftart ohne Serifen verwenden soll. Beispiel:
1267 DefaultSansSerif = -adobe-helvetica-
1270 Wenn WINE das erste Mal gestartet wird, fragt es vom
1271 X-Server die Eigenschaften der verfügbaren Fonts ab. Weil
1272 diese Operation recht zeitaufwendig ist, wird das Ergebnis
1273 der Abfrage in einer Datei im Heimatverzeichnis des
1274 betreffenden Benutzers gespeichert. Die Abfrage braucht dann
1275 bei einem späteren Aufruf des Programms nur ausgeführt zu
1276 werden, falls sich die verfügbaren Fonts geändert haben. Mit
1277 dieser Variablen kann angegeben werden, in welcher Datei die
1278 Fontdaten zwischengespeichert werden sollen. Dadurch lässt
1279 sich beispielsweise vermeiden, dass die Abfrage für jeden
1280 Benutzer erneut ausgeführt werden muss. Beispiel:
1281 Fontmetric=/var/lib/WINE/font.cache.
1284 Wie weiter oben bereits angesprochen, kann es vorkommen,
1285 dass Windows-Anwendungen bestimmte Schriftarten benutzen
1286 wollen, die vom X-Server nicht zur Verfügung gestellt
1287 werden. Mit der Variable Alias können solchen Fontnamen
1288 anderen, unter X verfügbaren Schriftarten zugeordnet
1289 werden. Werte, die dieser Variablen zugeordnet werden,
1290 bestehen aus drei Elementen, die durch Kommata voneinander
1291 zu trennen sind. Das erste Element ist der Name der zu
1292 ersetzenden Schriftart, das zweite Element der Name der X
1293 Schriftart, in der Form, wie sie auch bei der Definition der
1294 Variablen Default anzugeben ist. Als drittes Element kann
1295 optional das Schlüsselwort subst angegeben werden. Dieses
1296 Schlüsselwort bewirkt, dass durch die Aliasdefinition eine
1297 bereits vorhandene Definition (die von WINE automatisch
1298 erstellt wurde) überschrieben wird. Weil es möglich ist,
1299 mehrere Alias-Definitionen vorzunehmen, muss der
1300 Variablenbezeichnung Alias jeweils eine Zahl nachgestellt
1301 werden, mit der angegeben wird, um die wievielte
1302 Alias-Definition es sich handelt. Dabei ist mit der Zahl
1303 Null zu beginnen, es darf keine Zahl ausgelassen
1304 werden. Beispiel: Alias0 = System, --international-, subst
1306 7.7 Konfiguration von Schnittstellen und Hardwarezugriff
1308 WINE kann Anwendungen den direkten Zugriff auf serielle und
1309 parallele Schnittstellen sowie auf weitere beliebige Ein- und
1310 Ausgabeadressen gestatten. Grundsätzlich ist dabei zu bedenken,
1311 dass der betreffende WINE-Prozess mit ausreichenden Privilegien
1312 ausgestattet sein muss, damit ein solcher Zugriff tatsächlich
1313 möglich wird. Wird WINE mit gewöhnlichen Benutzerrechten (und nicht
1314 mit den Privilegien des Administrators) ausgeführt, bedeutet dies
1315 in der Regel, dass die Zugriffsrechte auf die Gerätedateien, welche
1316 Geräte repräsentieren, auf die Windows-Programmen der Zugriff
1317 gestattet werden soll, überprüft werden müssen. Der direkte Zugriff
1318 auf Ein- und Ausgabeadressen ist unter Linux ausschließlich dem
1319 Administrator gestattet.
1321 Zur Konfiguration der seriellen Schnittstellen dient der Abschnitt
1322 [serialports] in der Konfigurationsdatei. Die einzelnen Variablen in
1323 diesem Abschnitt bezeichnen die seriellen Schnittstellen so wie es
1324 unter DOS und Windows üblich ist (Com1, Com2 usw.). Als Wert wird
1325 diesen Variablen der Name der Gerätedatei übergeben, welche die
1326 entsprechende Schnittstelle unter Linux repräsentiert. Falls also
1327 Windows-Anwendungen unter WINE über die Schnittstelle Com1 auf das
1328 Gerät zugreifen sollen, dass unter Linux durch die Gerätedatei
1329 /dev/ttyS0 repräsentiert wird, so muss in der Konfigurationsdatei
1330 der folgende Abschnitt zu finden sein:
1336 Die Konfiguration paralleler Schnittstellen erfolgt analog zur
1337 Konfiguration serieller. Der Name des entsprechenden Abschnitts
1338 lautet [parallelports] und die Namen paralleler Schnittstellen
1339 unter DOS und Windows lauten Lpt1, lpt2 usw. Wenn also von
1340 Windows-Programmen unter WINE über den Namen Lpt1 auf die parallele
1341 Schnittstelle zugegriffen werden soll, welche unter Linux durch die
1342 Gerätedatei /dev/lp0 repräsentiert wird, so wäre in die
1343 Konfigurationsdatei dieser Abschnitt aufzunehmen.
1348 Um den Zugriff auf bestimmte Ein- und Ausgageadressen zu ermöglichen
1349 sind die gewünschten Adressen in hexadezimaler Schreibweise im
1350 Abschnitt [ports] anzugeben. Als Adressen lassen sich entweder
1351 einzelne Adressen (Beispiel: 0x779) oder Adressbereiche angeben. Bei
1352 Adressbereichen werden die untere und obere Adresse des gewünschten
1353 Bereichs, verbunden durch einen Bindestrich angegeben (Beispiel:
1354 0x280-0x2a0). Wenn mehrere Adressen oder Adressbereiche konfiguriert
1355 werden sollen, sind diese hintereinander - durch Kommata getrennt -
1356 anzugeben. Adressen, von denen gelesen werden soll, sind der Variablen
1357 read zuzuordnen und solche, auf die geschrieben werden soll, der
1358 Variablen write. Falls auf eine bestimmte Adresse sowohl lesend als
1359 auch schreibend zugegriffen werden soll, ist sie beiden Variablen
1360 zuzuordnen. Beispiel:
1363 read=0x378,0x379,0x220-0x2a0
1364 write=0x379,0x220-0x2a0
1367 7.7.1 Zugriff auf SCSI-Geräte
1369 WINE ermöglicht auch den direkten Zugriff auf SCSI-Geräte (über die
1370 ASPI-Schnittstelle). Hierzu sind keine speziellen Angaben in der
1371 Konfiguration notwendig, allerdings muss der Kernel des Systems so
1372 konfiguriert worden sein, dass er die Unterstützung für generischen
1373 SCSI-Zugriff enthält. Außerdem müssen die Gerätedateien, welche die
1374 generischen SCSI-Geräte repräsentieren (normalerweise /dev/sg0,
1375 /dev/sg1 usw.) mit ausreichenden Rechten für den Zugriff
1378 7.8 Konfiguration der Windows-Systemregistratur
1380 Windows-Betriebssysteme stellen eine Datenbank zur Verfügung, in
1381 der Programme u.a. Konfigurationsdaten ablegen und später wieder
1382 auslesen können. Diese so genannte Registratur wird von WINE
1383 ebenfalls bereitgestellt. WINE ist ferner in der Lage, die
1384 Registratur einer bestehenden Windows-Installation zu importieren,
1385 damit den mit WINE ausgeführten Programmen alle Daten zur Verfügung
1386 stehen, die auch unter Windows verfügbar sind. Dies ist
1387 insbesondere dann von Bedeutung, wenn Programme unter Windows
1388 installiert worden sind und unter WINE ausgeführt werden. Es ist zu
1389 beachten, dass WINE die Registratur einer bestehenden
1390 Windows-Installation niemals verändert. Falls Programme also unter
1391 WINE Daten in die Registratur schreiben, stehen diese unter Windows
1392 nicht zur Verfügung. WINE speichert die Registratur vielmehr in
1393 eigenen Dateien, welche sich üblicherweise unterhalb des
1394 Heimatverzeichnisses des betreffenden Benutzers befinden. Neben den
1395 benutzerspezifischen Registraturdaten können vom Administrator
1396 systemweit gültige Dateien bereit gestellt werden. Diese befinden
1397 sich üblicherweise in dem gleichen Verzeichnis wie die systemweit
1398 gültige Konfigurationsdatei, also in /etc oder in /usr/local/etc,
1399 wenn WINE mit den Standardeinstellungen übersetzt wurde. Im
1400 Abschnitt [registry] der Konfigurationsdatei stehen die folgenden
1401 Variablen zur Verfügung, mit denen u.a. bestimmt werden kann, ob
1402 eine bestehenden Registratur importiert werden soll und wo WINE die
1403 eigene Registratur ablegen soll.
1405 LoadGlobalRegistryFiles
1406 Wenn diese Variable auf den Wert true gesetzt ist, liest
1407 WINE die systemweit gültigen Registraturdaten ein. Dies ist
1408 die Standardeinstellung. Beispiel: LoadGlobalRegistryFiles =
1411 LoadHomeRegistryFiles
1412 Wenn diese Variable auf den Wert true gesetzt ist, liest
1413 WINE die Registraturdaten aus dem Verzeichnis .wine im
1414 Heimatverzeichnis des aufrufenden Benutzers ein. Die
1415 Registraturdaten des Benutzers werden nach den systemweit
1416 gültigen Daten geladen, so dass Benutzer die
1417 Voreinstellungen aus der globalen Registratur mit eigenen
1418 Werten überschreiben können. Beispiel:
1419 LoadHomeRegistryFiles = true
1421 LoadWindowsRegistryFiles
1422 Mit dieser Variablen wird bestimmt, ob die Registratur einer
1423 bestehenden Windows-Installation geladen werden soll. Wenn
1424 die Variable auf den Wert true gesetzt ist, stellt WINE
1425 selbstständig fest, um welche Version von Windows es sich
1426 bei der bestehenden Installation handelt und liest die
1427 Registraturdaten der Installation ein, Es ist zu beachten,
1428 dass dies nur funktioniert, wenn das Windows- und das
1429 Systemverzeichnis im allgemeinen Teil der
1430 Konfigurationsdatei richtig angegeben worden sind und der
1431 bestehenden Installation entsprechen. Außerdem ist es
1432 u.U. notwendig, die Variable Profile im allgemeinen Teil
1433 richtig zu setzen. Beispiel: LoadWindowsRegistryFiles = true.
1435 WriteToHomeRegistryFiles
1436 Wird diese Variable auf den Wert true gesetzt, versucht WINE
1437 alle Änderungen, die während der Laufzeit von WINE an der
1438 Registratur vorgenommen werden in die Registraturdateien im
1439 Verzeichnis .wine des aufrufenden Benutzers zu
1440 schreiben. Dies ist in der Regel notwendig, damit
1441 Windows-Programme (insbesondere Installationsprogramme)
1442 Änderungen an der Konfiguration abspeichern
1443 können. Beispiel: WriteToHomeRegistryFiles = true.
1446 Wenn Veränderungen an der Registratur von WINE gespeichert
1447 werden sollen, geschieht dies normalerweise automatisch,
1448 während WINE beendet wird. Allerdings werden die Änderungen
1449 dann nicht gespeichert, wenn WINE aufgrund eines Fehlers
1450 nicht korrekt beendet werden kann. Deswegen ist es möglich,
1451 mit dieser Variablen anzugeben, in welchem Zeitintervall das
1452 Programm die Registratur automatisch sichern soll. Die
1453 dieser Variablen übergebene Zahl wird als Zeitintervall in
1454 Sekunden interpretiert. Damit die Registratur also
1455 beispielsweise alle 10 Minuten automatisch abgespeichert
1456 wird, wäre diese Variable so zu setzen: PeriodicSave = 600.
1459 Mit dieser Variablen kann bestimmt werden, ob WINE lediglich
1460 solche Teile der Registratur sichern soll, die sich während
1461 der Laufzeit verändert haben oder ob immer die gesamte
1462 Registratur gespeichert werden soll. Das folgende Beispiel
1463 speichert die Registratur komplett:
1464 SaveOnlyUpdatedKeys=false.
1467 Weil das Importieren einer großen Windows-Registratur ein relativ
1468 zeitaufwendiger Vorgang ist, empfiehlt es sich, die
1469 Windows-Registratur nur beim ersten Start von WINE zu importieren
1470 (LoadWindowsRegistryFiles=true) und diese dann komplett von WINE
1471 speichern zu lassen (SaveOnleUpdatedKeys=false). Danach liegt die
1472 Registratur vollständig in WINEs eigenem Format vor, so dass bei
1473 späteren Starts von WINE auf den Import der Windows-Registratur
1474 verzichtet werden kann (LoadWindowsRegistryFiles=false).
1476 7.9 Einstellung des Look and Feel
1478 Im Abschnitt Tweak.Layout der Registratur lässt sich durch die
1479 Variable WINELook bestimmen, welches Look and Feel von Windows
1480 durch WINE nachempfunden werden soll. Der Wert Win31 bewirkt, dass
1481 WINE alle Fensterelemente in dem Erscheinungsbild erzeugt, wie es
1482 von Windows 3.11 bekannt ist. Analog dazu bewirken die Werte Win95
1483 und Win98 ein moderneres Erscheinungsbild. Beispiel:
1489 7.10 Konfiguration der Windows-Console
1491 Im Gegensatz 16-Bit-Windows-Versionen ist es mit dem Win32 API wie
1492 unter UNIX möglich, Programme für den Textmodus zu erstellen, die
1493 unter Windows normalerweise in einem so genannten "MS-DOS-Fenster"
1494 ausgeführt werden (obwohl diese Programme nicht viel mit MS-DOS zu
1495 tun haben). Unter WINE verwenden solche Programme standardmäßig die
1496 Standardeingabe und -Ausgabe des Terminals, von dem aus WINE
1497 gestartet wurde. Im Abschnitt [Console] der Konfigurationsdatei ist
1498 es möglich die Eigenschaften der Konsole für Windows-Programme
1502 Hermit wird festgelegt, wie die Konsole zur Verfügung
1503 gestellt werden soll. WINE kann dazu das mit dem
1504 WINE-Prozess verbundene Terminal verwenden oder für jedes
1505 Windows-Programm, welches eine neue Konsole anfordert ein
1506 neues Terminalfenster (wie z.B. xterm) starten. Im
1507 allgemeinen ist es zu empfehlen, für jede Konsole ein
1508 eigenes Terminalfenster zu verwenden, weil es zu
1509 unerwünschten Nebeneffekten kommen kann, wenn verschiedene
1510 Windows-Prozesse und WINE selbst das selbe Terminal
1511 verwenden. Es ist ferner möglich, die ncurses-Bibliothek zu
1512 benutzen, um bestimmte Eigenschaften, wie die Darstellung
1513 unterschiedlicher Farben, zu benutzen. Der Variablen Drivers
1514 kann zur Zeit eine Kombination aus den folgenden
1515 Schlüsselwörtern übergeben werden: tty, xterm und
1516 ncurses. Wenn mehrere diese Schlüsselwörter benutzt werden,
1517 sind diese durch das Plus-Zeichen voneinander zu
1518 trennen. Die Angabe tty bewirkt, dass WINE das Terminal für
1519 die Konsole verwendet, mit welchem der WINE-Prozess
1520 verbunden ist. Durch die Angabe xterm wird ein neues
1521 Terminalfenster geöffnet, wenn ein Windows-Programm eine
1522 neue Konsole anfordert. Die Angabe ncurses bewirkt, dass die
1523 ncurses-Bibliothek benutzt wird. Dies funktioniert nur, wenn
1524 die Unterstützung dafür beim Übersetzen des Programms
1525 aktiviert wurde. Beispiel: Drivers=ncurses+xterm
1528 Hiermit lässt sich angeben, welches Programm aufgerufen
1529 werden soll, um die Konsole in einem eigenen Fenster
1530 darzustellen (z.B. bei Drivers=xterm). Es lassen sich alle
1531 Terminalemulationsprogramme verwenden, welche die von xterm
1532 her bekannten Kommandozeilenargumente verstehen. Beispiel:
1536 Mit der Variablen wird angegeben, wieviele Zeilen die
1537 Konsole nach ihrem Start haben soll. Beispiel:
1541 Mit der Variablen wird angegeben, wieviele Spalten die
1542 Konsole nach ihrem Start haben soll. Beispiel:
1546 Hiermit lässt sich festlegen, von welchem Terminaltyp die
1547 ncurses-Bibliothek ausgehen soll. Typische Werte sind xterm
1550 7.11 Die Zwischenablage
1552 Das Konzept der Zwischenablage unterscheidet sich zwischen Windows
1553 und dem X Window System etwas. Um beispielsweise einen Text in die
1554 Zwischenablage zu stellen, wird dieser unter Windows normalerweise
1555 zunächst markiert und dann über einen Menübefehl in die
1556 Zwischenablage kopiert oder verschoben. Unter X stehen mindestens
1557 zwei Typen von Zwischenablage zur Verfügung. Nachdem ein Text dort
1558 markiert worden ist, steht er als so genannte primäre Auswahl zur
1559 Verfügung; er kann dann sofort in andere Anwendungen eingefügt
1560 werden (etwa durch Betätigung der mittleren Maustaste). Die
1561 Zwischenablage ist eine weitere Auswahl in die Texte oder andere
1562 Daten von vielen X-Anwendungen aus kopiert und von dort aus wieder
1563 eingefügt werden können. Im Abschnitt [clipboard] der
1564 Konfigurationsdatei lässt sich bestimmen, wie die
1565 Windows-Zwischenablage mit der Zwischenablage des X Window Systems
1569 Wenn diese Variable auf true gesetzt ist, wird der Inhalt
1570 der Windows-Zwischenablage gelöscht und durch den Inhalt der
1571 Zwischenablage des X Window Systems ersetzt, falls in einer
1572 anderen X Anwendung etwas in die primäre Auswahl gestellt
1573 wird. Wird bei Verwendung dieser Einstellung also zunächst
1574 etwas mit einem Windows-Programm in die Zwischenablage
1575 gestellt und danach mit der Maus ein Text in einer X
1576 Anwendung markiert, so geht der ursprüngliche Inhalt der
1577 Windows-Zwischenablage verloren und es steht dort der mit
1578 der Maus markierte Text zur Verfügung. Falls die Variable
1579 auf false gesetzt ist, bleibt der Inhalt der Zwischenablage
1580 durch die Veränderung der primären Auswahl unberührt. Um
1581 dann beispielsweise einen Text von XEmacs nach Word zu
1582 kopieren, reicht es nicht aus, den Text in XEmacs zu
1583 markieren, sondern er muss dort explizit in die
1584 Zwischenablage kopiert werden, falls sich dort vorher eine
1585 Auswahl befand, die von einer Windows-Anwendung aus
1586 vorgenommen wurde. Beispiel: ClearAllSelections=true
1589 Nachdem WINE beendet worden ist, kann der Inhalt der
1590 Zwischenablage anderen X Programmen normalerweise nicht mehr
1591 zur Verfügung gestellt werden. Wenn diese Variable auf true
1592 gesetzt ist, startet WINE deswegen ein kleines
1593 Hintergrundprogramm (wineclipsrv) welches den Inhalt der
1594 Zwischenablage so lange verfügbar hält, bis dieser durch ein
1595 anderes Programm ersetzt wird und sich dann
1596 beendet. Beispiel: PersistantSelection=true
1598 7.12 Konfiguration des PostScript-Druckertreibers
1600 WINE kann zwei Typen von Druckertreibern verwenden, nämlich echte
1601 16bit Windows-Druckertreiber, wie Sie von Windows 3.11 oder Windows
1602 95/98 benutzt werden oder einen eigenen PostScript- Druckertreiber,
1603 mit dem sich aus den meisten Windows-Anwendungen heraus im
1604 PostScript-Format drucken lässt. Diese PostScript-Ausgabe kann dann
1605 über die Spooler-Software des Systems (normalerweise lpr/lpd) auf
1606 einen direkt angeschlossenen oder fernen Drucker ausgegeben werden.
1608 Hinweise zur Verwendung von 16bit Windows-Druckertreiber finden
1609 sich u.a. in der Datei printing im Unterverzeichnis documentation
1610 des WINE-Quellcodeverzeichnisses. Im folgenden soll lediglich auf
1611 die Konfiguration des eingebauten PostScript-Druckertreibers
1614 Zunächst ist das Vorhandensein des Druckertreibers anzumelden. Dazu
1615 sind in der Datei win.ini im Windows-Verzeichnis die folgenden
1616 Änderungen vorzunehmen:
1619 device=WINE PostScript Driver,WINEPS,LPT1:
1622 WINE PostScript Driver=WINEPS,LPT1:
1624 Falls Sie WINE ohne eine bestehende Windows-Installation verwenden,
1625 kann es sein, dass die Datei win.ini noch nicht existiert. In
1626 diesem Fall kann die Datei neu angelegt und die oben gezeigten
1627 Zeilen dort eingetragen werden. Falls die Datei bereits vorhanden
1628 ist, müssen die Abschnitte [devices] und [windows] in der Datei
1629 lokalisiert und um die oben gezeigten Zeilen ergänzt
1630 werden. Keinesfalls sollten die Abschnitte devices oder windows
1631 mehrmals in der Datei vorhanden sein.
1633 Damit auch von 32bit Programmen aus gedruckt werden kann, ist es
1634 notwendig, einige Einträge in der Registratur vorzunehmen. Diese
1635 Einträge sind in der Datei psdrv.reg im Unterverzeichnis
1636 documentation des WINE-Quellcodeverzeichnisses vorhanden und lassen
1637 sich mit dem Programm regapi, welches sich im Unterverzeichnis
1638 programs/regapi des Quellcodeverzeichnisses befindet,
1639 importieren. Falls noch nicht geschehen ist regapi dazu zunächst zu
1640 übersetzen. Zu diesem Zweck ist in das Verzeichnis programs/regapi
1641 zu wechseln und dort der Befehl make einzugeben. (Dies setzt
1642 voraus, dass WINE bereits erfolgreich übersetzt wurde) Danach
1643 können die erforderlichen Schlüssel durch die Eingabe des folgenden
1644 Befehls importiert werden:
1646 ./regapi setValue < ../../documentation/psdrv.reg
1649 Bei dem Programm regapi handelt es sich um ein so genanntes
1650 WineLib-Programm. Solche Programme benutzen WINE, um
1651 Windows-spezifische Funktionen verwenden zu können. Damit sie
1652 ausgeführt werden können, muss bereits eine funktionsfähige
1653 WINE-Konfiguration vorhanden sein. Dieser Schritt sollte also nicht
1654 durchgeführt werden, bevor die Erstellung der Konfigurationsdatei
1655 abgeschlossen und die Funktionsfähigkeit von WINE getestet worden
1658 Weiter wird eine so genannte PPD-Datei benötigt. Eine solche Datei
1659 beschreibt verschiedene Eigenschaften des Druckers und wird
1660 benötigt, damit WINE beispielsweise entscheiden kann, ob in Farbe
1661 oder in Schwarz-Weiß gedruckt werden kann. Wenn kein
1662 PostScript-fähiger Drucker benutzt wird, dann benötigt man eine
1663 PPD-Datei, welche die Eigenschaften des ghostscript-Treibers für
1664 den eingesetzten Drucker beschreibt, weil dieses Programm in der
1665 Regel zur Umwandlung von PostScript in das Druckerformat benutzt
1666 wird. Mit Debian stehen solche Dateien in dem Paket ppd-gs zur
1667 Verfügung. Wird dieses Paket benutzt, sollte vorher die Datei
1668 /usr/doc/ppd-gs/README gelesen werden.
1670 Eine Reihe von PPD-Dateien stehen unter der Adresse
1671 ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/ppdfiles/ zur
1672 Verfügung. In dem Verzeichnis befinden sich selbstauspackende
1673 ZIP-Archive, die PPD-Dateien für Drucker verschiedener Hersteller
1674 enthalten. Diese Archive können mit dem Programm unzip(1) entpackt
1675 werden. Um beispielsweise die Datei hp.exe auszupacken, wäre
1676 folgender Befehl einzugeben:
1680 Danach ist die gewünschte PPD-Datei auszuwählen, hierbei muss
1681 u.U. ein wenig experimentiert werden, um optimale Ergebnisse zu
1682 erzielen. Die Datei kann dann beispielsweise in das Verzeichnis
1683 /usr/local/etc/ kopiert werden und muss WINE durch den folgenden
1684 Eintrag in der Konfigurationsdatei bekannt gemacht werden:
1687 ppdfile=/usr/local/etc/HP4M3_V1.PPD
1689 Falls sich die Datei in einem anderen Verzeichnis befindet oder
1690 einen anderen Namen trägt, ist der Wert für die Variable ppdfile
1691 natürlich entsprechend anzupassen.
1693 Schließlich benötigt WINE die Fontmetric-Dateien der Schriftarten,
1694 die auf dem Drucker (oder mit ghostscript) zur Verfügung
1695 stehen. Eine Reihe solcher Fontmetric-Dateien lassen sich unter
1696 Debian beispielsweise mit dem Paket tetex-extra installieren. Sie
1697 befinden sich nach der Installation unterhalb des Verzeichnisses
1698 /usr/share/texmf/fonts/afm. Sie haben normalerweise die
1699 Dateinamensendung .afm (Adobe FontMetric). Die zu verwendenden
1700 Dateien sind im Abschnitt [afmfiles] der Konfigurationsdatei
1701 anzugeben. Der Name jeder Datei ist dabei einer Variablen
1702 zuzuordnen, deren Name sich aus der Zeichenkette file und einer
1703 fortlaufenden Ziffer zusammensetzt. Bei der Auswahl der
1704 AFM-Dateien ist zu beachten, dass nur die Dateien angegeben werden
1705 brauchen, für die der entsprechende Font tatsächlich in der vorher
1706 definierten PPD-Datei genannt wurde. Die Bezeichnungen der Fonts
1707 befinden sich normalerweise in den Fontmetric-Dateien, die mit
1708 einem Texteditor betrachtet werden können. Der Anfang des
1709 entsprechenden Abschnitts in der Konfigurationsdatei könnte
1710 beispielsweise folgendermaßen aussehen:
1713 file1=/usr/share/texmf/fonts/afm/adobe/times/ptmb8a.afm
1714 file2=/usr/share/texmf/fonts/afm/adobe/times/ptmbi8a.afm
1715 file3=/usr/share/texmf/fonts/afm/adobe/times/ptmr8a.afm
1716 file4=/usr/share/texmf/fonts/afm/adobe/times/ptmri8a.afm
1717 file5=/usr/share/texmf/fonts/afm/adobe/helvetic/phvbo8an.afm
1718 file6=/usr/share/texmf/fonts/afm/adobe/helvetic/phvb8a.afm
1719 file7=/usr/share/texmf/fonts/afm/adobe/helvetic/phvb8an.afm
1720 file8=/usr/share/texmf/fonts/afm/adobe/helvetic/phvbo8a.afm
1721 file9=/usr/share/texmf/fonts/afm/adobe/helvetic/phvro8an.afm
1722 file10=/usr/share/texmf/fonts/afm/adobe/helvetic/phvr8a.afm
1723 file11=/usr/share/texmf/fonts/afm/adobe/helvetic/phvr8an.afm
1724 file12=/usr/share/texmf/fonts/afm/adobe/helvetic/phvro8a.afm
1726 Auch hier sind die Dateinamen natürlich an die tatsächlich
1727 benutzten Fontmetric-Dateien anzupassen. Der Druckertreiber sollte
1728 dann als WINE PostScriptDriver in den Druckdialogen der
1729 Windows-Anwendungen zur Verfügung stehen.
1731 7.13 Konfiguration des Spoolers
1733 Standardmäßig werden Druckdaten in eine Datei im aktuellen
1734 Arbeitsverzeichnis ausgegeben, deren Name der Bezeichnung des
1735 Druckeranschlusses unter Windows, auf den gedruckt wurde, entspricht.
1736 Im Abschnitt [spooler] der Konfigurationsdatei lässt sich die Ausgabe in
1737 eine andere Datei umlenken oder an ein anderes Programm weiterleiten.
1738 Dazu ist in dem Abschnitt der Name des Anschlusses als
1739 Variablenbezeichnung anzugeben (Beispiel: LPT1:) und dieser Variable
1740 der Name der Datei zu übergeben, in welche die Druckausgabe gelenkt
1741 werden soll. Um die Ausgabe an die Standardeingabe eines Programms zu
1742 übergeben, ist der Name des gewünschten Programms hinter dem
1743 Pipe-Zeichen (|) anzugeben.
1745 Wenn also beispielsweise die Ausgabe auf den Anschluss LPT1: an das
1746 Programm lpr übergeben werden soll, um sie dem Spooler zuzuführen,
1747 wäre in die Konfigurationsdatei folgender Abschnitt aufzunehmen:
1753 7.14 Multimedia Konfiguration
1755 Die Multimedia-Architektur unter Windows besteht aus verschiedenen
1756 Typen von Treibern und Schnittstellen, die von Windows-Programmen
1757 benutzt werden können. Diese Architektur wird von WINE
1758 nachgebildet, wobei unterschiedliche Bestandteile mehr oder weniger
1759 vollständig vorhanden sind. Eine ausführliche Beschreibung der
1760 Multimedia-Architektur von WINE befindet sich in der Datei
1761 multimedia um Unterverzeichnis documentation/status des
1764 WINE stellt einen eigenen Treiber zur Ansteuerung der Soundhardware
1765 zur Verfügung. Diese Ansteuerung geschieht über die Gerätedateien
1766 /dev/dsp, /dev/audio, /dev/mixer usw. Deswegen muss darauf geachtet
1767 werden, dass Schreib und Leseberechtigung für diese Dateien
1768 besteht, falls die Soundunterstützung von WINE benutzt werden
1769 soll. Der Treiber setzt auf die OSS- (Open SoundSystem) Treiber
1770 auf, die standardmäßig Bestandteil des Linux-Kernels sind.
1772 Bis auf die Bibliotheken winmm und mmsystem lassen sich alle
1773 anderen Komponenten des Multimediasystems auch aus einer
1774 bestehenden Windows-Installation verwenden. Dies ist vor allem bei
1775 einigen MCI-Treibern hilfreich, die in WINE noch nicht vollständig
1776 implementiert sind. MCI-Treiber werden geladen, wenn im Abschnitt
1777 [mci] der Datei system.ini im Windows-Verzeichnis Anweisungen in der
1778 folgenden Form stehen:
1782 sequencer=mciseq.drv
1784 Bei Verwendung einer bestehenden Windows-Installation sollten sich
1785 die entsprechenden Anweisungen dort bereits befinden. Wird ohne
1786 eine bestehende Windows-Installation gearbeitet, kann die Datei
1787 system.ini im Unterverzeichnis documentation/samples des
1788 WINE-Quellcodeverzeichnisses als Vorlage dienen. Durch die Variable
1789 mci im Abschnitt [options] der Konfigurationsdatei von WINE lassen
1790 sich die Definitionen aus der Datei system.ini überschreiben. Das
1791 ist sinnvoll, um bestimmte Treiber nicht zu laden, die in der Datei
1792 system.ini angegeben sind, weil diese Treiber mit WINE nicht
1793 richtig funktionieren. Dies ist zur Zeit mit dem MCI-Treiber
1794 videodisk der Fall. Um alle MCI-Treiber (bis auf videodisk) zu
1795 laden, könnte in die Konfigurationsdatei der also der folgende
1796 Abschnitt aufgenommen werden:
1799 mci=CDAUDIO:SEQUENCER:WAVEAUDIO:AVIVIDEO:MPEGVIDEO
1801 Ob ein Treiber aus einer bestehenden Windows-Installation geladen
1802 oder der von WINE zur Verfügung gestellte Treiber benutzt werden
1803 soll, kann wie bei Bibliotheken im Abschnitt DllOverrides der
1804 Konfigurationsdatei festgelegt werden, wie es weiter oben
1805 beschrieben wurde. Dabei ist zu beachten, dass die
1806 Dateinamensendung .drv bei Treibern - im Gegensatz zu Bibliotheken
1807 - mit anzugeben ist. Um beispielsweise die MCI-Treiber mciavi und
1808 mcianim aus einer bestehenden Installation zu laden und die übrigen
1809 Treiber von WINE zu verwenden, wären dem Abschnitt [DllOverrides]
1810 die folgenden Zeilen zuzufügen:
1812 mciavi.drv, mcianim.drv = native, builtin
1813 mcicda.drv, mciseq.drv = builtin, native
1814 msacm.drv, midimap.drv = builtin, native
1815 mciwave.drv = builtin, native
1818 7.15 Einrichten der Registratur
1820 Eine Reihe von Windows-Programmen und WINE selbst benötigen
1821 bestimmte Einträge in der Registratur, damit sie richtig
1822 funktionieren. Wenn WINE ohne eine bestehende Windows-Installation
1823 benutzt wird oder die Windows-Registratur nicht importiert werden
1824 soll, sind diese Einträge noch nicht vorhanden und müssen mit dem
1825 weiter oben bereits erwähnten Programm regapi importiert
1826 werden. Als Vorlage kann dazu die Datei winedefault.reg im
1827 Quellcodeverzeichnis von WINE dienen. Die Datei sollte jedoch
1828 daraufhin überprüft werden, ob alle dort angegebenen
1829 Laufwerksbuchstaben und Pfade stimmen, bevor sie importiert wird.
1830 Außerdem sollte in der Konfigurationsdatei natürlich festgelegt
1831 sein, dass die Registratur bei Beendigung des Programms gespeichert
1832 wird, damit die importierten Daten auch beim nächsten Aufruf von
1833 WINE zur Verfügung stehen. Danach kann in das Unterverzeichnis
1834 programs/regapi des Quellcodeverzeichnisses gewechselt werden. Dort
1835 ist das Programm zunächst durch Eingabe des Befehls make zu
1836 erstellen, falls dies noch nicht geschehen ist. Danach können die
1837 erforderlichen Daten mit dem folgenden Befehl importiert werden:
1839 ./regapi setValue ../../WINEdefault.reg
1841 8 Aufruf von WINE und Kommandozeilenoptionen
1843 WINE lässt sich wie jedes andere Programm von der Kommandozeile aus
1844 aufrufen. Der Name des auszuführenden Windows-Programms ist WINE
1845 dabei an der Kommandozeile angeben. Programme, die sich in einem
1846 Verzeichnis befinden, das in der Variablen Path im Abschnitt WINE
1847 der Konfigurationsdatei aufgeführt ist, können dabei ohne Angabe
1848 des Pfadnamens aufgerufen werden. Die Angabe der Dateinamensendung
1849 .exe ist optional. Falls WINE also gestartet und das
1850 Windows-Programm winmine (Minesweeper) geladen werden soll, wäre
1851 der folgende Befehl einzugeben, vorausgesetzt, die Datei
1852 winmine.exe würde sich in einem Verzeichnis befinden, welches in
1853 der Variablen Path aufgeführt ist.
1857 Sollen Programme gestartet werden, die sich in Verzeichnissen
1858 befinden, welche nicht in der Variablen Path befinden, ist es
1859 erforderlich, den Pfadnamen mit anzugeben. Hier kann entweder der
1860 DOS-/Windows-Pfadname oder der UNIX-Pfadname benutzt werden. Die
1861 beiden folgenden Befehle würden also das gleiche bewirken, falls
1862 das Laufwerk C: dem UNIX-Verzeichnis /var/winroot zugeordnet wäre.
1864 wine c:\\windows\\winmine.exe
1865 wine /var/winroot/windows/winmine.exe
1867 Der Rückwärts-Schrägstrich hat für die Shell Bash eine besondere
1868 Bedeutung und wird deswegen normalerweise nicht an WINE
1869 übergeben. Durch die doppelte Angabe dieses Zeichens wird bewirkt,
1870 dass ein einfacher Schrägstrich übergeben wird. Datei- und
1871 Verzeichnisnamen enthalten unter Windows gelegentlich
1872 Leerzeichen. Auch hier ist es notwendig einen Trick anzuwenden,
1873 damit die Leerzeichen nicht dazu führen, dass die Shell die
1874 einzelnen Teile der Namen in verschiedenen Argumente zerlegt. Der
1875 folgende Befehl würde beispielsweise nicht zum gewünschten Ergebnis
1878 WINE /var/winroot/Programme/Microsoft Games/RoA Trial Version/PACDEMO.EXE
1880 Hier würde die Shell WINE vier Argumente übergeben, nämlich
1881 /var/winroot/Programme/Microsoft, Games/RoA, Trial und
1882 Version/PACDEMO.EXE, woraufhin das zu startende Programm nicht mehr
1883 gefunden werden würde. Damit die Shell bei Leerzeichen keine
1884 Trennung durchführt, ist den betreffenden Leerzeichen ebenfalls ein
1885 rückwärtsgerichteter Schrägstrich voranzustellen:
1887 WINE /var/winroot/Programme/Microsoft\ Games/RoA\ Trial\ Version/PACDEMO.EXE
1889 Argumente, die den zu startenden Windows-Programmen übergeben
1890 werden sollen, sind dem Programmnamen, getrennt durch Leerzeichen,
1891 nachzustellen. Um beispielsweise das Programm notepad.exe zu
1892 starten und diesem Programm das Argument readme.1st zu übergeben,
1893 wäre WINE so aufzurufen:
1895 wine notepad readme.1st
1897 Wenn mehrere Windows-Programme hintereinander gestartet werden sollen,
1898 muss WINE mehrmals hintereinander mit den entsprechenden Programmnamen
1899 als Argument aufgerufen werden.
1901 8.1 Kommandozeilenoptionen
1903 Neben den Namen der zu startenden Programme versteht WINE eine Reihe
1904 von Optionen, mit denen die Operation des Programms global beeinflusst
1905 werden kann. Diese Optionen werden direkt von WINE interpretiert
1906 und nicht an das aufzurufende Windows-Programm übergeben.
1909 Standardmäßig laufen Windows-Programme mit WINE unabhängig
1910 vom eingesetzten Windows-Manager. Dies kann zu Problemen bei
1911 der gleichzeitigen Verwendung normaler X Programme und von
1912 Windows-Programmen führen. Durch Verwendung der Option
1913 --managed werden auch Windows-Programme vom Window-Manager
1914 verwaltet, sie erhalten dann die gleichen Verzierungen wie
1915 normale X Programme (siehe auch Abschnitt 7.5)
1917 --desktop BreitexHöhe
1918 Mit diesem Parameter werden alle Fenster von
1919 Windows-Programmen in einem eigenen Fenster dargestellt. Die
1920 Größe dieses Fensters wird in Bildpunkten mit Breite und
1921 Höhe angegeben. Beispiel: --desktop 800x600. Dieser Modus
1922 wird für die Verwendung solcher Programme benötigt, die den
1923 Bildschirm selbst komplett verwalten wollen, wie es
1924 z.B. beim Windows-Explorer der Fall ist. Der Modus ist auch
1925 erforderlich, um WINE mit den Bibliotheken user und user32
1926 aus einer bestehenden Windows-Installation zu verwenden.
1929 Hiermit kann WINE angewiesen werden, eine andere
1930 Konfigurationsdatei zu verwenden.
1932 --display Displaybezeichnung
1933 Wie alle X-Programme verwendet WINE normalerweise den
1934 X-Server, der mit der Umgebungsvariablen DISPLAY angegeben
1935 ist. Um einen anderen Server zu verwenden, ist diese Option
1936 zu benutzen. Beispiel: --display workstation:0.
1939 Viele Windows-Programme funktionieren nur mit bestimmten
1940 Versionen von Windows oder verhalten sich unterschiedlich,
1941 je nachdem mit welcher Version von Windows sie ausgeführt
1942 werden. Dieser Parameter dient dazu, WINE anzuweisen, als
1943 welche Windows-Version es sich ausgeben soll, wenn Programme
1944 dies erfragen. Standardmäßig versucht WINE selbst
1945 herauszufinden, welche Version von einem bestimmten Programm
1946 erwartet wird. Mit Version kann folgendes angegeben werden:
1947 win31 (Windows 3.1), win95 (Windows 95), win98 (Windows 98),
1948 nt351 (Windows NT 3.51) oder nt40 (Windows NT 4.0). Im
1949 Zweifelsfall empfiehlt sich win95, weil WINE zur Zeit die
1950 meisten Gemeinsamkeiten mit dieser Windows-Version
1951 aufweist. Beispiel: --winver win95.
1954 Wenn DOS-Programme mit Windows ausgeführt werden, erwarten
1955 diese gelegentlich eine bestimmte Version von MS-DOS. Dazu
1956 ist mit dem Parameter --dosver die gewünschte Version, in
1957 der Form x.xx anzugeben. Beispiel: --dosver 7.10 (diese
1958 Version entspricht Windows 95b).
1961 Während Windows in Versionen für verschiedene Sprachen
1962 verfügbar ist, befindet sich die Unterstützung für eine
1963 Reihe von Sprachen direkt in WINE. Welche Sprache benutzt werden
1964 soll kann mit diesem Parameter angegeben werden. Um die
1965 deutsche Sprache auszuwählen, ist für Sprache De
1966 anzugeben. Es ist zu beachten, dass einige Anwendungen nur
1967 mit bestimmten Sprachen funktionieren. Wenn Anwendungen
1968 irgendwelche Bibliotheken nicht finden können, kann das
1969 daran liegen, dass sie solche Bibliotheken suchen, die für
1970 die Sprache entwickelt wurden, mit der WINE arbeitet und
1971 diese nicht verfügbar sind. Hier hilft es, die richtige
1972 Sprache anzugeben. Beispiel: --language De.
1975 Die Option bewirkt, dass eine Übersicht über die verfügbaren
1976 Optionen ausgegeben wird.
1979 Die Option bewirkt, dass die Versionsnummer von WINE
1982 --dll Bibliothek[,Bibliothek ...]=b|n[:Bibliothek[,Bibliothek,...]=b|n]
1983 Mit dieser Option lassen sich die Einstellungen aus dem
1984 Abschnitt [DllOverrides] aus der Konfigurationsdatei
1985 überschreiben, es kann also angegeben werdem, welche
1986 Bibliotheken aus einer bestehenden Windows-Installation
1987 geladen und welche direkt von WINE zu Verfügung gestellt
1988 werden sollen. Der Option ist ein Ausdruck zu übergeben,
1989 welcher aus den Namen der betreffenden Bibliotheken besteht,
1990 die durch Kommata (ohne Leerzeichen) voneinander getrennt
1991 werden. Danach folgt ein Gleichheitszeichen und daraufhin
1992 entweder der Buchstabe b, um zu bestimmen, dass die
1993 angegebenen Bibliotheken von WINE zur Verfügung gestellt
1994 werden sollen, oder der Buchstabe n, damit versucht wird,
1995 die Bibliotheken aus einer bestehenden Installation zu
1996 laden. Solche Ausdrucke können wiederholt angegeben werden,
1997 sie sind dann durch einen Doppelpunkt (ohne Leerzeichen)
1998 voneinander zu trennen. Sollen beispielsweise die
1999 Bibliotheken shell, commdlg und commctrl mit ihren
2000 zugehörigen 32bit Bibliotheken aus einer bestehenden
2001 Installation geladen werden und die Bibliothek advapi32 von
2002 WINE zur Verfügung gestellt werden, obwohl dies in der
2003 Konfigurationsdatei anders angegeben ist, so könnte man die
2004 Option so einsetzen:
2006 --dll commdlg,comdlg32,commctrl,comctl32,shell,shell32=n:advapi32=b.
2008 --debugmsg +|-foo,+|-bar
2009 Diese Option dient dazu, zu kontrollieren, welche Art von
2010 Informationen WINE zur Fehler- und Ablaufverfolgung ausgeben
2011 soll. Es stehen eine Reihe so genannter Kanäle zur Verfügung,
2012 deren Namen angezeigt werden, wenn die Option ohne weitere Angaben
2013 benutzt wird. Die einzelnen Kanäle entsprechen normalerweise
2014 unterschiedlichen Teilbereichen von WINE, deren Verhalten durch
2015 die Ausgabe bestimmter Informationen überprüft werden kann. Um
2016 beispielsweise die Meldungen für den Kanal file einzuschalten,
2017 wäre die Option --debugmsg +file zu benutzen. Wenn die
2018 Meldungen der Kanäle file und dosfs ausgegeben werden sollen,
2019 wäre --debugmsg +file,+dosfs anzugeben. Weitere Informationen
2020 hierzu befinden sich in der Datei debug-msg im Unterverzeichnis
2021 documentation des WINE-Quellcodeverzeichnisses. Zwei besonders
2022 wichtige Kanäle sind relay und snoop. Wenn der Kanal relay
2023 eingeschaltet ist, wird ausgegeben, welche Funktionen in WINE
2024 von Windows-Programmen mit welchen Parametern aufgerufen werden
2025 und welche Rückkehrwerte diese Funktionen liefern. Der Kanal
2026 snoop zeigt an, welche Funktionen aus echten
2027 Windows-Bibliotheken aufgerufen werden. Die Ausgabe des Kanals
2028 relay dient WINE-Entwicklern oft dazu, festzustellen, wo ein
2029 Fehler aufgetreten ist. Deswegen ist es ratsam, bei
2030 Fehlerberichten in die WINE-Newsgroup die letzten 200 Zeilen
2031 der Ausgabe von WINE mitzuschicken, die bei dem Aufruf des
2032 Programms mit der Option --debugmsg +relay vor Auftreten des
2033 Fehlers entstanden sind.
2037 WINE befindet sich zur Zeit noch mitten in der Entwicklung, weswegen
2038 viele Windows-Programme nur teilweise oder überhaupt nicht damit
2039 funktionieren. Mit großer Wahrscheinlichkeit werden einige Programme
2040 sogar nie mit WINE funktionieren, beispielsweise weil sie eigene
2041 Windows-Treiber brauchen, die unter Linux nicht geladen werden können.
2042 Trotzdem funktionieren viele Windows-Programme ausgesprochen gut mit
2043 WINE und die Anzahl funktionierender Programme erhöht sich relativ
2044 schnell. Wenn ein Programm nicht wie gewünscht funktioniert, kann es
2045 deswegen hilfreich sein, die folgenden Fragen zu untersuchen:
2047 WINE funktioniert überhaupt nicht
2048 In bestimmten Paketversionen der C-Bibliothek (Version
2049 2.1.3) liegt ein Fehler vor, der dazu führt, dass WINE
2050 direkt nach dem Start mit Fehlermeldungen abbricht. Sie
2051 können das Problem beheben, indem Sie eine neuere Version
2052 der C-Bibliothek installieren oder die Variable LANG auf
2053 einen Wert setzen. Bei Verwendung der Bash kann dies
2054 beispielsweise durch Eingabe des folgenden Befehls
2055 geschehen: export LANG=de_DE.
2057 WINE funktioniert immer noch nicht
2058 Wenn Sie WINE auf die beschriebene Art installiert haben,
2059 sollten Sie überprüfen, dass sich nicht gleichzeitig noch
2060 eine andere, ältere Version des Programms auf dem Rechner
2061 befindet, welches u.U. von Ihrer Distribution mitinstalliert
2062 wurde. Dies könnte nämlich dazu führen, dass versucht wird,
2063 inkompatible Bibliotheken zu laden.
2065 Windows- und Windows/system-Verzeichnis sind nicht richtig angegeben
2066 Die Meldung Invalid path 'c:\windows' for windows directory
2067 besagt, dass im Abschnitt WINE der Konfigurationsdatei mit
2068 der Variablen Windows ein Windows-Verzeichnis angegeben
2069 wurde, welches nicht existiert. Es ist dann zu überprüfen,
2070 ob das Windows-Verzeichnis vorhanden ist und ob das
2071 Laufwerk, auf dem es sich befindet, dem richtigen
2072 UNIX-Verzeichnis zugeordnet ist.
2074 Die Zuordnungen der Laufwerksbuchstaben stimmen nicht
2075 Wenn beim Start von WINE Meldungen wie Warning:
2076 /var/winroot/windows/sol.exe not accessible from a DOS drive
2077 ausgegeben werden, teilt WINE mit, dass das auszuführende
2078 Programm sich in einem Verzeichnis befindet, dass aufgrund
2079 der Zuordnungen in der Konfigurationsdatei mit keinem
2080 Laufwerk assoziiert ist. Es sollten dann die
2081 Laufwerkszuordnungen überprüft werden.
2083 Windows-Programme finden Einstellungen und Bibliotheken nicht
2084 Wenn WINE mit einer bestehenden Windows-Installation benutzt
2085 wird, ist es erforderlich, dass die Laufwerksbuchstaben
2086 unter Windows und WINE übereinstimmten. Falls ein Programm
2087 nämlich beispielsweise in der Registratur gespeichert hat,
2088 dass sich eine bestimmte Komponente im Verzeichnis
2089 C:\Windows\System befindet, dann ist es erforderlich, dass
2090 dieses Programm die Komponente auch unter WINE in dem selben
2091 Verzeichnis findet. Es ist jedoch möglich mit WINE
2092 zusätzliche Laufwerke zu verwenden (also z.B. das eigene
2093 Heimatverzeichnis einem Laufwerksbuchstaben zuzuordnen), die
2094 unter Windows nicht vorhanden sind.
2096 Spiele werden im Fenster dargestellt, obwohl Vollbild ausgewählt wurde
2099 Die meisten Spiele benutzen einen bestimmte Farbtiefe, in
2100 die Windows umschaltet, wenn das betreffende Spiel gestartet
2101 wird. Mit dem X Window System ist es leider nicht möglich
2102 die Farbtiefe während des laufenden Betriebs zu ändern,
2103 weswegen WINE die gewünschte Farbtiefe in einem Fenster
2104 emulieren muss, falls der X-Server nicht in der richtigen
2105 Farbtiefe läuft. Dadurch wird sehr viel Rechenleistung
2106 benötigt und außerdem kann nicht in einen Vollbildmodus
2107 geschaltet werden. Abhilfe schafft hier nur, den X-Server in
2108 der richtigen Farbtiefe zu starten, bevor WINE aufgerufen
2109 wird. Hierzu dienen die Optionen -bpp, bei X-Servern des
2110 XFree86-Projekts der Versionsfamilie 3.3.x bzw. -depth in
2111 der Versionsfamilie 4.0) Gelegentlich empfiehlt es sich
2112 auch, einen zweiten X-Server zu starten, was am einfachsten
2113 mit dem Befehl xinit(1) geschehen kann. Um beispielsweise
2114 das Programm q2test.exe mit WINE auf einem zweiten X-Server
2115 mit einer Farbtiefe von 8 Bit pro Pixel aus dem aktuellen
2116 Arbeitsverzeichnis zu starten, könnte der folgende Befehl
2119 xinit /usr/local/bin/WINE q2test.exe --display :1 -- -bpp 8 :1
2121 Falls sich WINE in einem anderen Verzeichnis als
2122 /usr/local/bin befindet, ist der Befehl natürlich
2123 entsprechend anzupassen.
2125 Der DGA-Modus funktioniert nicht, obwohl X in der richtigen
2126 Farbtiefe ausgeführt wird; Spiele sind immer noch langsam
2127 Die Verwendung von DGA ist normalerweise nur dem
2128 Systemadministrator gestattet, das betreffende Programm muss
2129 also mit dessen Rechten ausgeführt werden. Alternativ dazu
2130 reicht es auch aus, Benutzern Schreib- und Leserechte auf
2131 die Gerätedatei /dev/kmem zu erteilen.
2133 Es ist kein Sound zu hören
2134 Zunächst sollte überprüft werden, ob die Soundunterstützung
2135 des Linux-Kernels richtig funktioniert, also ob es möglich
2136 ist, mit anderen Linux-Programmen die Soundkarte zu
2137 verwenden. Im nächsten Schritt kann überprüft werden, ob die
2138 Sound-Hardware von einem anderen Programm benutzt wird und
2139 WINE deswegen nicht darauf zugreifen kann.
2141 Weiterführende Informationen
2143 Die zentrale Web-Adresse für Informationen zu WINE ist
2144 http://www.winehq.com. Dort befinden sich Links zu vielen weiteren
2145 Dokumenten, wie einem WINE-FAQ, einem WINE-HOWTO, einer Anleitung zum
2146 Erstellen von Fehlerberichten und vieles mehr.