From 2a4d5dee1f58c4807ae8b9155fbc2047768afc76 Mon Sep 17 00:00:00 2001 From: "Dimitrie O. Paun" Date: Wed, 15 Oct 2003 20:48:42 +0000 Subject: [PATCH] Remove out-of-band installation-und-konfiguration.german. --- .../installation-und-konfiguration.german | 2056 ----------------- 1 file changed, 2056 deletions(-) delete mode 100644 documentation/installation-und-konfiguration.german diff --git a/documentation/installation-und-konfiguration.german b/documentation/installation-und-konfiguration.german deleted file mode 100644 index c791473637f..00000000000 --- a/documentation/installation-und-konfiguration.german +++ /dev/null @@ -1,2056 +0,0 @@ - Installations- und Bedienungsanleitung für WINE - Peter Ganten - peter@ganten.org - 7. Juli 2000 - - -1. Zusammenfassung - -Dieser Text beschreibt die Installation, Einrichtung und Bedienung von -WINE. WINE ist eine Laufzeitumgebung zum Ausführen von Programmen für -MS-Windows unter GNU/Linux und anderen UNIX-kompatiblen -Betriebssystemen auf Intel-x86-kompatiblen Computern, das Programm kann -außerdem dazu genutzt werden, den Quellcode existierender -Windows-Programme nach UNIX zu portieren. In diesem Text geht es in -erster Linie jedoch um die Installation und Konfiguration der -Laufzeitumgebung für Windows-Programme. Der Text wurde -ursprünglich als Begleitmaterial für einen Vortrag über WINE und die -Integration von Windows-Anwendungen unter GNU/Linux auf dem LinuxTag -2000 vom 30. Juni bis zum 2. Juli 2000 in Stuttgart geschrieben. - -2. Einleitung - -Mit WINE wird ein umfassender Ansatz zur Integration von -Windows-Anwendungen unter GNU/Linux verfolgt. WINE besteht u.a. aus -einem Loader, mit dem Windows- und DOS-Programme unter Linux in den -Speicher geladen und vom Prozessor des Rechners ausgeführt werden -können. Außerdem stellt das Programm einen großen Teil der -Schnittstellen (APIs) Windows-basierter Betriebssysteme zur Verfügung. -Diese Schnittstellen werden von Windows-Programmen, die mit WINE -ausgeführt werden, benutzt, so dass solche Programme die selbe, -erwartete Umgebung vorfinden, wie unter Windows. Weil diese -Schnittstellen mit WINE vorhanden sind und deren Definitionen in Form -von Header-Dateien vorliegen, kann WINE auch benutzt werden, um den -Quellcode von Windows-Programmen nach GNU/Linux oder anderen -UNIX-basierten Betriebssystemen zu portieren. Es entstehen dann echte -UNIX/Linux-Programme, welche die selbe Funktionalität haben, wie ihre -äquivalenten Programme unter Windows. Die Verwendung eines -einheitlichen APIs unter Windows und Linux hat für Softwarehersteller -den Vorteil, dass nur eine einzige Version des Quellcodes gepflegt und -weiterentwickelt werden muss, die sich unter beiden -Betriebssystemfamilien verwenden lässt. - -Das WINE-Projekt wurde 1993 gestartet, es wird im wesentlichen von -Freiwilligen getragen, die über Mailinglisten miteinander -kommunizieren. In letzter Zeit hat WINE zusätzliche Unterstützung -durch mehrere kommerzielle Unternehmen erfahren, die WINE dazu -einsetzen, ihre Windows-Programme nach GNU/Linux zu portieren. WINE -ist heute in der Lage, einen großen Teil der existierenden -Windows-Programme (16- und 32bit) unter Linux auszuführen, in einem -begrenzten Umfang können auch DOS-Programme mit WINE benutzt -werden. WINE führt Windows-Programme direkt unter Linux aus, es -benötigt dazu keine speziellen Kernelerweiterungen, keine besonderen -Rechte und keine existierende Windows-Installation. Das Design erlaubt -es, die betreffenden Programme unter Linux genauso schnell -auszuführen, wie unter Windows, weil keine Emulation im Sinne einer -Interpretation von Prozessoranweisungen stattfindet. Zur Ausführung -eines bestimmten Programms werden unter GNU/Linux mit WINE theoretisch -dieselben Systemressourcen benötigt wie unter Windows. Optional kann -WINE eine bestehende Windows-Installation verwenden. Es ist dann -möglich, die Einstellungen dieser Installation für Windows-Programme -zu übernehmen und einige Original-Bestandteile von Windows mit WINE zu -verwenden, welche in WINE noch nicht in ausreichendem Umfang zur -Verfügung stehen. - -Im folgenden wird beschrieben, wie WINE auf einem GNU/Linux-System -installiert und eingerichtet werden kann. Ausgegangen wurde dabei -urspruenglich von der Linux-Distribution Debian GNU/Linux 2.2 (potato) -und der WINE-Version 20000614. Mittlerweile wurde der Inhalt auf neuere -Wine-Versionen (200105xx) angepasst. Bei Verwendung einer anderen -Linux-Distribution oder einer anderen WINE-Version sind die -beschriebenen Schritte entsprechend anzupassen. -Mittlerweile gibt es bei Debian von Ove Kaaven ein perfekt angepasstes -Wine-Package ("wine"), das zusammen mit "winesetuptk" kinderleicht verwendet -werden kann. - -3. Binärpaket oder Quellcode? - -In den meisten Linux-Distributionen sind heute WINE-Pakete -enthalten. Hierbei handelt es sich um Binärpakete, die WINE in einer -Form enthalten, in der es direkt ausgeführt werden kann. Aktuelle -Versionen solcher Pakete lassen sich auch von verschiedenen -Internetseiten herunterladen. Theoretisch sollte WINE nach der -Installation eines Binärpakets sinnvoll konfiguriert und sofort -benutzbar sein. Tatsächlich ist es in vielen Fällen jedoch notwendig, -die mit dem Paket installierte Konfiguration zu überarbeiten. - -Aufgrund der schnellen Entwicklung von WINE wird zur Zeit empfohlen, -an Stelle eines Binärpakets den aktuellen Quellcode zu verwenden. Der -Quellcode muss, nachdem man ihn sich beschafft hat, entpackt, -konfiguriert und kompiliert (übersetzt) werden. Dabei entsteht dann -eine Binärdatei, die genau an das eigene System angepasst ist und -deshalb eine höhere Wahrscheinlichkeit für optimale Ergebnisse bietet, -als Binärpakete, die u.U. für ein anders konfiguriertes System -erstellt wurden. Die Verwendung des Quellcodes bietet außerdem die -Möglichkeit, das Programm relativ einfach aktualisieren zu können, -wobei nicht immer wieder das komplette Paket heruntergeladen werden -muss. Darüberhinaus kann mit der Verwendung des aktuellen Quellcodes -sichergestellt werden, dass evtl. auftretende Fehler wirklich in WINE -vorhanden sind und nicht bereits behoben worden sind. Dadurch wird die -Möglichkeit gesteigert, sinnvolle Fehlerberichte an die -WINE-Entwickler schicken zu können. - -Die Installation von Binärpaketen ist abhängig vom eingesetzten -Paketformat der Distribution (zumeist wird das RedHat- oder -Debian-Format benutzt) sowie der Distribution selbst. Die hierzu -benötigten Informationen sollten sich in der Dokumentation der von -Ihnen eingesetzten Distribution finden. In diesem Text wird die -Installation aus dem Quellcode von WINE beschrieben. - -4.0 Systemvoraussetzungen - -Damit WINE auf dem System übersetzt und ausgeführt werden kann, müssen -die folgenden Programme und Dateien installiert sein: - - 1. Linux-Kernel ab der Versionsfamilie 2.2.x. (WINE lässt sich auch - unter Linux-Kernels der Versionsfamilie 2.0.x ausführen, - allerdings unterstützen diese Kernels bestimmte von WINE benötigte - Eigenschaften nicht. Dies macht sich insbesondere dann bemerkbar, - wenn 32Bit-Windowsprogramme mit WINE ausgeführt werden sollen, bei - denen mehrere Threads gleichzeitig ausgeführt werden.) Die - Versionsnummer des aktuell ausgeführten Linux-Kernels wird - angezeigt, wenn der folgenden Befehl an der Kommandozeile - eingegeben wird: - - uname -r - - 2. Es wird empfohlen, die GNU C-Bibliothek (libc6) ab Version 2.1 - einzusetzen. Die Versionsnummer der aktuell eingesetzten - C-Bibliothek kann angezeigt werden, indem der folgende - Befehl benutzt wird: - - ls -l /lib/libc.so.* - - Auf einigen Systemen ist sowohl die ältere C-Bibliothek libc5, - als auch die neuere Bibliothek libc6 vorhanden. Entscheidend - ist dann in der Regel die neuere Version. Die C-Bibliothek muss - Reentrant sein, damit WINE Multithreading unterstützen - kann. Dies ist bei allen neueren Linux-Distributionen der - Fall. Die C-Bibliothek befindet sich im Paket libc6. Um WINE zu - übersetzen werden zusätzlich die Entwicklerdateien zur - C-Bibliothek benötigt. Diese befinden sich unter Debian im - Paket libc6-dev. - - 3. Weil WINE das X Window System benutzt, werden die X-Bibliotheken - und, wenn WINE übersetzt werden soll, die Entwicklerdateien für - X benötigt. Die Bibliotheken sind unter Debian im Paket xlib6g - und die Entwicklerdateien im Paket xlib6g-dev enthalten. - - 4. Für Programme, die im Textmodus ausgeführt werden, kann WINE die - Bibliothek libncurses verwenden. Damit die Unterstützung dafür in - das Programm eingebunden wird, müssen die Entwicklerdateien für - diese Bibliothek installiert sein (Paket libncurses5-dev). Die - Verwendung der ncurses-Bibliothek ist jedoch optional. - - 5. Ebenfalls optional ist die Unterstützung einer OpenGL-kompatiblen - Bibliothek, wie z.B. Mesa. Wenn die Unterstützung für OpenGL in - das Programm eingebunden werden soll, müssen die - OpenGL-Entwicklerdateien auf dem System installiert sein, wie sie - z.B. durch das Paket mesag-dev bereitgestellt werden. Zusätzlich - sind dann natürlich die OpenGL-Bibliotheken selbst erforderlich. - - 6. Um WINE zu übersetzen, muss der GNU-C-Compiler benutzt werden. - Empfohlen wird zur Zeit Version 2.95. Weiter werden einige - Standardwerkzeuge wie make, (f)lex, yacc oder bison benötigt, - die auf den meisten Linuxsystemen bereits installiert sein sollten. - - Je nachdem, ob in dem zu erzeugenden Binärcode Debug-Informationen - enthalten sein sollen, werden für die Übersetzung und die - Installation von WINE zwischen ca. 100 MB und ca. 250 MB - Speicherplatz auf der Festplatte benötigt. An den Prozessor des - Rechners werden keine besonderen Anforderungen gestellt, so ist ein - Prozessor der Pentium-Klasse mit 133 Mhz ausreichend, um mit WINE - beispielsweise Textverarbeitungsprogramme auszuführen. Für Spiele - und andere Multimedia-Anwendungen wird allerdings in der Regel ein - schnellerer Rechner benötigt. Wichtig ist, dass sich in dem Rechner - ausreichend Arbeitsspeicher (RAM) befindet. Zur Ausführung größerer - Windows-Programme sollte der Rechner mit 64 MB RAM ausgestattet - sein. - -5.0 Beschaffung und Installation des Quellcodes - - WINE kann von verschiedenen Servern im Internet per FTP oder HTTP - heruntergeladen werden. Normalerweise kann der jeweils aktuelle - Quellcode u.a. von den folgenden Adressen bezogen werden: - - * ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/ - * ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/ - * ftp://orcus.progsoc.uts.edu.au/pub/wine/development/ - * http://metalab.unc.edu/pub/Linux/ALPHA/wine/development/ - - Bei der Entwicklung von WINE werden zur Zeit noch keine - Versionsnummern benutzt. An Stelle dessen trägt jede Ausgabe eine - Zahl, welche nach dem Schema Jahreszahl, Monat, Tag dem Datum - entspricht, an welchem die betreffende Version herausgegeben wurde. - Die Datei Wine-20000614.tar.gz in einem der oben aufgeführten - Verzeichnisse enthält also die Version von WINE. die am 14. Juni - 2000 herausgegeben wurde. Prinzipiell ist es zu empfehlen, die - jeweils neueste Version zu verwenden. Nachdem der Quellcode - heruntergeladen worden ist, kann er durch die Eingabe des folgenden - Befehls im aktuellen Arbeitsverzeichnis entpackt werden: - - tar -xvzf Wine-20000614.tar.gz - - Dabei ist Wine-20000614.tar.gz natürlich durch den Namen der - heruntergeladenen Datei zu ersetzen. Der Quellcode wird dann in ein - Unterverzeichnis des aktuellen Verzeichnisses entpackt, dessen Name - sich aus der Bezeichnung wine und, getrennt von einem Bindestrich, - dem Herausgabedatum der benutzten Version zusammensetzt, also - beispielsweise wine-20000614. Normalerweise empfiehlt es sich, - dieses Verzeichnis in wine umzubenennen, wie es durch Eingabe des - folgenden Befehls geschehen kann: - - mv wine-20000614 wine - - 5.1 Aktualisieren des Quellcodes mit Patchdateien - - Neben den komprimierten Tar-Archiven, welche den Quellcode von WINE - beinhalten, befinden sich in den aufgeführten Verzeichnissen auch - so genannte Patch-Dateien, welche lediglich die Änderungen - enthalten, die zwischen zwei Ausgaben an WINE vorgenommen - wurden. Diese Dateien sind normalerweise viel kleiner als der - komplette Quellcode, so dass es sich empfiehlt, sie zu verwenden, - wenn das Programm von einer Version auf die nächste aktualisiert - werden soll. Falls auf einem Rechner beispielsweise Wine-20000614 - installiert ist und auf WINE-20000614 aktualisiert werden soll, so - wäre die Datei WINE-20000614.diff.gz herunterzuladen. Die in der - Datei beschrieben Veränderungen können auf den installierten - Quellcode angewandt werden, indem zunächst in das Basisverzeichnis - des Quellcodes (also in das Verzeichnis wine, welches durch die - oben beschriebenen Schritte entstanden ist) gewechselt wird und - dann das Programm patch wie folgt aufgerufen wird: - - gunzip -c ../Wine-20000526.diff.gz | patch -p1 - - Hier wird davon ausgegangen, dass sich die Patch-Datei in dem - Verzeichnis befindet, welches dem WINE-Verzeichnis (wine) - übergeordnet ist und den Namen Wine-20000526.diff.gz trägt. Der - Dateiname ist entsprechend anzupassen, wenn eine Datei mit einem - anderen Namen oder aus einem anderen Verzeichnis benutzt wird. - - 5.2 Herunterladen und Aktualisieren von WINE mit CVS - - Alternativ kann der Quellcode vom CVS-Server des WINE-Projektes - installiert werden. Der Vorteil dieses Verfahrens besteht darin, - dass es jederzeit unkompliziert möglich ist, den eigenen Quellcode - an den Entwicklungsstand des Projekts anzupassen ohne dass auf eine - neue Ausgabe des Programms gewartet werden muss. Für jeden, der - plant, selbst an dem Projekt mitzuarbeiten, ist die Verwendung von - CVS normalerweise erforderlich. Damit CVS benutzt werden kann, muss - das Programm cvs natürlich installiert sein. Unter Debian ist es in - dem gleichnamigen Paket enthalten. Wenn dies sichergestellt ist, - kann durch die Umgebungsvariable CVSROOT eingestellt werden, von wo - der Quellcode bezogen, bzw. aktualisiert werden soll. Bei - Verwendung der Bash kann dazu der folgende Befehl eingegeben - werden: - - export CVSROOT=:pserver:cvs@cvs.winehq.com:/home/wine - - Danach kann man sich bei dem CVS-Server anmelden. Hierzu dient - dieser Befehl: - - cvs login - - Das Programm erfragt dann ein Passwort für den Zugriff auf den - Server. Hier ist das Passwort cvs zu verwenden. Nun kann der - Quellcode vom Server heruntergeladen werden, indem der nächste - Befehl eingegeben wird: - - cvs -z 3 checkout wine - - Im aktuellen Arbeitsverzeichnis wird dann ein Unterverzeichnis mit - der Bezeichnung wine angelegt. Sobald der Befehl abgeschlossen ist, - befinden sich in diesem Verzeichnis der aktuelle Quellcode des - Projekts und einige zusätzliche Dateien, die von CVS benötigt - werden. - - Um den Quellcode auf den neuesten Stand zu bringen, kann dieser - Befehl benutzt werden: - - cvs -z 3 update -PAd WINE - - Informationen über die hier verwendeten Parameter beim Aufruf von - CVS und über weitere Möglichkeiten des Programms befinden sich - u.a. in der Manualseite zu cvs(1) sowie auf der CVS-Homepage, die - unter http://www.sourcegear.com/CVS zu erreichen ist. Weitere wichtige - Hinweise im Hinblick auf CVS und WINE sind unter der Adresse - http://www.winehq.com/development/ verfügbar. - -6.0 Konfiguration und Übersetzung des Quellcodes - - Vorausgesetzt, der Quellcode befindet sich im Unterverzeichnis wine - des aktuellen Arbeitsverzeichnisses, ist zunächst in dieses - Verzeichnis zu wechseln, um alle weiteren Schritte durchzuführen: - - cd wine - - Dann kann das Skript configure aufgerufen werden. Dieses Skript - führt eine Reihe von Tests durch, die u.a. untersuchen, ob das - System alle notwendigen Eigenschaften erfüllt und die benötigten - Entwicklerdateien installiert sind. Daraufhin erzeugt es die - Dateien, durch welche die Übersetzung des Quellcodes gesteuert - wird. Dem Skript können verschiedene Parameter übergeben werden, - mit denen sich beispielsweise bestimmen lässt, dass in den zu - erzeugenden Programmen und Bibliotheken keine Debug-Mitteilungen - enthalten sein sollen. Die vollständige Liste der verfügbaren - Optionen für configure wird angezeigt, wenn das Skript mit der - Option --help aufgerufen wird. Normalerweise reicht es aus, das - Skript folgendermaßen aufzurufen: - - ./configure - - Falls wichtige Dateien oder Eigenschaften des Systems von configure - nicht gefunden werden können, erfolgt unter Umständen eine Warn- - oder Fehlermeldung. Solche Fehler sollten behoben werden, bevor mit - der Übersetzung des Quellcodes fortgefahren wird. - - Im nächsten Schritt wird der Quellcode übersetzt. Dazu sind - hintereinander die folgenden beiden Befehle zu benutzen: - - make depend - - make - - Auf der Partition, auf welcher sich das Verzeichnis mit dem - Quellcode befindet, werden für die komplette Übersetzung zur Zeit - ungefähr 230 MB Speicherplatz benötigt. Der größte Teil dieses - Speicherplatzes wird dabei von den Debug-Informationen in den - Objektdateien, die beim Übersetzen erzeugt werden, benötigt. Falls - nicht beabsichtigt wird, irgendwelche Fehler in WINE zu - untersuchen, können die Binärdateien auch ohne Debug-Informationen - erzeugt werden, dazu ist der letzte der beiden oben genannten - Befehle durch den nächsten Befehl zu ersetzen (für die Übersetzung - werden dann nur noch ungefähr 80 MB Speicherplatz benötigt). - - make CFLAGS="-O2" - - Nun kann WINE auf dem System installiert werden. Hierzu ist mit den - Rechten des Administrators der folgende Befehl einzugeben: - - make install - - Dadurch werden die ausführbaren Programme von WINE standardmäßig in - das Verzeichnis /usr/local/bin, die Programmbibliotheken in das - Verzeichnis /usr/local/lib, die Manualseiten unterhalb des - Verzeichnisses /usr/local/man und einige Header-Dateien in das - Verzeichnis /usr/local/include/wine installiert. - - Achtung: - Standardmäßig wird bei einigen Distributionen (z.B. bei Debian - GNU/Linux) in dem Verzeichnis /usr/local/lib nicht nach - Programmbibliotheken gesucht. Falls beim Start von WINE gemeldet wird, - dass bestimmte Bibliotheken nicht geladen werden können, sollte der - Name dieses Verzeichnisses in die Datei /etc/ld.so.conf (in eine - eigene Zeile) eingetragen und danach das Programm ldconfig aufgerufen - werden. - -7.0 Konfiguration - - Wie viele UNIX-Programme kann WINE entweder über eine systemweit - gültige Konfigurationsdatei oder über eine benutzerspezifische - Datei im Heimatverzeichnis des betreffenden Benutzers konfiguriert - werden. Die benutzerspezifische Konfigurationsdatei trägt den - Namen ~/.wine/config. - - 7.1 Aufbau der Konfigurationsdatei - - Das Format orientiert sich an den von Windows her bekannten *.ini-Dateien, - allerdings leicht abgeändert im Wine-Registry-Format. - Die Datei besteht aus einzelnen Blöcken, welche durch Bezeichner - eingeleitet werden, die in eckigen Klammern und in einer eigenen - Zeile stehen. Innerhalb eines Blockes befinden sich Paare von Variablen - und Werten, die durch ein Gleichheitszeichen miteinander verbunden sind. - Diese Paare stehen ebenfalls jeweils in einer Zeile. Kommentare werden - in der Datei durch ein Semikolon eingeleitet. Außerdem dürfen leere Zeilen - benutzt werden, um die Datei zu strukturieren. Ein Beispiel für - einen solchen Block wäre also: - - [Drive C] - "Path" = "/home/karl" - "Type" = "hd" - "Label" = "Laufw.C" - "Filesystem" = "win95" - - Außerdem ist es möglich, innerhalb der Konfigurationsdatei mit - Werten von Umgebungsvariablen zu arbeiten. Dazu ist an Stelle eines - Wertes der Name der zu verwendenden Umgebungsvariablen in - DOS Schreibweise anzugeben, d.h. die Variable wird in Prozentzeichen - eingeschlossen. Soll beispielsweise der Variablen Path aus dem obigen - Beispiel der Wert zugeordnet werden, den die Umgebungsvariable HOME - zur Zeit der Ausführung von WINE hat, so wäre die entsprechende - Zeile folgendermaßen zu schreiben: - - "Path" = "%HOME%" - - Vom Basisverzeichnis des WINE-Quellcodes aus befindet sich in der Datei - documentation/samples/config ein Beispiel als Vorlage für die Erstellung - einer eigenen Konfigurationsdatei. Die Datei enthält alle wichtigen Blöcke - und Variablen, sie muss jedoch an die eigene Konfiguration angepasst - werden, bevor WINE das erste Mal benutzt wird. Angenommen, das - Basisverzeichnis des WINE-Quellcodes trägt den Namen wine und ist - ein Unterverzeichnis des eigenen Heimatverzeichnisses, dann kann - diese Vorlage durch den folgenden Befehl an den richtigen Platz - kopiert werden: - - cp ~/wine/documentation/samples/config ~/.wine/config - - Die Werte, welche Variablen in der Konfigurationsdatei zugewiesen - werden, lassen sich in drei Typen einteilen: Zeichenketten, Zahlen - und Boolsche Werte. Im Fall von Boolschen Werten lässt sich - entweder true oder false, 1 oder 0 beziehungsweise yes oder no - angeben. In den folgenden Beispielen wird die true / false - -Schreibweise benutzt. - - 7.2 Konfiguration von Laufwerksbuchstaben - - Zwischen UNIX/Linux auf der einen und DOS bzw. Windows auf der - anderen Seite gibt es einige Unterschiede in der Art, wie - Datenträger und Dateien bezeichnet werden. Unter UNIX/Linux gibt es - ein Dateisystem mit einem Wurzelpunkt (/), in das unterschiedliche - Datenträger durch einen speziellen Befehl (mount) eingebunden - werden. Alle Dateien auf eingebundenen Datenträgern können deswegen - innerhalb dieses Dateisystems angesprochen werden. DOS und Windows - verwenden jedoch für jeden erkannten Datenträger ein eigenes - Dateisystem. Um eine bestimmte Datei eindeutig zu bezeichnen, ist - es bei diesen Betriebssystemen deswegen notwendig, neben dem Pfad- - und Dateinamen einen so genannten Laufwerksbuchstaben - anzugeben. Üblicherweise entspricht dabei der Laufwerksbuchstabe A - dem ersten Diskettenlaufwerk und der Buchstabe C der ersten - Festplattenpartition des Systems. - - Weil Programme, die für DOS oder Windows geschrieben sind, - Laufwerksbuchstaben verwenden, um Dateien zu bezeichnen, muss WINE - diese Buchstaben auf das UNIX-Dateisystem abbilden. Das Problem ist - auf die folgende Art gelöst: In der Konfigurationsdatei (~/.wine/config) - wird jedem Laufwerksbuchstaben ein Verzeichnis im UNIX-Dateisystem - zugeordnet. Dieses Verzeichnis stellt dann (aus Sicht der Windows- - Programme) das Basisverzeichnis des entsprechenden Laufwerks dar. - Ist also beispielsweise das Verzeichnis /var/winroot dem - Laufwerksbuchstaben C zugeordnet und würde ein Windows-Programm - unter WINE versuchen, die Datei C:\Dokumente\finanzamt.doc zu öffnen, - so würde in Wirklichkeit die Datei /var/winroot/Dokumente/finanzamt.doc - geöffnet werden, vorausgesetzt, diese Datei existiert tatsächlich. - Durch diesen Mechanismus kann auch erreicht werden, dass von - Windows-Programmen, die unter WINE ausgeführt werden, nur auf einen Teil - des UNIX-Dateisystems zugegriffen werden kann. - - Ein weiterer Unterschied zwischen den Dateisystemen unter DOS und - Windows auf der einen und UNIX/Linux auf der anderen Seite besteht - in der Berücksichtigung von Groß- und Kleinschreibung bei - Dateinamen. Während es unter Linux durchaus möglich ist, dass sich - in einem Verzeichnis gleichzeitig Dateien mit den Namen brief.txt, - Brief.txt und brief.TXT befinden, ist dies unter Windows - ausgeschlossen, hier wird beispielsweise die Datei brief.txt - geöffnet, falls diese existiert, aber eigentlich die Datei - Brief.txt angefordert wurde. Die meisten Programme, die für DOS - oder 16Bit-Windows geschrieben wurden, erwarten darüberhinaus, dass - Dateinamen aus nicht mehr als acht Zeichen zuzüglich einer drei - Zeichen langen Erweiterung bestehen. WINE muss aus diesen Gründen - entscheiden, welche Datei tatsächlich geöffnet wird, wenn es - aufgrund von Groß- und Kleinschreibung unterschiedliche - Möglichkeiten gibt. Außerdem muss es die Dateinamen in acht Zeichen - lange Namen übersetzen, falls sie von 16bit-Programmen abgefragt - werden. - - Wenn WINE mit einer bestehenden Windows-Installation benutzt werden - soll, sollte darauf geachtet werden, dass die Laufwerksbuchstaben - unter Windows und WINE übereinstimmen. Befindet sich die - Windows-Installation also beispielsweise auf der Partition - /dev/hda1, welche unter Windows über den Laufwerksbuchstaben C - angesprochen wird, so sollte diese Partition unter GNU/Linux in ein - beliebiges Verzeichnis eingebunden werden und dieses Verzeichnis in - der Konfigurationsdatei von WINE wieder dem Laufwerksbuchstaben C - zugeordnet werden, da es sonst natuerlich zu Konflikten mit der - vorhandenen Konfiguration bereits installierter Programme kommen kann. - - Ein Beispiel für die Zuordnung von UNIX-Verzeichnissen und - Laufwerksbuchstaben in der Konfigurationsdatei wurde weiter oben - bereits gebracht. Eine solche Definition besteht aus einem Block, - dessen Name sich aus dem Schlüsselwort Drive und dem Buchstaben des - Laufwerks zusammensetzt, für das die Definition gelten soll. Ein - Beispiel wäre also [Drive C]. Darauf folgen verschiedene Variablen, - mit denen die Eigenschaften des Laufwerkes festgelegt werden. Die - wichtigste dieser Variablen ist Path. Hiermit wird bestimmt, - welchem UNIX-Verzeichnis das Laufwerk entsprechen soll (Beispiele: - "Path" = "/home/karl", "Path" = "%HOME%"). Die weiteren Variablen - haben die folgende Bedeutung: - - Type - Windows kann Anwendungen mitteilen, von welchem Typ - (Festplatte, CDROM usw.) ein bestimmter Datenträger ist. Mit - dieser Variablen wird WINE mitgeteilt, welchen Typ das - entsprechende Laufwerk haben soll. Mögliche Werte sind - floppy (Diskettenlaufwerk), hd (Festplattenpartition), cdrom - (CDROM-Laufwerk) und network (Netzwerklaufwerk). Im - allgemeinen empfiehlt es sich, hier den Typ anzugeben, der - dem UNIX-Verzeichnis, welches dem Laufwerk zugeordnet ist, - entspricht. Beispiel: "Type" = "floppy". - - Label - Unter DOS und Windows können Laufwerke eine so genannte - Datenträgerbezeichnung haben. Diese Bezeichnung kann von - Windows-Anwendungen abgefragt werden. Mit dieser Variable - kann angegeben werden, welchen Datenträgerbezeichnung WINE - zurückliefern soll, falls eine Anwendung diese für das - Laufwerk abfragt. Die Datenträgerbezeichnung darf aus nicht - mehr als 11 Buchstaben bestehen. Beispiel: "Label" = "Platte1". - - Serial - Jedes Laufwerk hat unter Windows eine so genannte - Seriennummer, die ebenfalls von Windows-Programmen abgefragt - werden kann. Mit dieser Variablen lässt sich in Form eine - acht-stelligen hexadezimalen Zahl angeben, welche - Seriennummer in solchen Fällen zurückgeliefert werden - soll. Beispiel: "Serial" = "23f78a6b". - - Filesystem - Hiermit wird bestimmt, welche Eigenschaften das emulierte - Dateisystem auf dem betreffenden Laufwerk haben soll. Es - sind die folgenden Werte möglich: - - msdos - Auf dem Laufwerk sind nur Dateinamen mit einer Länge - von acht Zeichen und einer Erweiterung, die aus drei - Zeichen besteht, zugelassen. Unterschiede in Groß- und - Kleinschreibung werden nicht - berücksichtigt. Alternativ für msdos können die - Bezeichnungen dos oder fat für diesen Dateisystemtyp - benutzt werden. - - win95 - Auf dem Laufwerk sind lange Dateinamen zugelassen. DOS - und 16bit-Windowsprogramme können jedoch weiterhin - kurze Dateinamen benutzen. Unterschiede in Groß- und - Kleinschreibung werden nicht berücksichtigt. Dies ist - die empfohlenen Einstellung für fast alle Anwendungen. - Alternativ für win95 kann dieser Dateisystemtyp auch - als vfat bezeichnet werden. - - unix - Das Dateisystem auf dem Laufwerk verhält sich ähnlich - wie ein typisches UNIX-Dateisystem, d.h. Dateinamen - können die normalerweise erlaubte Länge haben und die - Groß- und Kleinschreibung ist bedeutsam. Mit dieser - Einstellung kommen die meisten Windows-Programme nicht - zurecht. Probleme treten beispielsweise dann auf, - wenn ein Windows-Programm eine Datei zunächst unter - dem Namen Daten speichert und dann unter dem Namen - DATEN wieder öffnen will. - - Achtung: - Es ist zu beachten, dass mit dieser Einstellung nicht - angegeben wird, welche Eigenschaften das zugrunde liegende - UNIX-Dateisystem hat, sondern welche Eigenschaften von WINE - für das entsprechende Laufwerk emuliert werden sollen. Es - ist also durch aus möglich (und in den meisten Fällen - erforderlich) für ein Laufwerk, das sich auf einem - UNIX-Dateisystem befindet, die Einstellung win95 zu - verwenden. Falls es sich bei dem Datenträger, auf dem sich - das dem Laufwerk zugeordnete Verzeichnis befindet, - allerdings um ein FAT-Dateisystem handelt, welches mit dem - FAT-Treiber von Linux (und nicht, wie üblich, mit dem - VFAT-Treiber) betrieben wird, dann muss hier der - Dateisystemtyp msdos benutzt werden, weil es sonst passieren - könnte, dass WINE versucht, auf dem betreffenden Datenträger - Dateien mit langen Namen anzulegen, was dann zu einem Fehler - führen würde. Beispiel: "Filesystem" = "win95". - - Device - In besonderen Fällen ist es notwendig, dass die - Windows-Programme direkt, also unter Umgehung des - Dateisystems, auf den Datenträger schreiben oder von ihm - lesen. Damit dies auch mit WINE möglich ist, kann hier der - Name der Gerätedatei angegeben werden, welcher den - Datenträger unter Linux repräsentiert. Dies ist nur dann - sinnvoll, wenn das dem betreffenden Laufwerk zugeordnete - Verzeichnis dem Mountpunkt des hier angegebenen Datenträgers - entspricht. Der direkte Gerätezugriff sollte normalerweise - nur für solche Datenträger gestattet werden, deren Inhalt - nicht besonders geschützt werden muss (u.U. Disketten) oder - von denen ohnehin nur gelesen werden kann - (z.B. CDROMs). Damit auf den Datenträger geschrieben werden - kann, ist es zusätzlich natürlich notwendig, dass die Rechte - an der betreffenden Gerätedatei ausreichend sind. Beispiel: - "Device" = "/dev/fd0". - - FailReadOnly - - Eine Reihe von Windows-Programmen öffnen Dateien prinzipiell - zum Lesen und Schreiben, auch wenn aus den betreffenden - Dateien lediglich gelesen werden soll. Dieses Verhalten - führt normalerweise dazu, dass Dateien, in die von WINE - nicht geschrieben werden darf oder die sich auf Datenträgern - befinden, auf die nicht geschrieben werden kann (etwa - CDROMs), nicht geöffnet werden können. Aus diesem Grund - öffnet WINE Dateien standardmäßig zum Lesen, falls eine - Datei nicht zum Lesen und zum Schreiben geöffnet werden - konnte. Wenn die Variable FailReadOnly auf den Wert true - gesetzt wird, verhält sich WINE so wie unter UNIX üblich und - liefert eine Fehlermeldung an das Windows-Programm, falls - eine Datei nicht zum Schreiben geöffnet werden kann. In der - Regel empfiehlt es sich, hier die Standardeinstellung zu - übernehmen. Beispiel: "FailReadOnly" = "true". - - ReadVolInfo - Wenn der Wert dieser Variablen auf true gesetzt ist, - versucht WINE, die Seriennummer und die - Datenträgerbezeichnung des betreffenden Laufwerks direkt von - dem Datenträger zu lesen. Dazu muss dem Laufwerk eine - Gerätedatei zugeordnet sein (Variable device). Diese - Einstellung ist vor allem für solche Programme sinnvoll, die - nur dann funktionieren, wenn sich beispielsweise die - richtige CDROM im Laufwerk befindet und die dies anhand der - Seriennummer oder der Datenträgerbezeichnung - feststellen. Beispiel: "ReadVolInfo" = "true" - - 7.3 Allgemeine Einstellungen - - Im Abschnitt [wine] der Konfigurationsdatei werden die wichtigsten - allgemeinen Einstellungen vorgenommen. Im wesentlichen handelt es - sich dabei um Verzeichnisangaben. Es ist zu beachten, dass diese - Verzeichnisangaben in der unter DOS und Windows üblichen Weise zu - erfolgen haben. D.h., jedem Verzeichnis muss ein Laufwerksbuchstabe - vorangestellt werden. Laufwerksbuchstaben und Verzeichnis werden - durch einen Doppelpunkt voneinander getrennt, außerdem werden - einzelne Verzeichnisse nicht durch einen normalen Schrägstrich, - sondern durch einen umgekehrten Schrägstrich (Backslash) - voneinander separiert. Die Angaben werden durch die im vorherigen - Abschnitt beschriebenen Zuordnungen von Laufwerksbuchstaben in - UNIX-Dateinamen übersetzt. - - Windows - Unter Windows spielt das Windows-Verzeichnis eine besondere - Rolle. Programme legen hier oft Initialisierungsdateien ab - und Installationsprogramme kopieren gelegentlich - verschiedene Dateien in dieses Verzeichnis. Mit der - Variablen Windows wird eingestellt, welches Verzeichnis von - den unter WINE ausgeführten Programmen als - Windows-Verzeichnis behandelt werden soll. Das hier - angegebene Verzeichnis muss existieren, bevor WINE das erste - Mal gestartet wird. Wenn WINE eine bestehende - Windows-Installation verwenden soll, muss hier das - Verzeichnis angegeben werden, in dem sich die Installation - befindet. - - Falls WINE mit einer existierenden Windows-Installation - verwendet werden soll und diese Installation sich auf der - Festplattenpartition befindet, die unter Windows den - Laufwerksbuchstaben C: trägt und unter Linux durch die - Gerätedatei /dev/hda1 repräsentiert wird, so könnte diese - Partition beispielsweise unter Linux beispielsweise in das - Verzeichnis /Windows eingebunden werden. Diesem Verzeichnis - wäre dann im Abschnitt, welcher die - Laufwerksbuchstabenkonfiguration enthält der - Laufwerksbuchstabe C: zuzuordnen: - - [Drive C] - "Path" = "/Windows" - "Type" = "hd" - "Label" = "windows" - "Filesystem" = "win95" - - Wenn weiter der Name des Windows-Verzeichnisses dieser - Installation windows lautet (unter Windows also C:\windows - und unter Linux /Windows/windows), so wäre im Abschnitt - [wine] der Konfigurationsdatei folgende Angabe vorzunehmen: - - "Windows" = "C:\\Windows" - - Soll WINE jedoch ohne existierende Windows-Installation - benutzt werden, so kann ein beliebiges Verzeichnis als - Wurzelverzeichnis für das Laufwerk dienen, welches das - Windows-Verzeichnis beinhaltet, beispielsweise könnte - hierfür das Verzeichnis /Windows angelegt werden. In diesem - Verzeichnis müsste nun das Windows-Verzeichnis erzeugt - werden, welches daraufhin wie oben beschrieben im Abschnitt - [wine] als Windows-Verzeichnis deklariert werden müsste. - - System - Das System-Verzeichnis hat eine ähnliche Bedeutung wie das - Windows-Verzeichnis. Unter Windows befinden sich in diesem - Verzeichnis im wesentlichen die Programmbibliotheken, es ist - normalerweise ein Unterverzeichnis des - Windows-Verzeichnisses. Dieses Verzeichnis muss ebenfalls - existieren, bevor WINE das erste Mal gestartet wird. Auch - hier muss das System-Verzeichnis der bestehenden - Windows-Installation angegeben werden, falls eine solche - benutzt werden soll. Unter Windows 95/98 trägt dieses - Verzeichnis normalerweise den Namen system und unter Windows - NT den Namen system32. Beispiel: "System" = "C:\\Windows\\System". - - Temp - Das Temp-Verzeichnis wird von vielen Windows-Programmen dazu - benutzt, temporäre Dateien abzulegen. Damit dies gelingt, - muss hier ein Verzeichnis angegeben werden, welches sich auf - einem Laufwerk befindet, das einem UNIX-Verzeichnis - entspricht, in dem Schreibberechtigung besteht. Beispiel: - "Temp" = "D:\\tmp". - - Path - Diese Variable hat die gleiche Bedeutung wie die - Umgebungsvariable PATH unter UNIX. Ihr Wert besteht aus - einer Kette einzelner Verzeichnisnamen, die nach einem - auszuführenden Programm durchsucht wird, wenn der Name eines - solchen Programms nicht mit Verzeichnisnamen angegeben - wurde. Es ist zu beachten, dass die einzelnen Elemente diese - Variable unter Windows nicht durch einen Doppelpunkt sondern - durch ein Semikolon voneinander getrennt werden, außerdem - erwarten viele Windows-Programme, dass das Windows- und das - System-Verzeichnis in dieser Variablen enthalten - sind. Beispiel: - "Path" = "C:\\Windows;C:\\Windows\\System;D:\\Winstuff". - - Profile - Diese Variable wird von WINE benutzt, um den - benutzerspezifischen Teil der Systemregistratur einer - bestehenden Windows-Installation zu laden. Falls es sich bei - der bestehenden Installation um Windows 95/98 handelt, das - nicht mit mehreren Benutzern betrieben wird oder ohne eine - bestehende Windows-Installation gearbeitet werden soll, - braucht die Variable Profile nicht gesetzt zu werden. Wenn - jedoch eine Windows NT- oder eine Windows 95/98-Installation - mit mehreren Benutzern eingesetzt wird, muss hier angegeben - werden, aus welchem Verzeichnis WINE die benutzerspezifische - Registrationsdaten laden soll. Diese Verzeichnisse befinden - sich normalerweise im Unterverzeichnis Profiles des - Windows-Verzeichnis und tragen den Namen des Benutzers, - dessen Konfigurationsdaten sie beherbergen. Beispiel: - "Profile" = "C:\\Windows\\Profiles\\Peter". - - GraphicsDriver - WINE kann unterschiedliche Treiber für die graphische - Ausgabe verwenden. Welcher Treiber zu verwenden ist, wird - mit dieser Variablen festgelegt. Zur Zeit stehen zwei - Treiber zur Verfügung, nämlich x11drv für die Verwendung des - X Window Systems und ttydrv für die Verwendung von WINE an - der Konsole. Der Treiber ttydrv ist zur Zeit nicht voll - funktionsfähig, weswegen sich hier nur die Verwendung des - Treibers x11drv empfiehlt, dies ist auch die - Standardeinstellung, wenn die Variable nicht gesetzt - wird. Beispiel: "GraphicsDriver" = "x11drv". - - 7.4 Konfiguration der zu verwendenden Bibliotheken - - Wie UNIX/Linux-Programme bestehen Windows-Programme in der Regel - aus der eigentlichen Programmdatei und einer Reihe von - Programmbibliotheken, die beim Laden des Programms oder später mit - dem Programm verbunden werden. Eine Reihe der Programmbibliotheken - unter Windows stellt dabei gleichzeitig die Schnittstelle zum - Betriebssystem dar. Neben dem eigentlichen Windows-Programm werden - also die Bibliotheken benötigt, um das Programm ausführen zu - können. - - WINE stellt eine große Anzahl der normalerweise unter Windows - verfügbaren Bibliotheken zur Verfügung. Diese Bibliotheken liegen - entweder in Form eigener Dateien vor, welche sich standardmäßig im - Verzeichnis /usr/local/lib befinden, oder sie sind direkt in der - Programmdatei wine enthalten. WINE ist jedoch auch in der Lage, die - normalen Windows-Bibliotheken zu verwenden; dies ist beispielsweise - dann notwendig, wenn von einem Programm eine Bibliothek benötigt - wird, bei der es sich nicht um eine standardmäßige Windows-Bibliothek - handelt, sondern um eine, die dem System während der Installation - des betreffenden Programms hinzugefügt worden ist. Solche Bibliotheken - werden normalerweise nicht von WINE zur Verfügung gestellt. - - Falls WINE mit einer bestehenden Windows-Installation benutzt wird, - bietet es sich u.U. an, in einigen Fällen an Stelle der von WINE - zur Verfügung gestellten Bibliotheken die Bibliotheken der - Windows-Installation zu verwenden. Diese sind in vielen Fällen - vollständiger und können dem auszuführenden Programm deswegen eher - die erwartete Funktionalität zur Verfügung stellen. Dabei ist - jedoch zu beachten, dass dies nur mit solchen Bibliotheken möglich - ist, die keine Betriebssystemfunktionen beinhalten. Bibliotheken, - die lediglich einfachen Programmcode, wie beispielsweise den für - häufig benötigte Dialoge, beinhalten, können hingegen problemlos - aus einer bestehenden Windows-Installation benutzt werden. - - Die meisten Bibliotheken stehen unter Windows (95/98) in zwei - verschiedenen Versionen zur Verfügung, einer 32Bit-Version, die von - 32Bit-Programmen geladen werden kann und einer 16Bit-Version, die - von 16Bit-Programmen benutzt werden kann. Beide Versionen benutzen - in der Regel Programmcode aus der jeweils zugehörigen anderen - Version (Unter Windows 95/98 befindet sich die eigentliche - Funktionalität meist in den 16Bit-Bibliotheken, die von den - 32Bit-Versionen geladen und aufgerufen werden). Deswegen ist es - erforderlich, dass immer jeweils beide Versionen einer Bibliothek - als Windows- oder als WINE-Bibliothek geladen werden, andere - Einstellungen führen in der Regel direkt nach dem Aufruf von WINE - zu Fehlern. Die folgende Tabelle zeigt, welche der wichtigsten 16- - und 32-Bit Bibliotheken zusammen gehören und gibt Auskunft darüber, - ob diese Bibliotheken aus einer bestehenden Windows-Installation - geladen werden können oder unbedingt von WINE zur Verfügung - gestellt werden müssen. Es wird jeweils zunächst die 16-Bit Version - und dann die 32-Bit Version genannt. - - krnl386 - kernel32 - Diese Bibliothek stellt die Schnittstelle zu den grundlegenden - Funktionen, wie Dateizugriff, Ein- und Ausgabe oder - Prozesssynchronisation, von Windows-Betriebssystemen zur Verfügung. - Deswegen können hier nicht die Bibliotheken einer - Windows-Installation benutzt werden. - - - - ntdll - Diese Bibliothek enthält die Schnittstelle zu dem Betriebssystem - Windows NT. Es muss deswegen die WINE-Version benutzt werden. - - - - advapi32 - Hier befinden sich u.a. Funktionen zum Zugriff auf die - Windows-Registratur sowie Sicherheitsfunktionen und - kryptographische Funktionen. In der Regel empfiehlt es sich, WINEs - Version dieser Bibliothek zu verwenden. - - winsock - wsock32 - Hier befindet sich die Internet Protokoll (IP) Schnittstelle von - Windows. Mit WINE wird die IP-Funktionalität des Betriebssystems - (Linux) benutzt, so dass hier die WINE-Versionen dieser - Bibliotheken benutzt werden müssen, welche die IP-Aufrufe von - Windows-Programmen an Linux weiterleiten. - - gdi - gdi32 - GDI steht für Graphics Device Interface. Die Bibliothek stellt eine - einheitliche Schnittstelle zur Bildschirmausgabe und zu Druckern - dar. Auch hier müssen die WINE-Versionen benutzt werden. - - user - user32 - User stellt u.a. Funktionen zur Fensterverwaltung, zu Menüs oder - zur Bedienung der Zwischenablage bereit. Die Windows 95/98 - Versionen dieser Bibliotheken konnten früher unter bestimmten - Bedingungen mit WINE benutzt werden. Die USER-Bibliotheken von - Windows NT rufen in der Regel Funktionen im NT-Kernel auf und - können deswegen nicht mit WINE benutzt werden. Es empfiehlt sich, - die User-Bibliotheken von WINE zu verwenden. - - lzexpand - lz32 - Diese beiden Bibliotheken stellen Funktionen zum Dekomprimieren - von LZ-Archiven zur Verfügung. Solche Funktionen werden im - wesentlichen von Installationsprogrammen benötigt. Die zu Windows - gehörenden Versionen dieser Bibliotheken benutzen einige Funktionen - aus der Kernel-Bibliothek, die in WINE zur Zeit nicht implementiert - sind. Es müssen deswegen die von WINE bereitgestellten Versionen - benutzt werden. - - commctrl - comctl32 - Diese Bibliothek (common controls) stellt Funktionen zur Erzeugung - oft benutzter Fensterelemente, wie Werkzeugleisten oder - Statusanzeigen, zur Verfügung. Es können sowohl die Version von - WINE als auch die Windows-Version der Bibliothek benutzt werden. - - commdlg - comdlg32 - Hier befinden sich komplette Dialoge, die oft von - Windows-Programmen benutzt werden (Farbauswahl, Auswahl der - Schriftart, Suchen und Ersetzen usw.). Auch hier können wahlweise - die Windows- oder WINE-Versionen benutzt werden. - - shell - shell32 - Die Shell-Bibliothek beinhaltet den größten Teil der - Benutzerschnittstellen von Windows. Sie wird unter Windows - besonders vom Explorer (dem Dateimanager) und vielen anderen - Anwendungen benutzt, die Funktionen wie beispielsweise - Drag-and-Drop unterstützen. Prinzipiell kann sowohl die Windows- - als auch die WINE-Version benutzt werden. - - - - crtdll - Dies ist die standardmäßige C-Laufzeitbibliothek von Windows. Zur - Zeit ist die Windows-Version vollständiger, weswegen einige - Programme mit der WINE-Version nicht richtig funktionieren. - - Neben den hier genannten wichtigsten Systembibliotheken stellt WINE - eine Reihe weiterer Bibliotheken zur Verfügung, beispielsweise zur - Unterstützung von Multimedia-Anwendungen. Falls eine - Windows-Installation zur Verfügung steht, empfiehlt es sich in - vielen Fällen, auszuprobieren, ob ein Programm besser mit den - WINE-Versionen oder den Windows-Versionen dieser Bibliotheken - funktioniert. - - In der Datei ~/.wine/config gibt es zwei Abschnitte, mit denen - bestimmt wird, welche Bibliotheken aus einer Windows-Installation - geladen werden sollen. Darüberhinaus können diese Einstellungen - beim Aufruf von WINE an der Kommandozeile überschrieben werden. - Im allgemeinen empfiehlt es sich, die Einstellungen in der - Beispielversion der Konfigurationsdatei (documentation/samples/config) - zu übernehmen und diese nur dann zu verändern, falls - bestimmte Programme mit den Voreinstellungen nicht richtig - funktionieren. Falls die Bibliotheken einer Windows-Installation - benutzt werden sollen, ist darauf zu achten, dass diese auch von - WINE gefunden werden können. Dies setzt in der Regel voraus, dass - mit den Variablen Windows und System im allgemeinen Teil der - Konfiguration auf das Windows- bzw. das Systemverzeichnis einer - gültigen Windows-Installation gezeigt wird und dass diese beiden - Verzeichnisse im Wert der Variablen Path genannt werden. - - Im Abschnitt [DllDefaults] können die folgenden beiden Einstellungen - vorgenommen werden: - - DefaultLoadOrder - Hiermit wird bestimmt, welche Reihenfolge WINE standardmäßig - benutzen soll, wenn versucht wird, eine Bibliothek zu laden. - Diese Reihenfolge wird durch die folgenden Schlüsselwörter - definiert: - - native - Es soll versucht werden, die Windows-Version der - betreffenden Bibliothek zu laden. - - builtin - Es soll versucht werden, die WINE-Version der - betreffenden Bibliothek zu laden. - - elfdll - Elfdlls sind eine besondere Form von - Windows-Bibliotheken, welche von WINE zur Verfügung - gestellt werden. Sie sind ursprünglich geplant worden, - um die eingebauten Bibliotheken abzulösen, allerdings - haben die eingebauten Bibliotheken mit der Zeit viele - der für Elfdlls geplanten Funktionen bekommen, so dass - diese Form von Bibliotheken zur Zeit keine besondere - Bedeutung hat. - - so - In einigen Fällen gibt es von einer Bibliothek Linux- - und Windows-Versionen, die sich sowohl hinsichtlich - ihrer Funktionalität als auch hinsichtlich der - aufrufbaren Funktionen in der Bibliothek nicht - unterscheiden. Falls ein Windows-Programm die - Windows-Version einer solchen Bibliothek laden will, - kann WINE versuchen, an Stelle dessen die Linux-Version - zu laden und die Funktionen dieser Version an Stelle - der in der Windows-Version aufrufen. Mit dem - Schlüsselwort so kann dieses Verhalten hervorgerufen - werden. - - Durch die Reihenfolge, mit der diese Schlüsselwörter der - Variablen DefaultLoadOrder zugeordnet werden, wird - festgelegt, in welcher Reihenfolge WINE die einzelnen - Strategien benutzt. Wurde beispielsweise "DefaultLoadOrder" = - "native, builtin, so" angegeben, so versucht WINE, wenn eine - Bibliothek geladen werden muss, zunächst die - Windows-Version zu laden. Wenn dies nicht funktioniert (in - der Regel, weil die Bibliothek nicht vorhanden ist oder - nicht gefunden werden kann), wird versucht, die WINE-Version - der Bibliothek zu verwenden und falls auch eine solche nicht - vorhanden ist, wird versucht, direkt die UNIX-Version der - entsprechenden Bibliothek zu laden. - - Im Abschnitt [DllOverrides] lässt sich das im vorherigen Abschnitt - spezifizierte Verhalten für einzelne Bibliotheken wieder - überschreiben. Während es nämlich im allgemeinen eine gute - Strategie ist, zunächst zu versuchen, die Windows-Versionen von - Bibliotheken zu laden, darf dies (wie oben beschrieben) bei - bestimmten Bibliotheken auf keinen Fall geschehen und es müssen in - jedem Fall die WINE-Versionen benutzt werden. Als Variablen werden - in diesem Abschnitt die Bibliotheken genannt, für die eine - spezielle Reihenfolge gelten soll. Hinter dem Gleichheitszeichen - wird dann die für diese Bibliotheken gewünschte Reihenfolge in der - gleichen Form angegeben, wie es im vorherigen Abschnitt beschrieben - ist. Beispiel: - - [DllOverrides] - "krnl386, kernel32" = "builtin" - "gdi, gdi32" = "builtin" - "user, user32" = "builtin" - "shell,shell32" = "native, builtin" - - - 7.5 Konfiguration des X11 Graphiktreibers - - Der X11 Graphiktreiber stellt die Schnittstelle zwischen den - Graphikfunktionen der Windows-Betriebssysteme und dem X Window - System dar. Er ermöglicht es also, dass Windows-Programme unter - WINE das X Window System ähnlich benutzen können, wie sie unter - echtem Windows eine normale Graphikkarte benutzen. Das Verhalten - des Treibers wird im Abschnitt x11drv der Konfigurationsdatei - eingestellt. Dort stehen die folgenden Variablen zur Verfügung: - - PrivateColorMap - Wenn diese Variable auf true gesetzt ist, verwendet WINE - eine eigene Farbpalette. Bei X-Servern die mit eine - Farbtiefen von 256 Farben (8bpp) oder weniger betrieben - werden, hat das zur Folge, dass andere Fenster u.U. in - falschen Farben dargestellt werden, wenn zu WINE gehörende - Fenster in den Vordergrund geschaltet sind. Dafür kann WINE - jedoch Farben besser darstellen als ohne diese - Einstellung. Falls der X Server mit einer Farbtiefe von mehr - als 256 Farben betrieben wird, ist die Einstellung - wirkungslos. - - AllocSystemColors - Wenn WINE keine eigene Farbpalette verwendet, kann hier - angegeben werden, wieviele Farben von der systemweit - geteilten Palette maximal von WINE benutzt werden - dürfen. Der höchstmögliche Wert ist hier 256, weil bei - besseren Farbtiefen keine Palette benutzt wird. Beispiel: - "AllocSystemColors" = "100". - - PerfectGraphics - An einigen Stellen hat WINE die Möglichkeit, - Graphikoperationen entweder so durchzuführen, dass sie - besonders schnell sind oder so, dass sie besonders korrekt - ausgeführt werden. Wenn diese Variable auf den Wert true - gesetzt wird, wird der Genauigkeit Vorzug gegeben. Beispiel: - "PerfectGraphics" = "false". - - UseDGA - DGA (Direct Graphics Access) ist eine Erweiterung von - XFree86, welche den direkten Zugriff auf den Speicher der - Graphikkarte ermöglicht. Dadurch lassen sich - Graphikoperationen wesentlich schneller durchführen als - normalerweise. Die DirectDraw-Bibliothek (DirectX) von WINE - kann diese Erweiterung benutzen, wodurch sich insbesondere - Spiele mit einer ähnlichen Geschwindigkeit wie unter Windows - ausführen lassen. Weil DGA den direkten Hardwarezugriff - erfordert, sind dazu in der Regel Administratorrechte - erforderlich. Die Verwendung von DGA wird mit "UseDGA" = "true" - ein- und mit "UseDGA" = "false" ausgeschaltet. - - Achtung: - Anwendungen, die DirectDraw benutzen, versuchen - normalerweise den Bildschirm in eine bestimmte Auflösung und - Farbtiefe zu schalten. WINE kann die Auflösung zwar - verändern, falls sich in der Datei XF86Config eine - Definition für den angeforderten Modus befindet, weil das X - Window System jedoch nicht den Wechsel der Farbtiefe - unterstützt, ist es oft erforderlich, den X-Server in der - benötigten Farbtiefe zu starten, bevor WINE gestartet wird. - - DXGrab - Diese Option bewirkt, dass der Mauszeiger - bei der - Verwendung von DirectDraw (DirectX) - das von DirectDraw - gesteuerte Fenster nicht verlassen kann. Dies ist notwendig, - um einige Programme richtig bedienen zu können, allerdings - wird dadurch verhindert, mit der Maus in ein anderes Fenster - zu schalten, beispielsweise um WINE zu beenden. Beispiel: - "DXGrab" = "false". - - ScreenDepth - Einige X-Server unterstützen unterschiedliche Farbtiefen auf - dem selben Bildschirm. Mit dieser Variable kann ausgewählt - werden, welche Farbtiefe in einem solchen Fall benutzt - werden soll. - - Managed - WINE kann von Windows-Programmen dargestellte Fenster - u.a. unabhängig vom eingesetzten Window-Manager anzeigen - oder sie unter die Kontrolle des Window-Managers - stellen. Das zweite Verfahren bietet eine bessere - Integration von Windows-Programmen in die Arbeitsumgebung - unter Linux, weil die Fenster dann genauso wie die von - Linux-Programmen erscheinen und zu steuern sind. Welcher der - verfügbaren Anzeigemodi verwendet werden soll, wird - normalerweise an der Kommandozeile beim Aufruf von WINE - angegeben. Durch diese Variable in der Konfigurationsdatei - lässt sich festlegen, ob von WINE gesteuerte Fenster - standardmäßig den Window-Manager verwenden sollen ("Managed" = - "true"). - - DesktopDoubleBuffered - Diese Option sollte auf den Wert true gesetzt werden, wenn - mit WINE Programme benutzt werden, die OpenGL - benutzen. Hierdurch wird die Darstellung solcher Anwendungen - verbessert. - - 7.6 Konfiguration der zu verwendenden Schriftarten - - Der X11-Graphiktreiber x11drv verwendet zur Darstellung von Schrift - die Schriftarten, die dem X-Server direkt oder über einen Fontserver - zur Verfügung stehen. Eine Reihe von Windows-Anwendungen erwarten - allerdings ganz bestimmte Schriften, die unter Windows in der Regel - verfügbar sind und viele Anwendungen werden anders als unter Windows - dargestellt, falls andere Schriftarten benutzt werden müssen. - - Windows verwendet normalerweise zwei unterschiedliche Typen von - Schriftarten, nämlich so genannten TrueType-Schriften und einfache - Bitmap-Schriftarten. Beide Schrifttypen können von XFree86 in der - Versionsfamilie 3.x standardmäßig nicht zur Verfügung gestellt - werden. Allerdings ist es möglich, Windows-Bitmap-Schriftarten in - ein Format zu übersetzen, welches von XFree86 eingebunden werden - kann. TrueType-Schriftarten können über spezielle - TrueType-Fontserver, die mittlerweile in den meisten Distributionen - enthalten sind, eingebunden werden. Falls eine Windows-Installation - zur Verfügung steht, empfiehlt es sich im allgemeinen, die dort - vorhandenen Schriftarten auch unter Linux einzubinden, damit unter - WINE ausgeführte Windows-Anwendungen die erwarteten Schriftarten - vorfinden. Wenn WINE ohne Windows-Schriftarten benutzt wird, - versucht das Programm, die angeforderten Schriften durch die - Schriften des X Window Systems zu ersetzen, wodurch sich - Veränderungen im Erscheinungsbild der Anwendungen ergeben können. - - 7.6.1 Einbinden von Bitmap-Schriften - - Windows Bitmap-Schriftarten befinden sich normalerweise im - Unterverzeichnis fonts des Windows-Verzeichnisses und haben die - Dateinamensendung .fon. Es ist aber auch möglich, dass sie in - ausführbaren Dateien oder in Bibliotheken enthalten sind. Im - Unterverzeichnis tools des Basisverzeichnisses mit dem - WINE-Quellcode befindet sich das Programm fnt2bdf, mit dem die - Fonts aus diesen Dateien extrahiert und in das Bitmap Distribution - Format (.bdf) umgewandelt werden können. Dazu ist das Programm - folgendermassen aufzurufen: - - fnt2bdf -o Basisname Schriftdatei - - Dabei ist für Schriftdatei der Name der Datei anzugeben, in der - sich die zu extrahierenden Schriften befinden und für Basisname - eine Bezeichnung, mit der die Namen der zu extrahierenden Dateien - beginnen sollen. Es ist zu beachten, dass sich in der Regel in - einer Windows-Schriftartendatei mehrere Schriftarten befinden, die - in unterschiedliche Dateien extrahiert werden. Bei einigen - Schriftarten ist es notwendig, dem Programm mitzuteilen, wie die - Schriftarten kodiert sind. Hierzu ist die Option -c zu verwenden - und dahinter die Bezeichnung der Kodierung anzugeben. Eine - Übersicht über alle von dem Programm unterstützten Optionen wird - ausgegeben, wenn es ohne Parameter aufgerufen wird. Um also - beispielsweise die Bitmap-Schriften aus der Datei SERIFF.FON in - Dateien zu extrahieren, deren Namen mit der Bezeichnung seriff - beginnen, wäre das Programm so aufzurufen: - - fnt2bdf -o seriff SERIFF.FON - - Es werden dann eine Reihe von Dateien mit unterschiedlichen Fonts - aus der Originaldatei erzeugt. Im nächsten Schritt sind diese - Dateien mit dem Programm bdftopcf(1) in das so genannte Portable - Compiled Format zu übersetzen. Dieses Programm sollte Bestandteil - jeder X11-Installation sein und ist durch eine Manualseite - dokumentiert. Um beispielsweise die Datei seriff_r400-23.bdf zu - übersetzen und das Ergebnis in die Datei seriff_r400-23.pcf zu - schreiben, könnte das Programm so aufgerufen werden: - - bdftopcf -o seriff_r400-23.pcf seriff_r400-23.bdf - - Die auf diese Weise erzeugten Dateien können nun in eines der, von - dem X-Server oder einem Fontserver benutzten, Font-Verzeichnis - kopiert werden. In diesem Verzeichnis ist danach der Befehl - mkfontdir aufzurufen, damit der dort befindlich Fontindex neu - erzeugt wird. Bevor die Schriften dann tatsächlich unter X zur - Verfügung stehen und damit von WINE benutzt werden können, muss X - neu gestartet oder der folgende Befehl an der Kommandozeile - eingegeben werden: - - xset fp +rehash - - Im Unterverzeichnis tools des WINE-Quellcodeverzeichnisses befindet - sich ein Shellskript mit dem Namen font_convert.sh, welches die - oben genannten Schritte automatisch durchführt und alle unterhalb - eines Verzeichnisses befindlichen Bitmap-Schriftarten automatisch - konvertiert und installiert. - - 7.6.2 Einbinden von TrueType-Schriften - - Wie bereits erwähnt, können die X-Server von XFree86 in der - Versionsfamilie 3.x keine TrueType-Schriften darstellen. Seit - XFree86 4.0 hat sich dies allerdings geändert, so dass solche - Schriften zukünftig problemlos unter X - und damit auch mit WINE - - zur Verfügung gestellt werden können. Leider können über das - X-Font-Protokoll nicht alle von manchen Windows-Programmen - benötigten Informationen über TrueType-Fonts dargestellt werden, so - dass manche Windows-Programme auch dann noch nicht richtig - funktionieren, wenn die benötigten Fonts zur Verfügung gestellt - worden sind. Mit XFree86 3.x bietet sich der Einsatz eines - TrueType-Fontservers an. Zur Zeit stehen drei unterschiedliche - solcher Programme zur Verfügung, nämlich: xfs-xtt (Debian-Paket: - xfs-xtt), xfstt (Debian-Paket xfstt) und xfsft (im Internet unter - der Adresse http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/ - verfügbar). - - Der Autor hat mit dem Programm xfsft die besten Ergebnisse erzielt. - Dieser Server lässt sich leicht konfigurieren und ist kompatibel zu - herkömmlichen Fontservern, so dass nicht zwei verschiedene - Fontserver auf einem Rechner ausgeführt werden müssen. Dieses - Programm diente auch als Grundlage für die Integration der - TrueType-Unterstützung in XFree86 4.0. - - Um die von einem Fontserver zur Verfügung gestellten Schriften zu - verwenden, muss dem X-Server die Adresse des Fontservers mitgeteilt - werden. Dies kann entweder in der Datei /etc/X11/XF86Config oder - durch Eingabe dieses Befehls geschehen: - - xset fp+ tcp/localhost:7100 - - Dabei muss localhost u.U. gegen den Namen des Rechners ausgetauscht - werden, auf dem der Fontserver ausgeführt werden und 7100 durch den - Port, der vom Fontserver benutzt wird. Wenn der Fontserver auf dem - selben Rechner ausgeführt wird wie der X-Server, dann können zur - Kommunikation zwischen X-Server und Fontserver auch - UNIX-Domain-Sockets benutzt werden. Der entsprechende Befehl könnte - dann folgendermaßen aussehen: - - xset fp+ unix/:7100 - - 7.6.3 Font-Einstellungen in der WINEs Konfigurationsdatei - - In der Konfigurationsdatei ~/.wine/config bzw. wine.conf stehen die - folgenden Variablen zur Verfügung, mit denen WINEs Umgang mit - Schriftarten beeinflusst werden kann: - - Resolution - Unter Windows können Programme die Größe eines zu - verwendenden Fonts in Punkten (an Stelle von Pixeln) - angeben. Damit die Schriftart dann in der richtigen Größe - angezeigt werden kann, muss die tatsächliche Größe des - Bildschirms bekannt sein, was unter X nicht unbedingt der - Fall ist. Mit der Variable Resolution kann deswegen justiert - werden, welche Schriftgrößen in solchen Fällen von WINE - ausgewählt werden. Der Standardwert ist 96, sinnvolle Werte - liegen zwischen 60 und 120. Beispiel: "Resolution" = "100". - - Default - Mit dieser Variable wird angegeben, welche Schriftart WINE - als Standard verwenden soll. Die dabei anzugebende - Zeichenkette besteht aus der Herstellerbezeichnung der zu - verwendenden Schriftart und ihrem Namen, diese Bezeichnungen - werden durch ein Minuszeichen miteinander verbunden, - außerdem muss sich zu Beginn und am Ende der Zeichenkette - ein Minuszeichen befinden. Die unter X11 verfügbaren Fonts - können beispielsweise mit den Programmen xfontsel(1) oder - xlsfonts(1) ausgewählt werden. - Beispiel: "Default" = "-adobe-times-" - - DefaultFixed - Hiermit wird festgelegt, welchen Font WINE als - standardmäßige Schriftart mit gleichmäßiger Buchstabenbreite - verwenden soll. Der Name der gewünschten Schrift ist wie - bei der Variablen Default anzugeben. Beispiel: - "DefaultFixed" = "-sony-fixed-" - - DefaultSerif - Hiermit wird festgelegt, welchen Font WINE als - standardmäßige Schriftart mit Serifen verwenden - soll. Beispiel: "DefaultSerif" = "-adobe-times-" - - DefaultSansSerif - Hiermit wird bestimmt, welchen Font WINE als standardmäßige - Schriftart ohne Serifen verwenden soll. Beispiel: - "DefaultSansSerif" = "-adobe-helvetica-" - - Fontmetric - Wenn WINE das erste Mal gestartet wird, fragt es vom - X-Server die Eigenschaften der verfügbaren Fonts ab. Weil - diese Operation recht zeitaufwendig ist, wird das Ergebnis - der Abfrage in einer Datei im Heimatverzeichnis des - betreffenden Benutzers gespeichert. Die Abfrage braucht dann - bei einem späteren Aufruf des Programms nur ausgeführt zu - werden, falls sich die verfügbaren Fonts geändert haben. Mit - dieser Variablen kann angegeben werden, in welcher Datei die - Fontdaten zwischengespeichert werden sollen. Dadurch lässt - sich beispielsweise vermeiden, dass die Abfrage für jeden - Benutzer erneut ausgeführt werden muss. Beispiel: - "Fontmetric" = "/var/lib/WINE/font.cache". - - Alias - Wie weiter oben bereits angesprochen, kann es vorkommen, - dass Windows-Anwendungen bestimmte Schriftarten benutzen - wollen, die vom X-Server nicht zur Verfügung gestellt - werden. Mit der Variable Alias können solchen Fontnamen - anderen, unter X verfügbaren Schriftarten zugeordnet - werden. Werte, die dieser Variablen zugeordnet werden, - bestehen aus drei Elementen, die durch Kommata voneinander - zu trennen sind. Das erste Element ist der Name der zu - ersetzenden Schriftart, das zweite Element der Name der X - Schriftart, in der Form, wie sie auch bei der Definition der - Variablen Default anzugeben ist. Als drittes Element kann - optional das Schlüsselwort subst angegeben werden. Dieses - Schlüsselwort bewirkt, dass durch die Aliasdefinition eine - bereits vorhandene Definition (die von WINE automatisch - erstellt wurde) überschrieben wird. Weil es möglich ist, - mehrere Alias-Definitionen vorzunehmen, muss der - Variablenbezeichnung Alias jeweils eine Zahl nachgestellt - werden, mit der angegeben wird, um die wievielte - Alias-Definition es sich handelt. Dabei ist mit der Zahl - Null zu beginnen, es darf keine Zahl ausgelassen - werden. Beispiel: "Alias0" = "System, --international-, subst" - - 7.7 Konfiguration von Schnittstellen und Hardwarezugriff - - WINE kann Anwendungen den direkten Zugriff auf serielle und - parallele Schnittstellen sowie auf weitere beliebige Ein- und - Ausgabeadressen gestatten. Grundsätzlich ist dabei zu bedenken, - dass der betreffende WINE-Prozess mit ausreichenden Privilegien - ausgestattet sein muss, damit ein solcher Zugriff tatsächlich - möglich wird. Wird WINE mit gewöhnlichen Benutzerrechten (und nicht - mit den Privilegien des Administrators) ausgeführt, bedeutet dies - in der Regel, dass die Zugriffsrechte auf die Gerätedateien, welche - Geräte repräsentieren, auf die Windows-Programmen der Zugriff - gestattet werden soll, überprüft werden müssen. Der direkte Zugriff - auf Ein- und Ausgabeadressen ist unter Linux ausschließlich dem - Administrator gestattet. - - Zur Konfiguration der seriellen Schnittstellen dient der Abschnitt - [serialports] in der Konfigurationsdatei. Die einzelnen Variablen in - diesem Abschnitt bezeichnen die seriellen Schnittstellen so wie es - unter DOS und Windows üblich ist (Com1, Com2 usw.). Als Wert wird - diesen Variablen der Name der Gerätedatei übergeben, welche die - entsprechende Schnittstelle unter Linux repräsentiert. Falls also - Windows-Anwendungen unter WINE über die Schnittstelle Com1 auf das - Gerät zugreifen sollen, das unter Linux durch die Gerätedatei - /dev/ttyS0 repräsentiert wird, so muss in der Konfigurationsdatei - der folgende Abschnitt zu finden sein: - - [serialports] - "Com1" = "/dev/ttyS0" - - - Die Konfiguration paralleler Schnittstellen erfolgt analog zur - Konfiguration serieller. Der Name des entsprechenden Abschnitts - lautet [parallelports] und die Namen paralleler Schnittstellen - unter DOS und Windows lauten Lpt1, lpt2 usw. Wenn also von - Windows-Programmen unter WINE über den Namen Lpt1 auf die parallele - Schnittstelle zugegriffen werden soll, welche unter Linux durch die - Gerätedatei /dev/lp0 repräsentiert wird, so wäre in die - Konfigurationsdatei dieser Abschnitt aufzunehmen. - - [parallelports] - "Lpt1" = "/dev/lp0" - - Um den Zugriff auf bestimmte Ein- und Ausgabeadressen zu ermöglichen, - sind die gewünschten Adressen in hexadezimaler Schreibweise im - Abschnitt [ports] anzugeben. Als Adressen lassen sich entweder - einzelne Adressen (Beispiel: 0x779) oder Adressbereiche angeben. Bei - Adressbereichen werden die untere und obere Adresse des gewünschten - Bereichs, verbunden durch einen Bindestrich, angegeben (Beispiel: - 0x280-0x2a0). Wenn mehrere Adressen oder Adressbereiche konfiguriert - werden sollen, sind diese hintereinander - durch Kommata getrennt - - anzugeben. Adressen, von denen gelesen werden soll, sind der Variablen - read zuzuordnen und solche, auf die geschrieben werden soll, der - Variablen write. Falls auf eine bestimmte Adresse sowohl lesend als - auch schreibend zugegriffen werden soll, ist sie beiden Variablen - zuzuordnen. Beispiel: - - [ports] - "read" = "0x378,0x379,0x220-0x2a0" - "write" = "0x379,0x220-0x2a0" - - - 7.7.1 Zugriff auf SCSI-Geräte - - WINE ermöglicht auch den direkten Zugriff auf SCSI-Geräte (über die - ASPI-Schnittstelle). Hierzu sind keine speziellen Angaben in der - Konfiguration notwendig, allerdings muss der Kernel des Systems so - konfiguriert worden sein, dass er die Unterstützung für generischen - SCSI-Zugriff enthält. Außerdem müssen die Gerätedateien, welche die - generischen SCSI-Geräte repräsentieren (normalerweise /dev/sg0, - /dev/sg1 usw.) mit ausreichenden Rechten für den Zugriff - ausgestattet sein. - - 7.8 Konfiguration der Windows-Systemregistratur - - Windows-Betriebssysteme stellen eine Datenbank zur Verfügung, in - der Programme u.a. Konfigurationsdaten ablegen und später wieder - auslesen können. Diese so genannte Registratur wird von WINE - ebenfalls bereitgestellt. WINE ist ferner in der Lage, die - Registratur einer bestehenden Windows-Installation zu importieren, - damit den mit WINE ausgeführten Programmen alle Daten zur Verfügung - stehen, die auch unter Windows verfügbar sind. Dies ist - insbesondere dann von Bedeutung, wenn Programme unter Windows - installiert worden sind und unter WINE ausgeführt werden. Es ist zu - beachten, dass WINE die Registratur einer bestehenden - Windows-Installation niemals verändert. Falls Programme also unter - WINE Daten in die Registratur schreiben, stehen diese unter Windows - nicht zur Verfügung. WINE speichert die Registratur vielmehr in - eigenen Dateien, welche sich üblicherweise unterhalb des - Heimatverzeichnisses des betreffenden Benutzers befinden. Neben den - benutzerspezifischen Registraturdaten können vom Administrator - systemweit gültige Dateien bereit gestellt werden. Diese befinden - sich üblicherweise in dem gleichen Verzeichnis wie die systemweit - gültige Konfigurationsdatei, also in /etc oder in /usr/local/etc, - wenn WINE mit den Standardeinstellungen übersetzt wurde. Im - Abschnitt [registry] der Konfigurationsdatei stehen die folgenden - Variablen zur Verfügung, mit denen u.a. bestimmt werden kann, ob - eine bestehenden Registratur importiert werden soll und wo WINE die - eigene Registratur ablegen soll. - - LoadGlobalRegistryFiles - Wenn diese Variable auf den Wert true gesetzt ist, liest - WINE die systemweit gültigen Registraturdaten ein. Dies ist - die Standardeinstellung. Beispiel: "LoadGlobalRegistryFiles" = - "true" - - LoadHomeRegistryFiles - Wenn diese Variable auf den Wert true gesetzt ist, liest - WINE die Registraturdaten aus dem Verzeichnis .wine im - Heimatverzeichnis des aufrufenden Benutzers ein. Die - Registraturdaten des Benutzers werden nach den systemweit - gültigen Daten geladen, so dass Benutzer die - Voreinstellungen aus der globalen Registratur mit eigenen - Werten überschreiben können. Beispiel: - "LoadHomeRegistryFiles" = "true" - - LoadWindowsRegistryFiles - Mit dieser Variablen wird bestimmt, ob die Registratur einer - bestehenden Windows-Installation geladen werden soll. Wenn - die Variable auf den Wert true gesetzt ist, stellt WINE - selbstständig fest, um welche Version von Windows es sich - bei der bestehenden Installation handelt und liest die - Registraturdaten der Installation ein. Es ist zu beachten, - dass dies nur funktioniert, wenn das Windows- und das - Systemverzeichnis im allgemeinen Teil der - Konfigurationsdatei richtig angegeben worden sind und der - bestehenden Installation entsprechen. Außerdem ist es - u.U. notwendig, die Variable Profile im allgemeinen Teil - richtig zu setzen. Beispiel: "LoadWindowsRegistryFiles" = "true". - - WriteToHomeRegistryFiles - Wird diese Variable auf den Wert true gesetzt, versucht WINE - alle Änderungen, die während der Laufzeit von WINE an der - Registratur vorgenommen werden, in die Registraturdateien im - Verzeichnis .wine des aufrufenden Benutzers zu - schreiben. Dies ist in der Regel notwendig, damit - Windows-Programme (insbesondere Installationsprogramme) - Änderungen an der Konfiguration abspeichern - können. Beispiel: "WriteToHomeRegistryFiles" = "true". - - PeriodicSave - Wenn Veränderungen an der Registratur von WINE gespeichert - werden sollen, geschieht dies normalerweise automatisch, - während WINE beendet wird. Allerdings werden die Änderungen - dann nicht gespeichert, wenn WINE aufgrund eines Fehlers - nicht korrekt beendet werden kann. Deswegen ist es möglich, - mit dieser Variablen anzugeben, in welchem Zeitintervall das - Programm die Registratur automatisch sichern soll. Die - dieser Variablen übergebene Zahl wird als Zeitintervall in - Sekunden interpretiert. Damit die Registratur also - beispielsweise alle 10 Minuten automatisch abgespeichert - wird, wäre diese Variable so zu setzen: "PeriodicSave" = "600". - - SaveOnlyUpdatedKeys - Mit dieser Variablen kann bestimmt werden, ob WINE lediglich - solche Teile der Registratur sichern soll, die sich während - der Laufzeit verändert haben oder ob immer die gesamte - Registratur gespeichert werden soll. Das folgende Beispiel - speichert die Registratur komplett: - "SaveOnlyUpdatedKeys" = "false". - - Hinweis: - Weil das Importieren einer großen Windows-Registratur ein relativ - zeitaufwendiger Vorgang ist, empfiehlt es sich, die - Windows-Registratur nur beim ersten Start von WINE zu importieren - ("LoadWindowsRegistryFiles" = "true") und diese dann komplett von WINE - speichern zu lassen ("SaveOnleUpdatedKeys" = "false"). Danach liegt die - Registratur vollständig in WINEs eigenem Format vor, so dass bei - späteren Starts von WINE auf den Import der Windows-Registratur - verzichtet werden kann ("LoadWindowsRegistryFiles" = "false"). - - 7.9 Einstellung des Look and Feel - - Im Abschnitt Tweak.Layout der Konfiguration lässt sich durch die - Variable WINELook bestimmen, welches Look and Feel von Windows - durch WINE nachempfunden werden soll. Der Wert Win31 bewirkt, dass - WINE alle Fensterelemente in dem Erscheinungsbild erzeugt, wie es - von Windows 3.11 bekannt ist. Analog dazu bewirken die Werte Win95 - und Win98 ein moderneres Erscheinungsbild. Beispiel: - - [Tweak.Layout] - "WINELook" = "Win98" - - - 7.10 Konfiguration der Windows-Console - - Im Gegensatz zu 16-Bit-Windows-Versionen ist es mit dem Win32 API wie - unter UNIX möglich, Programme für den Textmodus zu erstellen, die - unter Windows normalerweise in einem so genannten "MS-DOS-Fenster" - ausgeführt werden (obwohl diese Programme nicht viel mit MS-DOS zu - tun haben). Unter WINE verwenden solche Programme standardmäßig die - Standardeingabe und -Ausgabe des Terminals, von dem aus WINE - gestartet wurde. Im Abschnitt [Console] der Konfigurationsdatei ist - es möglich, die Eigenschaften der Konsole für Windows-Programme - näher zu bestimmen. - - Drivers - Hiermit wird festgelegt, wie die Konsole zur Verfügung - gestellt werden soll. WINE kann dazu das mit dem - WINE-Prozess verbundene Terminal verwenden oder für jedes - Windows-Programm, welches eine neue Konsole anfordert, ein - neues Terminalfenster (wie z.B. xterm) starten. Im - allgemeinen ist es zu empfehlen, für jede Konsole ein - eigenes Terminalfenster zu verwenden, weil es zu - unerwünschten Nebeneffekten kommen kann, wenn verschiedene - Windows-Prozesse und WINE selbst das selbe Terminal - verwenden. Es ist ferner möglich, die ncurses-Bibliothek zu - benutzen, um bestimmte Eigenschaften, wie die Darstellung - unterschiedlicher Farben, zu benutzen. Der Variablen Drivers - kann zur Zeit eine Kombination aus den folgenden - Schlüsselwörtern übergeben werden: tty, xterm und - ncurses. Wenn mehrere diese Schlüsselwörter benutzt werden, - sind diese durch das Plus-Zeichen voneinander zu - trennen. Die Angabe tty bewirkt, dass WINE das Terminal für - die Konsole verwendet, mit welchem der WINE-Prozess - verbunden ist. Durch die Angabe xterm wird ein neues - Terminalfenster geöffnet, wenn ein Windows-Programm eine - neue Konsole anfordert. Die Angabe ncurses bewirkt, dass die - ncurses-Bibliothek benutzt wird. Dies funktioniert nur, wenn - die Unterstützung dafür beim Übersetzen des Programms - aktiviert wurde. Beispiel: "Drivers" = "ncurses+xterm" - - XtermProg - Hiermit lässt sich angeben, welches Programm aufgerufen - werden soll, um die Konsole in einem eigenen Fenster - darzustellen (z.B. bei "Drivers" = "xterm"). Es lassen sich alle - Terminalemulationsprogramme verwenden, welche die von xterm - her bekannten Kommandozeilenargumente verstehen. Beispiel: - "XtermProg" = "wterm". - - InitialRows - Mit der Variablen wird angegeben, wieviele Zeilen die - Konsole nach ihrem Start haben soll. Beispiel: - "InitialRows" = "24". - - InitialColumns - Mit der Variablen wird angegeben, wieviele Spalten die - Konsole nach ihrem Start haben soll. Beispiel: - "InitialColumns" = "80". - - TerminalType - Hiermit lässt sich festlegen, von welchem Terminaltyp die - ncurses-Bibliothek ausgehen soll. Typische Werte sind xterm - oder linux. - - 7.11 Die Zwischenablage - - Das Konzept der Zwischenablage unterscheidet sich zwischen Windows - und dem X Window System etwas. Um beispielsweise einen Text in die - Zwischenablage zu stellen, wird dieser unter Windows normalerweise - zunächst markiert und dann über einen Menübefehl in die - Zwischenablage kopiert oder verschoben. Unter X stehen mindestens - zwei Typen von Zwischenablage zur Verfügung. Nachdem ein Text dort - markiert worden ist, steht er als so genannte primäre Auswahl zur - Verfügung; er kann dann sofort in andere Anwendungen eingefügt - werden (etwa durch Betätigung der mittleren Maustaste). Die - Zwischenablage ist eine weitere Auswahl, in die Texte oder andere - Daten von vielen X-Anwendungen aus kopiert und von dort aus wieder - eingefügt werden können. Im Abschnitt [clipboard] der - Konfigurationsdatei lässt sich bestimmen, wie die - Windows-Zwischenablage mit der Zwischenablage des X Window Systems - interagiert. - - ClearAllSelections - Wenn diese Variable auf true gesetzt ist, wird der Inhalt - der Windows-Zwischenablage gelöscht und durch den Inhalt der - Zwischenablage des X Window Systems ersetzt, falls in einer - anderen X Anwendung etwas in die primäre Auswahl gestellt - wird. Wird bei Verwendung dieser Einstellung also zunächst - etwas mit einem Windows-Programm in die Zwischenablage - gestellt und danach mit der Maus ein Text in einer X - Anwendung markiert, so geht der ursprüngliche Inhalt der - Windows-Zwischenablage verloren und es steht dort der mit - der Maus markierte Text zur Verfügung. Falls die Variable - auf false gesetzt ist, bleibt der Inhalt der Zwischenablage - durch die Veränderung der primären Auswahl unberührt. Um - dann beispielsweise einen Text von XEmacs nach Word zu - kopieren, reicht es nicht aus, den Text in XEmacs zu - markieren, sondern er muss dort explizit in die - Zwischenablage kopiert werden, falls sich dort vorher eine - Auswahl befand, die von einer Windows-Anwendung aus - vorgenommen wurde. Beispiel: "ClearAllSelections" = "true" - - PersistentSelection - Nachdem WINE beendet worden ist, kann der Inhalt der - Zwischenablage anderen X Programmen normalerweise nicht mehr - zur Verfügung gestellt werden. Wenn diese Variable auf true - gesetzt ist, startet WINE deswegen ein kleines - Hintergrundprogramm (wineclipsrv) welches den Inhalt der - Zwischenablage so lange verfügbar hält, bis dieser durch ein - anderes Programm ersetzt wird und sich dann - beendet. Beispiel: "PersistentSelection" = "true" - - 7.12 Konfiguration des PostScript-Druckertreibers - - WINE kann zwei Typen von Druckertreibern verwenden, nämlich echte - 16bit Windows-Druckertreiber, wie Sie von Windows 3.11 oder Windows - 95/98 benutzt werden, oder einen eigenen PostScript- Druckertreiber, - mit dem sich aus den meisten Windows-Anwendungen heraus im - PostScript-Format drucken lässt. Diese PostScript-Ausgabe kann dann - über die Spooler-Software des Systems (normalerweise lpr/lpd) auf - einen direkt angeschlossenen oder fernen Drucker ausgegeben werden. - - Hinweise zur Verwendung von 16bit-Windows-Druckertreiber finden - sich u.a. in der Datei printing im Unterverzeichnis documentation - des WINE-Quellcodeverzeichnisses. Im folgenden soll lediglich auf - die Konfiguration des eingebauten PostScript-Druckertreibers - eingegangen werden (was generell sowieso bevorzugt wird). - - Zunächst ist das Vorhandensein des Druckertreibers anzumelden. Dazu - sind in der Datei win.ini im Windows-Verzeichnis die folgenden - Änderungen vorzunehmen: - - [windows] - device=WINE PostScript Driver,WINEPS,LPT1: - - [devices] - WINE PostScript Driver=WINEPS,LPT1: - - Falls Sie WINE ohne eine bestehende Windows-Installation verwenden, - kann es sein, dass die Datei win.ini noch nicht existiert. In - diesem Fall kann die Datei neu angelegt und die oben gezeigten - Zeilen dort eingetragen werden. Falls die Datei bereits vorhanden - ist, müssen die Abschnitte [devices] und [windows] in der Datei - lokalisiert und um die oben gezeigten Zeilen ergänzt - werden. Keinesfalls sollten die Abschnitte devices oder windows - mehrmals in der Datei vorhanden sein. - - Damit auch von 32bit Programmen aus gedruckt werden kann, ist es - notwendig, einige Einträge in der Registratur vorzunehmen. Diese - Einträge sind in der Datei winedefault.reg im Wine-Hauptverzeichnis - vorhanden und lassen sich mit dem Programm regedit, welches sich im - Unterverzeichnis programs/regedit des Quellcodeverzeichnisses befindet, - importieren. Falls noch nicht geschehen, ist regedit dazu zunächst zu - übersetzen. Zu diesem Zweck ist in das Verzeichnis programs/regedit - zu wechseln und dort der Befehl make einzugeben (dies setzt - voraus, dass WINE bereits erfolgreich übersetzt wurde). Danach - können die erforderlichen Schlüssel durch die Eingabe des folgenden - Befehls importiert werden: - - ./regedit ../../winedefault.reg - - Achtung: - Bei dem Programm regedit handelt es sich um ein sogenanntes - WineLib-Programm. Solche Programme benutzen WINE, um - Windows-spezifische Funktionen verwenden zu können. Damit sie - ausgeführt werden können, muss bereits eine funktionsfähige - WINE-Konfiguration vorhanden sein. Dieser Schritt sollte also nicht - durchgeführt werden, bevor die Erstellung der Konfigurationsdatei - abgeschlossen und die Funktionsfähigkeit von WINE getestet worden - ist. - - Weiter wird eine so genannte PPD-Datei benötigt. Eine solche Datei - beschreibt verschiedene Eigenschaften des Druckers und wird - benötigt, damit WINE beispielsweise entscheiden kann, ob in Farbe - oder in Schwarz-Weiß gedruckt werden kann. Wenn kein - PostScript-fähiger Drucker benutzt wird, dann benötigt man eine - PPD-Datei, welche die Eigenschaften des ghostscript-Treibers für - den eingesetzten Drucker beschreibt, weil dieses Programm in der - Regel zur Umwandlung von PostScript in das Druckerformat benutzt - wird. Mit Debian stehen solche Dateien in dem Paket ppd-gs zur - Verfügung. Wird dieses Paket benutzt, sollte vorher die Datei - /usr/doc/ppd-gs/README gelesen werden. - - Eine Reihe von PPD-Dateien stehen unter der Adresse - ftp://ftp.adobe.com/pub/adobe/printerdrivers/win/all/ppdfiles/ zur - Verfügung. In dem Verzeichnis befinden sich selbstauspackende - ZIP-Archive, die PPD-Dateien für Drucker verschiedener Hersteller - enthalten. Diese Archive können mit dem Programm unzip(1) entpackt - werden. Um beispielsweise die Datei hp.exe auszupacken, wäre - folgender Befehl einzugeben: - - unzip -L hp.exe - - Danach ist die gewünschte PPD-Datei auszuwählen, hierbei muss - u.U. ein wenig experimentiert werden, um optimale Ergebnisse zu - erzielen. Die Datei kann dann beispielsweise in das Verzeichnis - /usr/local/etc/ kopiert werden und muss WINE durch den folgenden - Eintrag in der Konfigurationsdatei bekannt gemacht werden: - - [psdrv] - "ppdfile" = "/usr/local/etc/HP4M3_V1.PPD" - - Falls sich die Datei in einem anderen Verzeichnis befindet oder - einen anderen Namen trägt, ist der Wert für die Variable ppdfile - natürlich entsprechend anzupassen. - - Schließlich benötigt WINE die Fontmetric-Dateien der Schriftarten, - die auf dem Drucker (oder mit ghostscript) zur Verfügung - stehen. Eine Reihe solcher Fontmetric-Dateien lassen sich unter - Debian beispielsweise mit dem Paket tetex-extra installieren. Sie - befinden sich nach der Installation unterhalb des Verzeichnisses - /usr/share/texmf/fonts/afm. Sie haben normalerweise die - Dateinamensendung .afm (Adobe FontMetric). Die zu verwendenden - Dateien sind im Abschnitt [afmfiles] der Konfigurationsdatei - anzugeben. Der Name jeder Datei ist dabei einer Variablen - zuzuordnen, deren Name sich aus der Zeichenkette file und einer - fortlaufenden Ziffer zusammensetzt. Bei der Auswahl der - AFM-Dateien ist zu beachten, dass nur die Dateien angegeben werden - brauchen, für die der entsprechende Font tatsächlich in der vorher - definierten PPD-Datei genannt wurde. Die Bezeichnungen der Fonts - befinden sich normalerweise in den Fontmetric-Dateien, die mit - einem Texteditor betrachtet werden können. Der Anfang des - entsprechenden Abschnitts in der Konfigurationsdatei könnte - beispielsweise folgendermaßen aussehen: - - [afmfiles] - "file1" = "/usr/share/texmf/fonts/afm/adobe/times/ptmb8a.afm" - "file2" = "/usr/share/texmf/fonts/afm/adobe/times/ptmbi8a.afm" - "file3" = "/usr/share/texmf/fonts/afm/adobe/times/ptmr8a.afm" - "file4" = "/usr/share/texmf/fonts/afm/adobe/times/ptmri8a.afm" - "file5" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvbo8an.afm" - "file6" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvb8a.afm" - "file7" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvb8an.afm" - "file8" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvbo8a.afm" - "file9" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvro8an.afm" - "file10" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvr8a.afm" - "file11" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvr8an.afm" - "file12" = "/usr/share/texmf/fonts/afm/adobe/helvetic/phvro8a.afm" - - Auch hier sind die Dateinamen natürlich an die tatsächlich - benutzten Fontmetric-Dateien anzupassen. Der Druckertreiber sollte - dann als WINE PostScriptDriver in den Druckdialogen der - Windows-Anwendungen zur Verfügung stehen. - - 7.13 Konfiguration des Spoolers - - Standardmäßig werden Druckdaten in eine Datei im aktuellen - Arbeitsverzeichnis ausgegeben, deren Name der Bezeichnung des - Druckeranschlusses unter Windows, auf den gedruckt wurde, entspricht. - Im Abschnitt [spooler] der Konfigurationsdatei lässt sich die Ausgabe in - eine andere Datei umlenken oder an ein anderes Programm weiterleiten. - Dazu ist in dem Abschnitt der Name des Anschlusses als - Variablenbezeichnung anzugeben (Beispiel: LPT1:) und dieser Variable - der Name der Datei zu übergeben, in welche die Druckausgabe gelenkt - werden soll. Um die Ausgabe an die Standardeingabe eines Programms zu - übergeben, ist der Name des gewünschten Programms hinter dem - Pipe-Zeichen (|) anzugeben. - - Wenn also beispielsweise die Ausgabe auf den Anschluss LPT1: an das - Programm lpr übergeben werden soll, um sie dem Spooler zuzuführen, - wäre in die Konfigurationsdatei folgender Abschnitt aufzunehmen: - - [spooler] - "LPT1:" = "|lpr" - - - 7.14 Multimedia-Konfiguration - - Die Multimedia-Architektur unter Windows besteht aus verschiedenen - Typen von Treibern und Schnittstellen, die von Windows-Programmen - benutzt werden können. Diese Architektur wird von WINE - nachgebildet, wobei unterschiedliche Bestandteile mehr oder weniger - vollständig vorhanden sind. Eine ausführliche Beschreibung der - Multimedia-Architektur von WINE befindet sich in der Datei - multimedia im Unterverzeichnis documentation/status des - WINE-Quellcodes. - - WINE stellt einen eigenen Treiber zur Ansteuerung der Soundhardware - zur Verfügung. Diese Ansteuerung geschieht über die Gerätedateien - /dev/dsp, /dev/audio, /dev/mixer usw. Deswegen muss darauf geachtet - werden, dass Schreib- und Leseberechtigung für diese Dateien - besteht, falls die Soundunterstützung von WINE benutzt werden - soll. Der Treiber setzt auf die OSS- (Open Sound System) Treiber - auf, die standardmäßig Bestandteil des Linux-Kernels sind. - - Bis auf die Bibliotheken winmm und mmsystem lassen sich alle - anderen Komponenten des Multimediasystems auch aus einer - bestehenden Windows-Installation verwenden. Dies ist vor allem bei - einigen MCI-Treibern hilfreich, die in WINE noch nicht vollständig - implementiert sind. MCI-Treiber werden geladen, wenn im Abschnitt - [mci] der Datei system.ini im Windows-Verzeichnis Anweisungen in der - folgenden Form stehen: - - [mci] - cdaudio=mcicda.drv - sequencer=mciseq.drv - - Bei Verwendung einer bestehenden Windows-Installation sollten sich - die entsprechenden Anweisungen dort bereits befinden. Wird ohne - eine bestehende Windows-Installation gearbeitet, kann die Datei - system.ini im Unterverzeichnis documentation/samples des - WINE-Quellcodeverzeichnisses als Vorlage dienen. Durch die Variable - mci im Abschnitt [options] der Konfigurationsdatei von WINE lassen - sich die Definitionen aus der Datei system.ini überschreiben. Das - ist sinnvoll, um bestimmte Treiber nicht zu laden, die in der Datei - system.ini angegeben sind, weil diese Treiber mit WINE nicht - richtig funktionieren. Dies ist zur Zeit mit dem MCI-Treiber - videodisk der Fall. Um alle MCI-Treiber (bis auf videodisk) zu - laden, könnte in die Konfigurationsdatei der also der folgende - Abschnitt aufgenommen werden: - - [options] - "mci" = "CDAUDIO:SEQUENCER:WAVEAUDIO:AVIVIDEO:MPEGVIDEO" - - Ob ein Treiber aus einer bestehenden Windows-Installation geladen - oder der von WINE zur Verfügung gestellte Treiber benutzt werden - soll, kann wie bei Bibliotheken im Abschnitt DllOverrides der - Konfigurationsdatei festgelegt werden, wie es weiter oben - beschrieben wurde. Dabei ist zu beachten, dass die - Dateinamensendung .drv bei Treibern - im Gegensatz zu Bibliotheken - - mit anzugeben ist. Um beispielsweise die MCI-Treiber mciavi und - mcianim aus einer bestehenden Installation zu laden und die übrigen - Treiber von WINE zu verwenden, wären dem Abschnitt [DllOverrides] - die folgenden Zeilen zuzufügen: - - "mciavi.drv, mcianim.drv" = "native, builtin" - "mcicda.drv, mciseq.drv" = "builtin, native" - "msacm.drv, midimap.drv" = "builtin, native" - "mciwave.drv" = "builtin, native" - - - 7.15 Einrichten der Registratur - - Eine Reihe von Windows-Programmen und WINE selbst benötigen - bestimmte Einträge in der Registratur, damit sie richtig - funktionieren. Wenn WINE ohne eine bestehende Windows-Installation - benutzt wird oder die Windows-Registratur nicht importiert werden - soll, sind diese Einträge noch nicht vorhanden und müssen mit dem - weiter oben bereits erwähnten Programm regapi importiert - werden. Als Vorlage kann dazu die Datei winedefault.reg im - Quellcodeverzeichnis von WINE dienen. Die Datei sollte jedoch - daraufhin überprüft werden, ob alle dort angegebenen - Laufwerksbuchstaben und Pfade stimmen, bevor sie importiert wird. - Außerdem sollte in der Konfigurationsdatei natürlich festgelegt - sein, dass die Registratur bei Beendigung des Programms gespeichert - wird, damit die importierten Daten auch beim nächsten Aufruf von - WINE zur Verfügung stehen. Danach kann in das Unterverzeichnis - programs/regapi des Quellcodeverzeichnisses gewechselt werden. Dort - ist das Programm zunächst durch Eingabe des Befehls make zu - erstellen, falls dies noch nicht geschehen ist. Danach können die - erforderlichen Daten mit dem folgenden Befehl importiert werden: - - ./regapi setValue < ../../winedefault.reg - -8 Aufruf von WINE und Kommandozeilenoptionen - - WINE lässt sich wie jedes andere Programm von der Kommandozeile aus - aufrufen. Der Name des auszuführenden Windows-Programms ist WINE - dabei an der Kommandozeile angeben. Programme, die sich in einem - Verzeichnis befinden, das in der Variablen Path im Abschnitt WINE - der Konfigurationsdatei aufgeführt ist, können dabei ohne Angabe - des Pfadnamens aufgerufen werden. Die Angabe der Dateinamensendung - .exe ist optional. Falls WINE also gestartet und das - Windows-Programm winmine (Minesweeper) geladen werden soll, wäre - der folgende Befehl einzugeben, vorausgesetzt, die Datei - winmine.exe würde sich in einem Verzeichnis befinden, welches in - der Variablen Path aufgeführt ist. - - wine winmine.exe - - Sollen Programme gestartet werden, die sich in Verzeichnissen - befinden, welche nicht in der Variablen Path befinden, ist es - erforderlich, den Pfadnamen mit anzugeben. Hier kann entweder der - DOS-/Windows-Pfadname oder der UNIX-Pfadname benutzt werden. Die - beiden folgenden Befehle würden also das gleiche bewirken, falls - das Laufwerk C: dem UNIX-Verzeichnis /var/winroot zugeordnet wäre. - - wine c:\\windows\\winmine.exe - wine /var/winroot/windows/winmine.exe - - Der Rückwärts-Schrägstrich hat für die Shell Bash eine besondere - Bedeutung und wird deswegen normalerweise nicht an WINE - übergeben. Durch die doppelte Angabe dieses Zeichens wird bewirkt, - dass ein einfacher Schrägstrich übergeben wird. Datei- und - Verzeichnisnamen enthalten unter Windows gelegentlich - Leerzeichen. Auch hier ist es notwendig einen Trick anzuwenden, - damit die Leerzeichen nicht dazu führen, dass die Shell die - einzelnen Teile der Namen in verschiedenen Argumente zerlegt. Der - folgende Befehl würde beispielsweise nicht zum gewünschten Ergebnis - führen: - - wine /var/winroot/Programme/Microsoft Games/RoA Trial Version/PACDEMO.EXE - - Hier würde die Shell WINE vier Argumente übergeben, nämlich - /var/winroot/Programme/Microsoft, Games/RoA, Trial und - Version/PACDEMO.EXE, woraufhin das zu startende Programm nicht mehr - gefunden werden würde. Damit die Shell bei Leerzeichen keine - Trennung durchführt, ist den betreffenden Leerzeichen ebenfalls ein - rückwärtsgerichteter Schrägstrich voranzustellen: - - wine /var/winroot/Programme/Microsoft\ Games/RoA\ Trial\ Version/PACDEMO.EXE - - Falls Argumente dem zu startenden Windows-Programmen übergeben - werden sollen, ist dem Programmnamen ein -- voranzustellen, um Wine - das Ende der Wine-Optionen anzuzeigen (damit Wine nicht durch Programm- - Optionen verwirrt werden kann, die evt. ebenfalls --XXX heissen). - Um beispielsweise das Programm notepad.exe zu starten und diesem Programm - das Argument readme.1st zu übergeben, wäre WINE so aufzurufen: - - wine -- notepad readme.1st - - Wenn mehrere Windows-Programme hintereinander gestartet werden sollen, - muss WINE mehrmals hintereinander mit den entsprechenden Programmnamen - als Argument aufgerufen werden. - - 8.1 Kommandozeilenoptionen - - Neben den Namen der zu startenden Programme versteht WINE eine Reihe - von Optionen, mit denen die Operation des Programms global beeinflusst - werden kann. Diese Optionen werden direkt von WINE interpretiert - und nicht an das aufzurufende Windows-Programm übergeben. - - --help - Die Option bewirkt, dass eine Übersicht über die verfügbaren - Optionen ausgegeben wird. - - --version - Die Option bewirkt, dass die Versionsnummer von WINE - angezeigt wird. - - --dll Bibliothek[,Bibliothek ...]=b|n[:Bibliothek[,Bibliothek,...]=b|n] - Mit dieser Option lassen sich die Einstellungen aus dem - Abschnitt [DllOverrides] aus der Konfigurationsdatei - überschreiben, es kann also angegeben werdem, welche - Bibliotheken aus einer bestehenden Windows-Installation - geladen und welche direkt von WINE zu Verfügung gestellt - werden sollen. Der Option ist ein Ausdruck zu übergeben, - welcher aus den Namen der betreffenden Bibliotheken besteht, - die durch Kommata (ohne Leerzeichen) voneinander getrennt - werden. Danach folgt ein Gleichheitszeichen und daraufhin - entweder der Buchstabe b, um zu bestimmen, dass die - angegebenen Bibliotheken von WINE zur Verfügung gestellt - werden sollen, oder der Buchstabe n, damit versucht wird, - die Bibliotheken aus einer bestehenden Installation zu - laden. Solche Ausdrucke können wiederholt angegeben werden, - sie sind dann durch einen Doppelpunkt (ohne Leerzeichen) - voneinander zu trennen. Sollen beispielsweise die - Bibliotheken shell, commdlg und commctrl mit ihren - zugehörigen 32bit Bibliotheken aus einer bestehenden - Installation geladen werden und die Bibliothek advapi32 von - WINE zur Verfügung gestellt werden, obwohl dies in der - Konfigurationsdatei anders angegeben ist, so könnte man die - Option so einsetzen: - - --dll commdlg,comdlg32,commctrl,comctl32,shell,shell32=n:advapi32=b. - - --debugmsg +|-foo,+|-bar - Diese Option dient dazu, zu kontrollieren, welche Art von - Informationen WINE zur Fehler- und Ablaufverfolgung ausgeben - soll. Es stehen eine Reihe so genannter Kanäle zur Verfügung, - deren Namen angezeigt werden, wenn die Option ohne weitere Angaben - benutzt wird. Die einzelnen Kanäle entsprechen normalerweise - unterschiedlichen Teilbereichen von WINE, deren Verhalten durch - die Ausgabe bestimmter Informationen überprüft werden kann. Um - beispielsweise die Meldungen für den Kanal file einzuschalten, - wäre die Option --debugmsg +file zu benutzen. Wenn die - Meldungen der Kanäle file und dosfs ausgegeben werden sollen, - wäre --debugmsg +file,+dosfs anzugeben. Weitere Informationen - hierzu befinden sich in der Datei debug-msg im Unterverzeichnis - documentation des WINE-Quellcodeverzeichnisses. Zwei besonders - wichtige Kanäle sind relay und snoop. Wenn der Kanal relay - eingeschaltet ist, wird ausgegeben, welche Funktionen in WINE - von Windows-Programmen mit welchen Parametern aufgerufen werden - und welche Rückkehrwerte diese Funktionen liefern. Der Kanal - snoop zeigt an, welche Funktionen aus echten - Windows-Bibliotheken aufgerufen werden. Die Ausgabe des Kanals - relay dient WINE-Entwicklern oft dazu, festzustellen, wo ein - Fehler aufgetreten ist. Deswegen ist es ratsam, bei - Fehlerberichten in die WINE-Newsgroup die letzten 200 Zeilen - der Ausgabe von WINE mitzuschicken, die bei dem Aufruf des - Programms mit der Option --debugmsg +relay vor Auftreten des - Fehlers entstanden sind. - -9 Fehlerquellen - - WINE befindet sich zur Zeit noch mitten in der Entwicklung, weswegen - viele Windows-Programme nur teilweise oder überhaupt nicht damit - funktionieren. Mit großer Wahrscheinlichkeit werden einige Programme - sogar nie mit WINE funktionieren, beispielsweise weil sie eigene - Windows-Treiber brauchen, die unter Linux nicht geladen werden können. - Trotzdem funktionieren viele Windows-Programme ausgesprochen gut mit - WINE und die Anzahl funktionierender Programme erhöht sich relativ - schnell. Wenn ein Programm nicht wie gewünscht funktioniert, kann es - deswegen hilfreich sein, die folgenden Fragen zu untersuchen: - - WINE funktioniert überhaupt nicht - In bestimmten Paketversionen der C-Bibliothek (Version - 2.1.3) liegt ein Fehler vor, der dazu führt, dass WINE - direkt nach dem Start mit Fehlermeldungen abbricht. Sie - können das Problem beheben, indem Sie eine neuere Version - der C-Bibliothek installieren oder die Variable LANG auf - einen Wert setzen. Bei Verwendung der Bash kann dies - beispielsweise durch Eingabe des folgenden Befehls - geschehen: export LANG=de_DE. - - WINE funktioniert immer noch nicht - Wenn Sie WINE auf die beschriebene Art installiert haben, - sollten Sie überprüfen, dass sich nicht gleichzeitig noch - eine andere, ältere Version des Programms auf dem Rechner - befindet, welches u.U. von Ihrer Distribution mitinstalliert - wurde. Dies könnte nämlich dazu führen, dass versucht wird, - inkompatible Bibliotheken zu laden. - - Windows- und Windows/system-Verzeichnis sind nicht richtig angegeben - Die Meldung Invalid path 'c:\windows' for windows directory - besagt, dass im Abschnitt WINE der Konfigurationsdatei mit - der Variablen Windows ein Windows-Verzeichnis angegeben - wurde, welches nicht existiert. Es ist dann zu überprüfen, - ob das Windows-Verzeichnis vorhanden ist und ob das - Laufwerk, auf dem es sich befindet, dem richtigen - UNIX-Verzeichnis zugeordnet ist. - - Die Zuordnungen der Laufwerksbuchstaben stimmen nicht - Wenn beim Start von WINE Meldungen wie Warning: - /var/winroot/windows/sol.exe not accessible from a DOS drive - ausgegeben werden, teilt WINE mit, dass das auszuführende - Programm sich in einem Verzeichnis befindet, das aufgrund - der Zuordnungen in der Konfigurationsdatei mit keinem - Laufwerk assoziiert ist. Es sollten dann die - Laufwerkszuordnungen überprüft werden. - - Windows-Programme finden Einstellungen und Bibliotheken nicht - Wenn WINE mit einer bestehenden Windows-Installation benutzt - wird, ist es erforderlich, dass die Laufwerksbuchstaben - unter Windows und WINE übereinstimmen. Falls ein Programm - nämlich beispielsweise in der Registratur gespeichert hat, - dass sich eine bestimmte Komponente im Verzeichnis - C:\Windows\System befindet, dann ist es erforderlich, dass - dieses Programm die Komponente auch unter WINE in dem selben - Verzeichnis findet. Es ist jedoch möglich mit WINE - zusätzliche Laufwerke zu verwenden (also z.B. das eigene - Heimatverzeichnis einem Laufwerksbuchstaben zuzuordnen), die - unter Windows nicht vorhanden sind. - - Spiele werden im Fenster dargestellt, obwohl Vollbild ausgewählt wurde - und sind zu langsam - - Die meisten Spiele benutzen einen bestimmte Farbtiefe, in - die Windows umschaltet, wenn das betreffende Spiel gestartet - wird. Mit dem X Window System ist es leider nicht möglich - die Farbtiefe während des laufenden Betriebs zu ändern, - weswegen WINE die gewünschte Farbtiefe in einem Fenster - emulieren muss, falls der X-Server nicht in der richtigen - Farbtiefe läuft. Dadurch wird sehr viel Rechenleistung - benötigt und außerdem kann nicht in einen Vollbildmodus - geschaltet werden. Abhilfe schafft hier nur, den X-Server in - der richtigen Farbtiefe zu starten, bevor WINE aufgerufen - wird. Hierzu dienen die Optionen -bpp, bei X-Servern des - XFree86-Projekts der Versionsfamilie 3.3.x bzw. -depth in - der Versionsfamilie 4.0) Gelegentlich empfiehlt es sich - auch, einen zweiten X-Server zu starten, was am einfachsten - mit dem Befehl xinit(1) geschehen kann. Um beispielsweise - das Programm q2test.exe mit WINE auf einem zweiten X-Server - mit einer Farbtiefe von 8 Bit pro Pixel aus dem aktuellen - Arbeitsverzeichnis zu starten, könnte der folgende Befehl - benutzt werden (FIXME: nicht mehr korrekt ?): - - xinit /usr/local/bin/WINE q2test.exe --display :1 -- -bpp 8 :1 - - Falls sich WINE in einem anderen Verzeichnis als - /usr/local/bin befindet, ist der Befehl natürlich - entsprechend anzupassen. - - Der DGA-Modus funktioniert nicht, obwohl X in der richtigen - Farbtiefe ausgeführt wird; Spiele sind immer noch langsam - Die Verwendung von DGA ist normalerweise nur dem - Systemadministrator gestattet, das betreffende Programm muss - also mit dessen Rechten ausgeführt werden. Alternativ dazu - reicht es auch aus, Benutzern Schreib- und Leserechte auf - die Gerätedatei /dev/kmem zu erteilen. - - Es ist kein Sound zu hören - Zunächst sollte überprüft werden, ob die Soundunterstützung - des Linux-Kernels richtig funktioniert, also ob es möglich - ist, mit anderen Linux-Programmen die Soundkarte zu - verwenden. Im nächsten Schritt kann überprüft werden, ob die - Sound-Hardware von einem anderen Programm benutzt wird und - WINE deswegen nicht darauf zugreifen kann. - -Weiterführende Informationen - - Die zentrale Web-Adresse für Informationen zu WINE ist - http://www.winehq.com. Dort befinden sich Links zu vielen weiteren - Dokumenten, wie einem WINE-FAQ, einem WINE-HOWTO, einer Anleitung zum - Erstellen von Fehlerberichten und vieles mehr.