Wine

Bild des Benutzers comrad

Wine ist ein Wrapper für Funktionsaufrufe, die an Microsoft Windows gerichtet sind, leitet diese um und ersetzt sie durch Linux-Funktionsaufrufe. Das gleiche geschieht mit Aufrufen an DirectX, die in OpenGL-Befehle umgewandelt oder emuliert werden. Mittlerweile funktionieren unter Wine zahlreiche Windowsprogramme. Ob das gewünschte Programm auch tatsächlich funktioniert ist jedoch meist Glücksache. Es gibt jedoch die WineHQ-Datenbank in welcher tausende von Programmen und Spiele gelistet sind und man sehr wahrscheinlich sein Programm finden kann.

Installation

Bei den allermeisten Distributionen wird Wine mitgeliefert, bzw. befindet sich in den Repositories, die Installation gestaltet sich dementsprechend einfach.

Da jedoch alle 2 Wochen eine neue Wine-Version erscheint sind diese mitgelieferten Versionen sehr schnell veraltet. Es empfiehlt sich die aktuellste Version von der Webseite des Projekts zu installieren. Es wird die jeweils aktuellste Version in zahlreichen Paket-Formate angeboten.

OpenSUSE

OpenSUSE bietet OBS Repositories an, mit denen man aktuellere Wine-Versionen nutzen kann: http://software.opensuse.org/package/wine

Wenn ein Browser genutzt wird wie Firefox oder Chromium z.B. könnt ihr da direkt "1-Click" anwählen und nach Angabe des root Passwortes wird wine in der ausgewählten Version automatisch installiert.

Die Version für eure Distribution müsste automatisch richtig ausgewählt werden. Ansonsten könnt ihr die richtige unten aus der Liste noch auswählen.

Wenn Ihr eine Aktuellere Version installieren möchtet welche nicht mit der Aktuellen Version mitgeliefert wird kann man einfach auf "Möglicherweise Instabile Pakete anzeigen" klicken.
Die Empfehlung liegt dabei die Version aus "Emulators:Wine" zu nutzen.

Ubuntu

Für Ubuntu wird ebenfalls ein Repository angeboten: http://www.winehq.org/download/deb

From Source

Zu erst solltet ihr die nötigen Abhängigkeiten zum bauen installieren.
Bei den meisten Distrubtions muss man dazu extra -dev oder -devel Pakete Installieren, bei Arch Linux zb. entfällt dies.
Bei Debian Distrubtions geht das ganze einfach mit folgendem Befehl:

 
apt-get build-dep wine

Bei anderen Distrubtions schaut bitte unter Recommended Packages im Wine Wiki (siehe Link).

  

Folgend führt ihr ./configure aus, dabei empfehle ich Wine via --prefix= in einen extra Ordner zu Installieren wenn ihr es gepatched habt, so das eure lokale Wine Version bleiben kann.
Der Ordner kann etwas wie $HOME/.local/share/wineversions/$wine_name sein.
Ich empfehle bei einem Programm wie Wine die CFLAGS anzupassen, als Arch User kann man hier einfach die Optionen aus /etc/makepkg.conf bzw. als Gentoo User /etc/portage/make.conf übernehmen.
Weitere Infos dazu gibt es in Compilation Optimization Guide, siehe weiterführende Links.
Der Rest ist einfach nur make && make install.

  

Konfiguration

In den neueren Wine-Versionen ist eine Windows-Oberfläche verfügbar, mit der Wine konfiguriert werden kann. Hier können Profile für bestimmte Programme angelegt werden und dabei spezielle Einstellungen geladen werden.

  

Prefixe

Es empfiehlt sich für jedes Programm einen extra Prefix zu erstellen, gerade wenn ein Programm eine extra Wine Version erfordert oder bestimmte Programme wie .NET erfordert.
Man kann Programme auch nach Abhängigkeiten nach verschieden Programmen oder gepatchten Wine Versionen Ordnen solange es keine Probleme wegen inkompatiblen Änderungen gibt.

  

Start Script

Grade wenn man eine extra Wine-Version für ein Programm verwendet oder andere Dinge vor oder nach dem start des Programms erledigt werden soll empfiehlt es sich einen Script für das für das Programm zu schreiben und diesen nach $HOME/bin bzw. $HOME/.local/bin kopieren.

  

Dieser kann dann etwa so aussehen:

 
set_wine_ver () { # sehr praktisch bei gepatchten Wine Versionen
 
if [ -z "$1" ] ; then # unset wine version
  export LD_LIBRARY_PATH=
  export WINESERVER=
  export WINELOADER=
  export WINEDLLPATH=
  export BINPATH=
  WINE=
 
else  # use wine version from path given by "$1"
  export LD_LIBRARY_PATH="$1"/lib:$LD_LIBRARY_PATH
  export WINSERVER="$1"/bin/wineserver
  export WINELOADER="$1"/bin/wine
  export WINEDLLPATH="$1"/lib/wine
  export BINPATH="$1"/bin/
  WINE=$BINPATH/wine
fi
 
 
}
APPMAME='Star Wars: The Old Republic'
APPPATH='/home/bidar/.local/share/wineprefixes/swtor/drive_c/Program Files/Electronic Arts/BioWare/Star Wars - The Old Republic'
WINEPATH=/home/bidar/.wine-ver/swtor-git
WINEPREFIX=/home/.local/share/wineprefixes/swtor
cd "$APPPATH"
 
if [ "$WINEPATH" ] ; then
      set_wine_ver "$WINEPATH" # wine version setzen so das, dass Programm mit der Passenden Version startet
fi
export WINEPREFIX
${WINE:-wine} explorer /desktop=SWTOR,800x600 launcher.exe

Alternativen

  • Crossover bzw. Crossover Games, basieren auf einer mehr oder weniger aktuellen Wine-Version, bringen aber eine benutzerfreundliche GUI sowie professionellen Support mit.
  • Cedega, basiert ebenfalls auf Wine, allerdings auf einer sehr alten. Wurde in den letzten Jahren stetig von Transgaming verbessert.

Tools

Es gibt zahlreiche Frontends für Wine, welche einem das Leben einfacher machen:

Benutzung

Programme starten

Wine steuert seine Einstellungen über einen sogenannten WINEPREFIX. Dieser kann über die Konsole vor dem Aufruf von Wine gesetzt werden, um unterschiedliche Installationen zu konfigurieren.

WINEPREFIX=~/.wine

Um eine Einstellung via winecfg für Programm XY vorzunehmen gebt folgendes ein:

WINEPREFIX=~/.wine/xy/ winecfg

MSI-Installation

Wichtig zur Installation ist auch das Tool msiexec, das mit wine mitgeliefert wird. Mit ihm lassen sich MSI-Pakete ausführen (z.B. für STEAM). Man verwendet msiexec für die Installation eines MSI-Installationsarchives wie folgt:

msiexec /i DATEI.msi

CD/DVD-Wechsel

Linux sperrt bei Zugriffen auf Speichermedien die Möglichkeit diese zu unmounten. Das ist bei einer Installation, die mehrere CDs/DVDs umfasst natürlich schlecht. Daher könnt ihr folgendes benutzen

wine eject

Das gibt eurer Laufwerk frei und ihr könnt den Datenträger auswechseln.

Prinzipiell geht alles was zu Wine gehört nach ~/.wine/ . Dort befinden sich auch die Links zu den "Windows-Laufwerken".

Screenshots und Videos