Wine

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Multimedia und Spiele ‹ Wine


Getestet.png Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.




Baustelle.png Baustelle: Dieser Artikel ist eine Baustelle. Das heißt, jemand hat sich dieses Artikels angenommen und überarbeitet ihn gerade.


Wine.

Wine, ein rekursives Akronym und zugleich Apronym für „Wine Is Not an Emulator“ (englisch für „Wine ist kein Emulator“), ist eine Windows-kompatible Laufzeitumgebung für POSIX-kompatible Betriebssysteme. Eine Installation von Windows ist nicht erforderlich.

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 viele Spiele (siehe auch 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ügbarer 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 WineHQ-Datenbank herausfinden. Auch gibt es 2 gute Seiten, die einem eine Anleitung zur richtigigen Installation eines Spieles geben.

  1. Holarse - Spielen unter Linux -> http://holarse-linuxgaming.de/
  2. Spielen-unter-Linux.de - Die Linux Spiele Community -> http://wiki.linuxgaming.de/index.php/Hauptseite

Windows-Programme, die man zwar mit Wine lauffähig machen kann, aber die außer der normalen Installation noch viele besondere Wine-Einstellungen oder -Erweiterungen benötigen, installiert man in einer separaten Wine-Umgebung, um andere Windows-Programme nicht zu beeinträchtigen. Dies gilt insbesondere für viele Spiele. Auch hier wieder der Hinweis zum Programmen wie PlayOnLinux (POL) und Winetricks.


Installation

32 Bit

Mit einem 32 Bit Betriebssystem kann man Wine bequem über die Paketverwaltung installieren mit:

root@debian:~# apt-get install wine

64 Bit

Um Wine auf einem 64 Bit System installieren zu können muss zunächst Multiarch freigeschaltet werden:

root@debian:~# dpkg --add-architecture i386

Danach müssen die Paketquellen aktualisiert werden:

root@debian:~# apt-get update

Jetzt kann Wine installiert werden:

root@debian:~# apt-get install wine:i386

Benutzung

Es gibt 3 Möglichkeiten ein Programm mittels Wine zu starten.

Absoluter Pfad

1. Mit Unix-Pfad:

user@debian:~$ wine start /Unix "/ABSOLUTER/PFAD/ZUR/DATEI.exe"

2. Mit Windows-Pfad

user@debian:~$ wine start 'C:\ABSOLUTER\PFAD\ZUR\DATEI.exe'

Relativer Pfad

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:

user@debian:~$  cd "/PFAD/ZUM/PROGRAMMVERZEICHNIS"
user@debian:~$  wine DATEI.exe

Path-Schlüssel in Programmstartern

Natürlich kann man Windows-Programme auch mithilfe eines Programmstarters in Menüs oder in den Suchfeldern der verschiedenen Desktop-Umgebungen starten. 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/

Wineprefix

Windows-Programme, die besondere Wine-Einstellungen erfordern, um vernünftig zu funktionieren, sollten in einer eigenen unabhängigen Wine-Umgebung installiert werden.

Anlegen

Diese Umgebung wird automatisch in einem beliebigen Verzeichnis erstellt, sobald man dieses Verzeichnis einem Wine-Befehl mitteilt. Das Verzeichnis sollte, muss sich aber nicht im persönlichen Verzeichnis oder im versteckten Wine-Verzeichnis befinden. Dafür definiert man einfach die Umgebungsvariable WINEPREFIX und benutzt anschließend den Wine-Befehl. Ein Beispiel:

user@debian:~$ env WINEPREFIX="$HOME/.wine/Programm" wine start /Unix "/media/Programm-CD/Programm.exe"

Für Programme, die in einem Wineprefix installiert werden, legt Wine automatisch Programmstarter an, die dem Startbefehl die WINEPREFIX-Variable voranstellen. Doch wer einen eigenen Programmstarter erstellen oder das Programm im Terminal starten möchte, muss dies natürlich selber tun. Vergisst man dies, wird das Programm in der standardmäßigen Wine-Umgebung in ~/.wine und mit allen ihren Einstellungen gestartet, was genau das Verhalten und genau die Fehler produziert, die man mit dem Wineprefix gerade vermeiden möchte.

Auch Wine-Hilfsprogramme wie winecfg oder winetricks müssen im Wineprefix desjenigen Programmes benutzt werden, das man mit winetricks bearbeiten möchte:

user@debian:~$ env WINEPREFIX="$HOME/.wine/Programm" winetricks

Entfernen

Das Verzeichnis einer Wine-Umgebung kann bedenkenlos entfernt werden. Dabei gehen jedoch auch alle darin installierten Windows-Programme verloren. Übrig bleiben jedoch alle Dateien außerhalb dieser Wine-Umgebung, nämlich Menüeinträge und Programmstarter, die einzeln in den Verzeichnissen ~/.config/menus/applications-merged/ bzw. ~/.local/share/applications/wine ausfindig gemacht und entfernt werden müssen.

Windows-Programme deinstallieren

Automatisch

Man kann den in Wine integrierten Uninstaller nutzen, der ganz ähnlich zu seinem Windows-Pendant arbeitet. Dazu öffnet man ein Terminal [2] und gibt folgenden Befehl ein:

user@debian:~$ 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, doch leider funktioniert die Deinstallation unter Wine nicht immer, oder es bleiben trotz Deinstallationsprogramm Menüeinträge und Programmstarter zurück. Diese entfernt man einzeln aus den Verzeichnissen ~/.config/menus/applications-merged/ bzw. ~/.local/share/applications/wine. Rückstände in der Registrierung kann man z.B. manuell mit dem Wine-Registrierungseditor oder mit Werkzeugen wie regcleaner {de} bereinigen.

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.

MSI installieren

Um MSI-Programmdateien (.msi) zu installieren gibt man Folgendes ein:

user@debian:~$ msiexec /i PROGRAMMNAME.msi

Batch-Datei aufrufen

Um eine Windows-Batch-Datei auszuführen, kann man so vorgehen:

user@debian:~$ 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:

cd PFAD\ZUM\PROGRAMMVERZEICHNIS\
Programm.bat

Tipps und Tricks

Wo befindet sich das C:\-Laufwerk?

In $HOME/.wine/drive_c.

Wenn man mehrere virtuelle Windows-Systeme nutzen möchte, empfiehlt sich die Umgebungsvariable WINEPREFIX.[1] Beispielsweise hat der Autor Spiele, die PunkBuster verwenden, nach .wine-PnkBstr verbannt. Dadurch wird dieser bei den anderen Anwendungen, die in .wine residieren, nicht mit ausgeführt.

In ein script gepackt, welches vom Startmenü des Fenstermangers mittels xterm -e bf1942.sh aufgerufen werden kann, könnte dies Beispielsweise folgendermaßen aussehen:

#!/bin/bash
# $HOME/bin/bf1942.sh
# BF1942 starten und danach Xorgs Monitoreinstellungen setzen.
#    März 2012

export LD_LIBRARY_PATH=/usr/local/wine/lib/:$LD_LIBRARY_PATH
cd $HOME/.wine-PnkBstr/drive_c/Programme/EA\ GAMES/Battlefield\ 1942/
WINEPREFIX=$HOME/.wine-PnkBstr wine BF1942.exe +restart 1

cd $HOME
xrandr --output VGA1 --mode "1280x1024"
exit 0

Ein weiteres, von Wine verwendetes, Verzeichnis ist $HOME/.local/share/.

Kann man Wine den Zugriff aufs Internet untersagen?

ni - no internet http://ubuntuforums.org/showthread.php?t=1188099

Quellenverzeichnis

Weblinks