[[Vorlage(Getestet quantal,precise, oneiric, lucid)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] (optional) [:Terminal: Ein Terminal öffnen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] (optional) [:Programme_kompilieren: Pakete aus dem Quellcode erstellen] (optional) [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] [:sudo: Root-Rechte] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./logo.png, 64, left)]] Wine ('''W'''ine '''I'''s '''N'''ot an '''E'''mulator) ist ein Programm, mit dem man Windows-Software unter Linux laufen lassen kann. Man benötigt keine Windows-Installation auf seinem Computer, um mit Wine Programme starten zu können, die für Windows programmiert wurden. Leider gibt es keine grafische Benutzeroberfläche oder Wizards. Fehlermeldungen erscheinen nur in der Konsole und für abgestürzte Programme sollte man wissen, wie der Linux-Befehl [:Shell/kill:kill] funktioniert. = Wie gut funktioniert Wine? = Programme, die noch aus der Windows 95/98-Ära stammen, aber auch viele Programme für Windows 2000 und XP, funktionieren meistens prächtig. Je neuer und komplexer das Programm ist, desto wahrscheinlicher sind Probleme. Es funktionieren auch viele Spiele (siehe auch [:Spiele/PlayOnLinux:PlayOnLinux]), insbesondere solche, die ältere DirectX-Versionen oder gar OpenGL nutzen. Die Entwicklung schreitet zur Zeit sehr schnell voran. Mit einer aktuellen Version sind viele Spiele und Programme ohne Probleme nutzbar, die noch vor wenigen Wochen nicht oder nur mit Tricks (z.B. Microsoft DLLs) liefen. Je nach Windows-Programm, das mit Hilfe von Wine ausgeführt wird, ist der Anspruch an die Ressourcen (primär CPU-Leistung und verfügbares RAM) sehr moderat bis sehr hoch. Leider kann hier keine pauschale Aussage getroffen werden, welches Programm "flüssig" läuft und welches nicht. Wie gut Wine für die eigenen Zwecke funktionieren müsste, kann man vor dem Testen durch Stöbern in der [http://appdb.winehq.org/ WineHQ-Datenbank] {en} herausfinden. = Was muss man über die Interna wissen? = Wine arbeitet standardmäßig mit einem im Homeverzeichnis versteckten Ordner namens '''.wine'''. In diesem befinden sich mindestens zwei Ordner, '''dosdevices''' und '''drive_c'''. In ersterem befinden sich im Windows-Stil benannte Links auf die Linux-Ordner. So verweist nach entsprechender [#Konfiguration Konfiguration] z.B. '''a:''' auf das Diskettenlaufwerk. Mit diesem System wird Windows-Programmen ein Windows-Dateisystem vorgegaukelt. Installiert sich ein Programm also nach '''C:''', findet man es im Homeverzeichnis unter '''.wine/drive_c/''' wieder. Es kann daher nützlich sein, sich __nach__ der [#Konfiguration Konfiguration] mit {{{#!vorlage Befehl ln -s ~/.wine ~/wine }}} eine leicht erreichbare Verknüpfung zum Wine-Ordner zu erstellen. [[Anker(Installation)]] = Installation = == Fertige Pakete == Will man ein vorkompiliertes Paket von Wine installieren, kann man immer noch entscheiden, welche Quelle man nutzt. In den Ubuntu-Quellen liegt eine bei Einführung der jeweiligen Ubuntu-Version aktuelle, möglicherweise gepatchte, Wineversion. Gelegentlich gibt es auch neuere Versionen in den offiziellen Backports. In den Quellen des Wine-Projektes findet sich dagegen immer die aktuellste, ungepatchte Version. Einerseits bringt diese oft entscheidende Verbesserungen, andererseits handelt es sich um Entwicklerversionen, die immer auch neue Fehler und Kompatibilitätsbrüche enthalten können. Zur Zeit wird alle zwei Wochen eine neue Version veröffentlicht. Bei der Wahl kann man keine generelle Empfehlung geben, da je nach Anwendungsziel eine andere Version mehr oder weniger Kompatibilität bietet. === Methode 1 - Offizielle Paketquellen === Es muss lediglich das folgende Paket installiert [1] werden: {{{#!vorlage Paketinstallation wine, universe }}} [[Anker(Wine-PPA)]] === Methode 2 - Wine-PPA === [[Vorlage(PPA, ubuntu-wine/ppa)]] Bezeichnung und Version des Paketes können abweichen, z.B. befindet sich '''wine1.3''' für Ubuntu 10.04 auf dem Stand der Version 1.4 (mit Patches bis März 2012). Das Paket heißt: * '''wine1.x''', ''ppa'' [[Anker(ManuelleInstallation)]] === Methode 3 - Manuell gewähltes Paket === Aktuelle Wineversionen brechen durch die in ihnen enthaltenen Neuerungen regelmäßig die Kompatibilität zu Programmen, die mit einer vorigen Version schon liefen. Aus diesem Grund kann es sinnvoll sein, eine ältere Version zu nutzen. Auf der [http://wine.budgetdedicated.com/archive/index.html Archiv-Seite von WineHQ] {en} findet man eine umfassende Sammlung vorkompilierter Pakete. Das gewünschte Paket herunterladen und gemäß [4] installieren. [[Vorlage(Fremd,Paket)]] [[Anker(Kompilieren)]] == Alternativ - Wine kompilieren == Bevor man kompiliert, sollte man sich die Anleitung unter [5] durchgelesen und die notwendigen Pakete installiert haben. Der Vorteil ist, dass ein selbstkompiliertes Wine perfekt an den eigenen PC angepasst ist. Mit der manuellen Methode können zusätzlich gezielt Patches eingespielt werden. === Methode 1 - per apt === Wenn man möchte, kann man Wine auch einfach selbst kompilieren. Will man die neueste Version, ist Voraussetzung, dass man die Quelle {{{#!code sourceslist deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu [Ubuntu-Version] main }}} zusätzlich eingetragen hat [2], wobei die verwendete Ubuntu-Version eingesetzt werden muss, wenn eine von diesen Ubuntu-Versionen genutzt wird. Ansonsten kann man das gleiche Vorgehen auch mit der Version aus der Ubuntu-Quelle ''universe'' durchführen, dafür darf dann die oben genannte Winequelle nicht in der '''sources.list''' stehen. Danach öffnet man ein Terminal [3] und installiert die Abhängigkeiten zum Kompilieren: {{{#!vorlage Builddeps wine }}} Anschließend kann Wine kompiliert werden: {{{#!vorlage Befehl sudo apt-get --build source wine }}} Dies kann je nach PC etwas dauern. Am Ende hat man im gleichen Verzeichnis ein '''.deb'''-Paket, welches man gemäß [4] installieren kann. === Methode 2 - manuell === Da man durch Methode 1 immer nur die neuste Wine-Version oder die aus den Ubuntu-Quellen bekommt, was mitunter nicht gewünscht ist, kann man sich auch alternativ von [http://ibiblio.org/pub/linux/system/emulators/wine/ ibiblio.org] {dl} die gewünschte Version als '''tar.gz''' herunterladen. Die Abhängigkeiten löst man, indem folgende Pakete installiert werden: {{{#!vorlage Paketinstallation flex bison libx11-dev libasound2-dev libfreetype6-dev fontforge checkinstall }}} Nach dem Entpacken [7] öffnet man ein Terminal [3] und kompiliert [5] das Programm mit: {{{#!vorlage Befehl ./configure --enable-opengl --disable-lib --disable-debug make depend make CFLAGS="-O2" sudo checkinstall }}} Wer das kompilierte Wine durch eines aus einer Quelle ersetzen will, muss zuerst das alte Paket vollständig löschen und dann das Paket aus den Quellen wieder installieren [1]. Zuletzt muss möglicherweise noch Wine neukonfiguriert werden mittels [:dpkg-reconfigure:]. Nun sollte Wine wieder normal funktionieren. [[Anker(Konfiguration)]] = Konfiguration = Hierfür bringt es von Haus aus ein kleines Installationswerkzeug mit, das sich über den Befehl {{{#!vorlage Befehl winecfg }}} ausführen lässt. Der sich nun öffnende Dialog sollte so oder so ähnlich aussehen: [[Bild(./winecfg-about.png, 200, center)]] Man muss nicht zwingend etwas einstellen. [[Vorlage(Tasten, lmt)]] ''"OK"'' speichert die Grundeinstellungen im versteckten Ordner '''~/.wine'''. == Laufwerke == === Laufwerk C: === Hier kann überprüft werden, ob der Laufwerksbuchstabe '''C:''' auf `../drive_c` verweist. {{{#!vorlage warnung C: darf nicht auf ein Laufwerk mit einem vorhandenen Windows (z.B. `/media/sda1`) verweisen! Dadurch wird die Windows-Partition überschrieben und kann nur durch aufwändige Reparaturen oder eine Neuinstallation wieder nutzbar gemacht werden. }}} === CD-ROM-Laufwerk einrichten === Um ein CD-ROM-Laufwerk einzurichten, zunächst auf ''"Laufwerke"'' klicken. Anschließend sieht der Dialog so aus: [[Bild(./winecfg-drives.png, 200, center)]] Hier auf ''"Hinzufügen"'' klicken, dann wird in der Liste der Laufwerke automatisch ein neues Laufwerk '''D:''' eingerichtet werden. Für dieses Laufwerk muss spezifiziert werden, an welchem Punkt es in das Dateisystem eingehängt ist. In einem Standard-Ubuntu-System lässt sich hier '''/cdrom''' oder '''/media/cdrom''' eintragen. Den genauen Einhängpunkt findet man in der Datei '''/etc/fstab'''. Anschließend folgt ein Klick auf ''"Zeige Erweitert"''. Hier muss noch ausgewählt werden, dass es sich um ein CD-ROM-Laufwerk handeln soll. Der Rest sollte so gelassen werden (weitere Optionen unterscheiden sich von Version zu Version auch stark). Das CD-ROM-Laufwerk ist nun für Windows-Anwendungen als solches sichtbar. Mit einem Klick auf ''"Anwenden"'' werden die Änderungen übernommen. == Audio == Um den Sound einzurichten, oben den Registerreiter ''"Audio"'' auswählen. Es dauert hier sehr wahrscheinlich etwas, bis der Dialog geändert wird. Keine Panik, das Programm ist nicht abgestürzt, es sucht nur alle verfügbaren Audio-Treiber zusammen. Die beste Leistung bietet wohl der ALSA-Treiber. Ihn als einzigen Treiber auswählen (die anderen also abwählen) und auch hier ''"Anwenden"''. [[Bild(./winecfg-audio.png, 200, center)]] Kommt es später beim Spielen zu Problemen mit dem Sound, muss man evtl. ein wenig herumexperimentieren. Je nach verwendeter Audio-Hardware können die Einstellungen hier sehr verschieden ausfallen. OSS kann bei manchen Spielen und/oder bei manchen Soundkarten bessere Ergebnisse liefern. Wer nahezu latenzfreie Soundausgabe benötigt (wie bei Multiplayer-Shootern), sollte Jack installieren und als Treiber wählen. Siehe auch [:Soundsystem:Einführung in das Linux-Sound-System]. == Anwendungen == Der Eintrag ''"Standardeinstellungen"'' gilt für alle mit Wine gestarteten Applikationen, die nicht explizit in den Anwendungen eingetragen ist. Ist dieser Eintrag ausgewählt, wirken sich alle Einstellungen in den Reitern, Audio/Grafik/Bibliotheken auf diese Standardeinstellungen aus. Hat eine Windows-Anwendung Probleme, die durch Änderung der Konfiguration in Audio/Grafik/Bibliotheken behoben werden können, so sollte man diese Anwendung explizit hinzufügen (Button ''"Anw. hinzufügen"''). Ist diese neue Anwendung ausgewählt, können nun Einstellungen in Audio/Grafik/Bibliotheken vorgenommen werden, die sich nur auf diese Anwendung auswirken. == Grafik == Manche Anwendungen starten nur, wenn ''"Emuliere einen virtuellen Bildschirm"'' ausgewählt ist. Darunter gibt man die gewünschte Auflösung an. == Bibliotheken == Manche Anwendungen starten/funktionieren nur, wenn bestimmte Bibliotheken von ''"native (Windows)"'' auf ''"builtin (Wine)"'' geändert oder komplett deaktiviert werden. Dazu wählt man die Bibliothek im Auswahlfeld ''"Neu Überschreibung für"'' aus, drückt ''"Hinzufügen"''. Dadurch wird diese in die Liste ''"Bestehende"'' aufgenommen. Dort wählt man sie aus und drückt ''"Bearbeiten"'', um Änderung vorzunehmen. == Farben anpassen == Es gibt zwei Möglichkeiten, das Design von unter Wine laufenden Programmen anzupassen. Die erste (optisch schön; allerdings kann der PC dadurch langsamer werden) ist, dass man ein Windows-Design mittels `winecfg` einstellt. Dazu benötigt man ein passendes Design. Dieses erhält man z.B. von [http://www.deviantart.com/ deviantART] {en}. Das passendsten Designs heißt [http://freddi67.deviantart.com/art/Ubuntu-Light-for-Windows-XP-177514325 Ubuntu Light for Windows XP] {en}. Einfach die Datei herunterladen und mit Wine aktivieren. Danach sehen die Programme mehr nach Ubuntu aus. Die zweite Methode ist zwar nicht die schönste, aber die optimale, um das Layout zu ändern. Man stellt die Farben für die Wine-Umgebung selbst ein. Dies erreicht entweder über `winecfg`, in dem man es von Hand macht oder einfach die folgende Anpassung verwendet. Dazu einfach den unten stehenden Code in eine neue Datei mit dem Namen '''ubuntu.reg''' einfügen: {{{ REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Colors] "ActiveBorder"="239 235 230" "ActiveTitle"="200 130 60" "AppWorkSpace"="102 51 51" "Background"="0 128 128" "ButtonAlternateFace"="180 180 180" "ButtonDkShadow"="115 106 96" "ButtonFace"="239 235 230" "ButtonHilight"="239 235 230" "ButtonLight"="248 246 244" "ButtonShadow"="203 193 183" "ButtonText"="0 0 0" "GradientActiveTitle"="16 132 208" "GradientInactiveTitle"="181 181 181" "GrayText"="203 193 183" "Hilight"="248 198 119" "HilightText"="0 0 0" "HotTrackingColor"="0 0 255" "InactiveBorder"="239 235 230" "InactiveTitle"="239 235 230" "InactiveTitleText"="60 60 60" "InfoText"="0 0 0" "InfoWindow"="255 255 225" "Menu"="239 235 230" "MenuBar"="239 235 230" "MenuHilight"="0 0 0" "MenuText"="0 0 0" "Scrollbar"="239 235 230" "TitleText"="255 255 255" "Window"="255 255 255" "WindowFrame"="0 0 0" "WindowText"="0 0 0" }}} und folgenden Befehl ausführen: {{{#!vorlage Befehl wine regedit ubuntu.reg }}} Die Farben sind für Ubuntu optimiert. = Benutzung = == Windows-Programme starten == Es gibt drei korrekte Möglichkeiten, ein Programm mit Wine zu starten. Um [#Dateien-werden-nicht-gefunden-oder-gespeichert Fehler] zu vermeiden, sollte Wine das Arbeitsverzeichnis des Programms mitgeteilt werden: === Absolute Pfade === Mithilfe des `start`-Befehls kann man einen absoluten Pfad zur EXE-Datei angeben und damit automatisch deren Verzeichnis als Arbeitsverzeichnis festlegen: {{{#!vorlage Befehl wine start /Unix "/Absoluter/Pfad/zur/Datei.exe" # mit Unix-Pfad wine start 'C:\Absoluter\Pfad\zur\Datei.exe' # mit Windows-Pfad }}} === Relative Pfade === Dasjenige Verzeichnis, aus dem heraus man Wine startet, wird als Arbeitsverzeichnis gesetzt. Bei einem Programmstart im Terminal wechselt man daher zunächst in das Programmverzeichnis und ruft das Programm erst dann mit der sich darin befindenden EXE-Datei auf: {{{#!vorlage Befehl cd "/Pfad/zum/Programmverzeichnis" wine Datei.exe }}} Für [:Menü#desktop-Dateien:Programmstarter] empfehlen sich dagegen [#Absolute-Pfadangabe absolute Pfade] oder die Verwendung des [#Path-Schluessel-in-Programmstarten Path-Schlüssels]. === Path-Schlüssel in Programmstartern === Natürlich kann man Windows-Programme auch mithilfe eines [:Menü#desktop-Dateien:Programmstarters] in Menüs oder in den Suchfeldern der verschiedenen Desktop-Umgebungen starten. Ein vollständiges Beispiel für Wine findet sich weiter unten im Abschnitt [#desktop-Datei-erstellen-und-konfigurieren .desktop-Dateien erstellen und konfigurieren]. Diese Programmstarter in Form von .desktop-Dateien können das Arbeitsverzeichnis (ohne umrahmende Anführungsstriche) mithilfe des Path-Schlüssels angeben und dann in der `Exec`-Zeile auch ohne `start`-Befehl einen absoluten Pfad benutzen. Hier ein Ausschnitt einer .desktop-Datei: {{{ Exec=wine "/Absoluter/Pfad/zur/Datei.exe" Path=/Pfad zum Programmverzeichnis/ }}} [[Anker(Wineprefix)]] == Wineprefix == Da sich verschiedene installierte Programme in einer Wine-Installation gerne gegenseitig stören können, wird man bei intensiver Benutzung von Wine eventuell dazu gezwungen sein, für jedes Windows-Programm einen Wine-Ordner zu erstellen. Anstatt nun jedes Mal den Ordner '''.wine''' zu verschieben, kann man für diese Aufgabe auch das Programm `wineprefixcreate` benutzen. Dazu das Programm mit der Option `--prefix ` ausführen. Beispielsweise so: {{{#!vorlage Befehl wineprefixcreate --prefix ~/.wine/Half-Life }}} {{{#!vorlage Hinweis Seit der Version 1.0 von Wine ist es nicht mehr nötig, den Befehl `wineprefixcreate` auszuführen, um ein neues Prefix einzurichten. Es genügt, Wine mit Prefix zu starten; benötigte Ordner und Dateien werden dann automatisch angelegt. }}} Danach startet man Wine mit Prefix. Im Beispiel so: {{{#!vorlage Befehl WINEPREFIX=~/.wine/Half-Life wine "C:/Steam/install.exe" }}} Half-Life ist in diesem Beispiel der Name des gewünschten neuen Ordners im '''.wine'''-Ordner. `"C:/Steam..."` ist der Pfad der Installationsdatei. Durch diesen Befehl wird dieser Ordner im '''.wine'''-Ordner angelegt und das Installationsprogramm gestartet. Während des Installationsprozesses kann der Zielordner auf c:/Programme/ gekürzt werden, damit nachher keine Probleme beim Anlegen des Starters im Panel auftauchen. Einen Startmenü-Eintrag braucht man nicht, das Desktop-Symbol schon. Nach Abschluss der Installation kann zum schnellen Starten das Destop-Symbol auf den Panel-Rand gezogenund dort fallen gelassen werden, um das Startsymbol einzurichten . Dieses kann man per [[Vorlage(Tasten rmt)]] noch auf den gewünschten Platz verschieben. Das Desktop-Symbol bei Bedarf wieder löschen. Nun kann das installierte Programm bequem vom Panel aus gestarten werden (wenn es mit seinen Funktionen läuft). Damit steht auch der intensiven Benutzung von Wine mit Hunderten von Programmen nichts mehr im Wege. Es bleibt zu erwähnen, dass Programme, die einander benötigen, natürlich in einem Wineprefix-Ordner liegen müssen. Und wenn man ein Programm nicht mehr braucht, kann man mit dieser Methode einfach den kompletten zugehörigen Wineordner löschen, ohne dass andere Programme davon beeinflusst werden. Programme, die mit Wine laufen und aus dem Menü gestartet werden sollen, benötigen eine entsprechende '''.desktop'''-Datei im [:Homeverzeichnis:] im Ordner '''.local/share/applications/'''. Damit Programme, die mit einem WINEPREFIX installiert wurden, gestartet werden können, müssen diese Dateien modifiziert werden. Dies kann mit einem Texteditor erledigt werden. Die Änderung betrifft die Exec-Zeile. Hier ein Beispiel, wie das env-Kommando mit dem WINEPREFIX-Ordner hinzugefügt werden sollte: {{{#!vorlage Befehl Exec=env WINEPREFIX="/home/username/.quickdic" wine "C:\\Programme\\foo\\bar.exe" }}} {{{#!vorlage Hinweis Bei Verwendung von winetricks (etwa um fehlende Schriftarten oder Bibliotheken zu installieren) muss der gleiche WINEPREFIX verwendet werden.\\ Beispiel:` WINEPREFIX=~/.winetest winetricks mfc40` }}} == Wine erweitern == Das Grundgerüst von Wine kann durch das Skript [:winetricks:] sehr einfach erweitert werden. Es lädt benötigte Laufzeit-Bibliotheken und Fonts und installiert diese automatisch. == Deinstallation von Programmen == Wenn man mit WINEPREFIX arbeitet, oder nur ein Programm installiert hat, kann man einfach in seinem Home-Verzeichnis den entsprechenden Wine-Ordner löschen, also '''.wine''' bzw. den mit `wineprefixcreate` angelegten Ordner. === Automatisch === Ansonsten sollte man den in Wine integrierten Uninstaller nutzen, der ganz ähnlich zu seinem Windows-Pendant arbeitet. Dazu öffnet man ein Terminal [3] und gibt folgenden Befehl ein: {{{#!vorlage Befehl wine uninstaller }}} Alternativ kann man das Deinstallationsprogramm der jeweiligen Anwendung nutzen. Dieses befindet sich meist im jeweiligen Programmordner. === Manuell === Das jeweilige Programm einfach zu löschen ist nicht die eleganteste Methode, leider funktioniert die Deinstallation unter Wine nicht immer oder es bleiben trotz Deinstallationsprogramm Reste zurück. Mit einem Dateimanager kann man die "Reste" aus dem Ordner '''~/.local/share/applications/wine''' löschen. Rückstände in der Registrierung kann man z.B. manuell mit dem Wine-Registrierungseditor {{{#!vorlage Befehl wine regedit }}} oder mit Werkzeugen wie [http://www.chip.de/downloads/c1_downloads_12991462.html regcleaner] {de} bereinigen. Sollten noch Menüeinträge von deinstallierten Programmen vorhanden sein, so kann man diese händisch aus dem Verzeichnis '''~/.config/menus/applications-merged/''' entfernen. == Batch-Datei aufrufen == Um eine Windows-Batch-Datei auszuführen, kann man so vorgehen: {{{#!vorlage Befehl wineconsole cmd }}} Nun sollte sich eine Windows-Konsole öffnen. Zuerst navigiert man in dieser Konsole in den Ordner, der die Batch-Datei beinhaltet, und führt diese anschließend aus. Das ganze könnte dann so aussehen: {{{#!vorlage Befehl cd pfad\zur\BatchDatei\ foo.bat }}} {{{#!vorlage Warnung Wine sollte grundsätzlich __niemals__ als Root oder mit Root-Rechten ([:sudo:]) aufgerufen werden (siehe [http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014 Wine-FAQ 7.9.] {en} )! }}} == Registry == Um die Wine-Registry einzusehen oder zu bearbeiten folgenden Befehl ins Terminal eingeben: {{{#!vorlage Befehl regedit }}} == .desktop-Datei erstellen und konfigurieren == [[Bild(Starter-Falsch, align=right)]] [[Bild(Starter-Richtig.png, align=right)]] Wenn eine Windows-Anwendung mit Wine installiert wird, dann erscheint unter [:Unity:] statt des Programmsymbols das allgemeine Symbol von Wine (siehe Abbildungen rechts). Um eigene Startsymbole für Wine Anwendungen zu vergeben, muss der Programmstarter (eine Datei der Form '''.desktop''') anpasst werden. Wurde ein solcher Starter bei der Installation des Programmes automatisch erstellt, ist er im Ordner '''~/.local/share/applications/wine/Programs/''' zu finden. Fehlt eine solche Datei bzw. sollen individuelle Starter angelegt werden, kann dies von Hand erfolgen. Dazu entweder eine Datei über einen Editor anlegen, oder einen bereits vorhandenen Starter im Nautilus kopieren und über die Anzeige der Dateieigenschaften bearbeiten. Ein Beispiel: '''~/.local/share/applications/wine/Programs/programm.desktop''' {{{ [Desktop Entry] Encoding=UTF-8 Name=Name des Programms Comment=Beschreibung der Fähigkeiten Type=Application Exec=wine start "C:/Program Files/programm.exe" Icon=/home/user/pfad/zum/icon.ico StartupWMClass=programm.exe }}} Weitere Details sind dem Artikel [:Menü:] zu entnehmen. Der Eintrag ''"StartupWMClass=..."'' ist sehr wichtig. Desktop-Dateien, die diesen Eintrag besitzen, werden mit dem entsprechenden Symbol angezeigt. Bei PlayOnLinux werden '''.desktop'''-Dateien zwar automatisch erstellt, doch fehlt diesen Dateien der Eintrag. Durch das Hinzufügen der Zeile wird dieser kleine Fehler korrigiert. = Problembehebung = == Kein Sound in manchen Programmen == * Viele Windows-Programme benutzen die Sound-API "mmdevapi" von Microsoft. Diese ist in WINE aber noch nicht vollständig implementiert, was häufig zu Problemen führt. In solchen Fällen hilft es, im WINE-Einstellungswerkzeug (winecfg) unter ''Bilbiotheken'' eine Überschreibung für mmdevapi hinzuzufügen und diese auf ''Ausschalten'' zu setzen. So wird die Nutzung von mmdevapi verhindert und Programme benutzen automatisch die ältere, aber stabilere Sound-API von WINE. * Deaktivierung von [:PulseAudio:]. Oft ist PulseAudio die Ursache für Audio-Probleme. Um eine Wine-Anwendung ohne PulseAudio zu starten, kann man zum einen PulseAudio komplett deinstallieren oder temporär stoppen indem man ein Skript für den Start der Wine-Anwendung schreibt. Zuvor muss allerdings der automatische Neustart von PulseAudio in der Datei '''/etc/pulse/client.conf''' deaktiviert werden. Dazu ändert man in einem Editor[6] mit Root-Rechten [8] den Eintrag `; autospawn = yes` zu `autospawn = no`. Anschließend lässt sich folgendes Skript zum Starten verwenden: {{{#!code bash #!/bin/sh # Deactivate PulseAudio if audio problems occur: pulseaudio -k # Start wine application: env WINEPREFIX="$HOME/.wine" wine WindowsApplication.exe # Reactivate PulseAudio: pulseaudio -D }}} == Falls Wine hängt == Falls Wine beim ersten Starten einfrieren sollte, und nur noch etwas wie: >"wine: creating configuration directory '/home/User/.wine'..." von sich gibt, ist wahrscheinlich wineprefixcreate hängen geblieben. Um dieses Problem zu beheben, sollte man den versteckten Ordner '''.wine''' im Homeverzeichnis löschen und dann im Terminal [3] {{{#!vorlage Befehl export WINEPREFIX=~/.wine wineprefixcreate --prefix ~/.wine }}} eingeben. == MSI installieren == Um MSI-Programmdateien ('''.msi''') zu installieren gibt man Folgendes ein: {{{#!vorlage Befehl msiexec /i Programmname.msi }}} == Eine .dll fehlt == Benötigt ein Programm eine bestimmte '''.dll''', hat man zwei Möglichkeiten: Entweder man besorgt sich diese '''.dll''' von einer bestehenden Windows-Installation aus dem '''system32'''-Ordner oder man benutzt Dienste wie [http://www.dll-files.com/ dll-files] {en}. Man sollte sich aber darüber im Klaren sein, dass es nicht legal ist, wenn man eine native Windows-dll nutzt, ohne eine Lizenz für Windows erworben zu haben. In beiden Fällen muss die gefundene '''.dll''' in den Ordner '''.wine/drive_c/windows/system32''' platziert werden, der im Homeverzeichnis zu finden ist. Danach öffnent man im Terminal [3] das Programm {{{#!vorlage Befehl winecfg }}} und trägt im Tabreiter ''"Bibliotheken"'' (bzw. engl. ''"Libraries"'') die DLL dann als ''"native"'' (also nicht die ''"builtin"''-Version von Wine) ein. == CD wird nicht gefunden == Wird eine sich im Laufwerk befindende CD beim Programmstart nicht gefunden, kann das zwei Ursachen haben. [[BR]] Die Lösbare: Das CD-Laufwerk ist nicht als solches eingetragen, sondern als Festplatte. Wie diese Einstellung geändert werden kann, wird im Abschnitt [#Konfiguration Konfiguration] beschrieben. [[BR]] Schon schlechter sieht es aus, wenn das Problem am Kopierschutz hängt. Kann man diesen nicht umgehen (was in Deutschland nicht erlaubt ist), gibt es keine Lösung, solange der Kopierschutz nicht von Wine unterstützt wird. Man beachte: Ab und an wird gerade bei älterer Software durch einen offiziellen Patch des Entwicklers der Kopierschutz entfernt bzw. ausgeschaltet. == Datei als nicht ausführbar markiert == >"The file '/media/Beat_DJ_Guide/Mixvibes Cross DJ/Install Cross DJ 1.5.2.exe' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit." Tritt eine ähnlich Fehlermeldung auf, sollte zunächst überprüft werden, ob das [:chmod#Modi:Ausführungsrecht] ("''executable bit''") gesetzt wurde und der Windows-Starter direkt über Wine nach folgendem Schema aufgerufen wurde: {{{#!vorlage Befehl wine /media/Beat_DJ_Guide/Mixvibes\ Cross\ DJ/Install\ Cross\ DJ\ 1.5.2.exe }}} Besteht das Problem weiterhin oder möchte man in Zukunft auf eine Prüfung der Ausführbarkeit von Windows-Startern verzichten, so kann der dafür vorgeschaltete '''cautious-launcher''' deaktiviert werden. Vorher wird von der veränderten Datei '''/usr/share/applications/wine.desktop''' ein Backup mit der Endung '''.bak''' erstellt, sodass sich die Änderung leicht Rückspielen lässt: {{{#!vorlage Befehl sudo cp /usr/share/applications/wine.desktop{,.bak} sudo sed -i 's"Exec=cautious-launcher %f wine start /unix"Exec=wine start /unix %f"g' /usr/share/applications/wine.desktop }}} Möchte man wieder das alte Verhalten, genügt folgender Befehl: {{{#!vorlage Befehl sudo cp /usr/share/applications/wine.desktop{.bak,} }}} == Druckdialog öffnet sich nicht == Beim Drucken erscheint folgende Meldung: {{{ err:commdlg:PrintDlgA GetPrinterDriverA failed, ..., fix your config for printer ... }}} Wenn man den genannten Drucker aus der Datei '''~/.wine/system.reg''' entfernt, öffnet sich der Druckdialog wieder und man kann dann zumindest in eine Datei drucken. == Ausführung sehr langsam == === DosBox === Statt mit Wine eine Windows DosBox zu starten, sollte man besser die native Linux-Version von DosBox verwenden, indem man das Paket '''dosbox''' installiert und die Windows-Anwendung direkt mit der Linux-dosbox startet. Z.B.: {{{#!code bash #!/bin/sh # Start in current directory: DIRECTORY=$(cd `dirname $0` && pwd) cd $DIRECTORY # Start with nativ Linux dosbox: dosbox -conf dosboxTimeshock.conf -noconsole -c "exit" }}} === ScummVM === Statt mit Wine eine Windows ScummVM zu starten, sollte man besser die native Linux-Version von ScummVM verwenden, indem man das Paket '''scummvm''' installiert und die Windows-Anwendung direkt mit der Linux ScummVM startet. Z.B.: {{{#!code bash #!/bin/sh # Start in current directory: DIRECTORY=$(cd `dirname $0` && pwd) cd $DIRECTORY # Start game with nativ Linux ScummVM (requires package 'scummvm' installed): scummvm -c SKY.CFG sky }}} === 3D === Möglicherweise nimmt Wine eine zu niedrige Größe des Videospeichers an. In dem Fall sollte man die [#Groesse-des-Videospeichers-korrigieren Größe des Videospeichers korrigieren]. === Dateien werden nicht gefunden oder gespeichert === Wenn ein Windows-Programm seine eigenen Dateien nicht findet (z.B. die Mods von Half-Life) oder Einstellungen nicht speichert, liegt das oft daran, dass es auf falsche Weise gestartet wurde. Wine muss das Arbeitsverzeichnis des Programms kennen, in dem die jeweilige EXE-Datei liegt, doch es interpretiert standardmäßig dasjenige Verzeichnis als Arbeitsverzeichnis, aus dem heraus Wine gestartet wird. In der Regel ist dies das persönliche Verzeichnis. Um das korrekte Arbeitsverzeichnis anzugeben, gibt es [#Windows-Programme-starten drei Möglichkeiten]. ===Programmstarter=== Immer wieder nachgefragt: es wird ein [:Menü:Programmstarter] benötigt, um über einen Dateimanager ein Windows-Programm mit Übergabe einer Datei zu starten. Dies kann man über folgende '''.desktop'''-Datei erreichen (bitte entsprechend anpassen): {{{ [Desktop Entry] Name=Windows-Programm Comment[de]=Ein Kommentar zur Funktion des Programms Exec=winepath -w %f | xargs '-d\n' env wine start /unix ~/".wine/dosdevices/c:/Programme/ORDNER/PROGRAMM.exe" Icon=/PFAD/ZUM/SYMBOL Terminal=false Type=Application Categories=KATEGORIE }}} == Fonts unlesbar == Bei manchen Windows-Spielen kann es passieren, dass Text nicht mehr angezeigt wird ("verschwindet") und damit unlesbar ist. Dann kann man versuchen, am Ende der Datei '''~/.wine/user.reg''' folgenden Text anzuhängen: {{{ [Software\\Wine\\X11 Driver] 1210627404 "ClientSideWithRender"="N" }}} Allerdings scheint dieser provisorische Lösung nicht immer frei von Nebenwirkungen zu sein und sollte __nicht__ als Universallösung verwendet werden. In diesem Zusammenhang kann es nützlich sein (z.B. bei Texteditoren unter Wine), die Schriftdarstellung bzw. die Kantenglättung anzupassen. Obwohl sich die erforderlichen Einträge auch manuell vornehmen ließen, erleichtert folgendes Skript die Einstellung: {{{#!code bash #!/bin/sh # Quick and dirty script for configuring wine font smoothing # # Author: Igor Tarasov WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} DIALOG=whiptail if [ ! -x "`which "$WINE"`" ] then echo "Wine was not found. Is it really installed? ($WINE)" exit 1 fi if [ ! -x "`which "$DIALOG"`" ] then DIALOG=dialog fi TMPFILE=`mktemp` || exit 1 $DIALOG --menu \ "Please select font smoothing mode for wine programs:" 13 51\ 4\ 1 "Smoothing disabled"\ 2 "Grayscale smoothing"\ 3 "Subpixel smoothing (ClearType) RGB"\ 4 "Subpixel smoothing (ClearType) BGR" 2> $TMPFILE STATUS=$? ANSWER=`cat $TMPFILE` if [ $STATUS != 0 ] then rm -f $TMPFILE exit 1 fi MODE=0 # 0 = disabled; 2 = enabled TYPE=0 # 1 = regular; 2 = subpixel ORIENTATION=1 # 0 = BGR; 1 = RGB case $ANSWER in 1) # disable ;; 2) # enable MODE=2 TYPE=1 ;; 3) # enable cleartype rgb MODE=2 TYPE=2 ;; 4) # enable cleartype bgr MODE=2 TYPE=2 ORIENTATION=0 ;; *) rm -f $TMPFILE echo Unexpected option: $ANSWER exit 1 ;; esac echo "REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Desktop] \"FontSmoothing\"=\"$MODE\" \"FontSmoothingOrientation\"=dword:0000000$ORIENTATION \"FontSmoothingType\"=dword:0000000$TYPE \"FontSmoothingGamma\"=dword:00000578" > $TMPFILE echo -n "Updating configuration... " $WINE regedit $TMPFILE 2> /dev/null rm -f $TMPFILE echo ok }}} Beispielsweise als '''~/wine_fontsmoothing.sh''' speichern, ausführbar machen und mit {{{#!vorlage Befehl ./wine_fontsmoothing.sh }}} in einem Terminalfenster starten. Prinzipiell stehen über die Tasten [[Vorlage(Tasten, 1)]] bis [[Vorlage(Tasten, 4)]] vier Möglichkeiten zur Auswahl: * 1 "Smoothing disabled" (keine Kantenglättung) * 2 "Grayscale smoothing" (Kantenglättung mit Graustufen) * 3 "Subpixel smoothing (ClearType) RGB" (Kantenglättung für TFT- bzw. LCD-Bildschirme) * 4 "Subpixel smoothing (ClearType) BGR" (Kantenglättung für TFT- bzw. LCD-Bildschirme) Das Script lässt sich auch mehrmals aufrufen, bis die eigene Wunscheinstellung gefunden ist. Die Änderung wirkt sich allerdings __nicht__ auf bereits laufende Programme aus. == Zu wenig Videospeicher oder Memory == Dieser Fehler kann sich auf verschiedene Weisen äußern: Entweder zeigt das Windows-Programm eine ähnlich lautende Fehlermeldung an, oder Wine gibt folgende Meldung aus, wenn das Programm im Terminal gestartet wurde: {{{ err:d3d:resource_init Out of adapter memory }}} Möglicherweise nimmt Wine eine zu niedrige Größe des Videospeichers an. In dem Fall sollte man die [#Groesse-des-Videospeichers-korrigieren Größe des Videospeichers korrigieren]. == Probleme bei der Deinstallation von Programmen == Mit folgendem Befehl [3] können alle Menüeinträge in Wine gelöscht werden. Es bleiben nur die Einträge zurück, die bei der Installation von Wine angelegt wurden. {{{#!vorlage Befehl rm -f $HOME/.config/menus/applications-merged/wine* }}} == Größe des Videospeichers korrigieren == Obwohl Wine die Größe des Videospeichers der Grafikkarte automatisch ermittelt, kann es sich in Ausnahmefällen irren. Dies kann dann problematisch sein, wenn ein Windows-Programm diese Information abfragt, fälschlicherweise einen zu niedrigen Wert mitgeteilt bekommt und dann so verfährt, als stehe zu wenig Videospeicher zur Verfügung. Um dem Problem zu begegnen, kann man in der Wine-Registry einen festen Wert hinterlegen. Zunächst muss man die tatsächliche Größe des Videospeichers in Megabytes kennen. Wenn man sich unsicher ist, kann man ihn mithilfe des folgenden Befehls ermitteln: [3] {{{#!vorlage Befehl lspci -v -s `lspci | grep VGA | awk {'print $1'}` | egrep -o ", prefetchable\) [size=[[:digit:]]+" | egrep -o [[:digit:]]+ }}} Nun öffnet man den Wine-Registrierungseditor: {{{#!vorlage Befehl regedit }}} Hier markiert man den Schlüssel ''"HKEY_CURRENT_USER / Software / Wine / Direct3D''". Wenn der Schlüssel ''Direct3D'' nicht existiert, legt man ihn mit einem Rechtsklick [[Vorlage(Tasten, rmt)]] auf den Schlüssel ''"Wine"'' und der Auswahl von ''"Neu"'' und ''"Schlüssel"'' an. Mit einem [[Vorlage(Tasten, rmt)]] auf diesen Schlüssel und der Auswahl von ''"Neu"'' und ''"Zeichenfolge"'' legt man eine neue Zeichenfolge namens ''VideoMemorySize'' an. Nach einem [[Vorlage(Tasten, rmt)]] auf diesen neuen Eintrag und der Auswahl von ''"Ändern..."'' gibt man die Videospeichergröße in Megabytes an, z.B. ''512'', und bestätigt mit ''"OK"''. Der Editor muss nun geschlossen werden. = Links = * [http://www.winehq.org/ WineHQ] {en} - Die offizielle Seite der Wine-Entwickler * [http://wiki.winehq.org/ WineHQs Wiki] {en} - Wine Wiki * [http://www.winehq.org/download/deb Wiki für die Installation von Wine (von WineHQ)] * [http://appdb.winehq.org/ WineHQs Applikationendatenbank] {en} - Was läuft und was läuft nicht? * [http://www.transgaming.com/ Transgaming] {en} - Die Seite der Cedega/Cider-Macher * [http://www.cedega.com/gamesdb/ Transgaming Games DB] {en} - Was läuft und was läuft nicht mit Cedega? * [http://www.cedegawiki.net/ GameTree Linux Wiki] {en} - Anleitungen und vieles mehr * [http://frankscorner.org/ frankscorner.org] {en} - Anleitungen und HowTos zum Thema Wine * [http://my.opera.com/area42/blog/tweaking-wine Linux for Designers - Tweaking Wine] {en} - Die Windows/Wine-Oberfläche farblich anpassen bzw. Download eines Ubuntu Farb-Themas für Wine * [http://www.playonlinux.com PlayOnLinux] {en} - Benutzerfreundliches Frontend um vorallem die Installationen zu erleichtern und mehrere Wineversionen nebeneinander zu betreiben * [http://www.avertlabs.com/research/blog/index.php/2009/02/23/running-windows-malware-in-linux/ Windows-Schädlinge laufen auch unter Wine] {en} # tag: Emulation und Virtualisierung, crossover, Windows