Wine: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(25 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Über Wine ==
{{righttoc}}
WINE (Wine Is Not An Emulator) beschreibt eine Ausführungsschicht, die die native Win32-API auf die entsprechenden Linux-Derivate abbildet. Es wird nicht wie beispielsweise bei VirtualBox eine komplette virtuelle Maschine simuliert, sondern ausschließlich die Windows-Ausführungsschicht für Linux bereitgestellt. Ältere Programme aus Win95/98(SE) Zeiten funktionieren in der Regel recht gut, aber auch bei neueren Programmen hat Wine mittlerweile gewaltige Fortschritte erzielen können.


WINE (Wine Is Not An Emulator) beschreibt eine Ausführungsschicht, die die native Win32-API auf die entsprechenden Linux-Derivate abbildet. Es wird NICHT wie beispielsweise bei einer VMWare eine komplette Virtuelle Maschine simuliert,sondern ausschließlich die Windows-Ausführungsschicht auf Linux umgebogen.
{{installation|repo=extra|paket=wine}}
Ältere Programme aus Win95/98(SE) Zeiten funktionieren in der Regel recht gut, aber auch bei neueren Programmen hat Wine mittlerweile gewaltige Fortschritte erzielen können.


== Installation ==
Um Wine auch auf x86_64 nutzen zu können muss man vorher das multilib-Repo in der /etc/pacman.conf aktivieren


Wine ist für i686 über das offizielle [extra] Repository erhältlich:
[multilib]
Die Installation ist folglich relativ simpel. Die entsprechenden Abhängigkeiten werden aufgelöst und ebenfalls mit installiert.
Include = /etc/pacman.d/mirrorlist


<code>pacman -Sy wine</code>
== Konfiguration ==
[[Bild:Winecfg.png|thumb|Konfigurationsdialog]]
Eine Grundkonfiguration erhält man bereits mittels des Befehls:
 
winecfg
 
Es öffnet sich dann ein Fenster, in dem man Einstellung vornehmen kann. Die Windows-Version, Bibliotheken, Grafiken, die Desktop-Integration, Laufwerke (in denen Wine später Programme/Spiele etc. ablegen wird) und die Audio-Einstellungen lassen sich hier ziemlich simpel vornehmen. Als Laufwerk lässt sich das von den unter „Windows“ ausgeführten Programmen benutzte CD/DVD-ROM Laufwerk ebenfalls auswählen.


Für x86_64 ist ein PKGBUILD [http://aur.archlinux.org/packages.php?ID=7915 bin32-wine] im [[AUR]] verfügbar.
Generell funktioniert die Audioausgabe mittels ALSA, allerdings kann es bei einigen Anwendungen Probleme geben. Hierzu gibt es entsprechende Infos auf der Wine-Projekt Homepage. [http://appdb.winehq.org] Hier hilft es oftmals den OSS-Treiber zu verwenden beziehungsweise auf eine gepatchte Wine-Version auszuweichen.
Die Konfigurationsdaten werden im Homeverzeichnis des angemeldeten Benutzers unter „.wine“ abgespeichert und lassen sich hier auch manuell editieren.


== Konfiguration ==
== Benutzung ==
Um eine beliebige Windows-Exe auszuführen startet man „wine“ gefolgt von der gewünschten Datei.


Eine Grundkonfiguration erhält man bereits mittels des Befehls:
wine programmname.exe
<code>winecfg</code>
Es sollte dann ein Menü aufgehen, in welchem man Einstellung vornehmen kann. Die Windows Version, Bibliotheken, Grafiken, die Desktop Integration, Laufwerke (in denen Wine später Programme/Spiele etc. ablegen wird und die Audio Einstellungen lassen sich hier ziemlich simpel vornehmen.
Zum Punkt Audio lässt sich momentan sagen, dass ALSA zwar normalerweise ohne Probleme funktioniert, aber bei manchen Spielen noch Probleme verursachen kann. Hierzu gibt es entsprechende Infos auf der Wine-Projekt Homepage.[http://appdb.winehq.org]
Hier hilft es oftmals den OSS-Treiber zu verwenden beziehungsweise auf eine gepatchte Wine-Version auszuweichen.
In den Laufwerken lässt sich das von den unter "Windows" ausgeführten Programmen benutzte CD/DVD-ROM Laufwerk ebenfalls auswählen.  


In der Regel sollte ein Programm dann entweder starten oder im Terminal zumindest Feedback geben, was nicht funktioniert. Oftmals hilft auch ein Blick in die AppDB des WineHQ Projektes, da hier oftmals Workarounds gepostet werden, die so manche Applikation zum laufen gebracht haben.  Die installierten Programme liegen unter „.wine/drive_c/programmname“ und lassen sich durch einfaches löschen des entsprechenden Programmordners entfernen. Zudem gibt es hierfür noch zusätzlich den integrierten uninstaller der sich über ein Terminal mit dem Befehl …


Die Konfigurationsdaten werden im Homeverzeichnis des angemeldeten Benutzers unter <code>.wine</code> abgespeichert und lassen sich hier auch individuell editieren.
uninstaller


''Bild von einem winecfg Fenster:''[http://wiki.archlinux.de/?title=Bild:Winecfg.png]
… aufrufen lässt. Dieser funktioniert ähnlich dem Windows-Uninstaller und entfernt vor allem einfachere Anwendungen meist zufriedenstellend. Zum anderen – sollte man noch nachkorrigieren müssen, weil zum Beispiel Reste in der Registry vorhanden sind – gibt es hierfür den Registryeditor der sich über <code>regedit</code> ausführen lässt.


== Benutzung ==
=== Umgebungsvariablen ===
Um Programe mit bestimmten Parametern zu nutzen gibt es verschiedene Umgebungsvariablen die man beim Start von Wine mitgeben kann.


Um eine beliebige Windows-Exe auszuführen geht man entweder ins Terminal oder über einen Dateimanager und gibt folgendes ein:
==== Wineprefix ====
Wird Wine ohne Paramater aufgerufen so nutzt das Programm ~/.wine als Programmpfad. Es ist möglich die Programme schon bei der Installation an einen anderen Ort zu installieren:


<code> wine programmname.exe </code>
WINEPREFIX=/home/user/Programm1 wine Programm
WINEPREFIX=/home/user/Programm2 wine Programm


In der Regel sollte ein Programm dann entweder starten oder im Terminal zumindest Feedback geben, was nicht funktioniert. Oftmals hilft auch ein Blick in die AppDB des WineHQ Projektes, da hier oftmals Workarounds gepostet werden, die so manche Applikation zum laufen gebracht haben.  
Dies erstellt beim ersten Aufruf das Verzeichnis 'Programm1' in '/home/user' und legt dort die wine-typische Verzeichnisstruktur an. Jedes Wineprefix ist ein unabhängiger Installationsort. So lassen sich dann die Programme logisch voneinander trennen.  


Die installierten Programme liegen unter $./.wine/drive_c/programmname und lassen sich durch einfaches löschen des entsprechenden Programmordners entfernen.  
==== Winearch ====
Bei einem 64Bit System wird Wine normalerweise auch als 64Bit-Programm ausgeführt. Dies kann bei einigen Programmen unerwünscht sein. Um ein Programm im 32Bit-Modus zu betreiben muss bereits das Wineprefix  für 32Bit eingerichtet sein.  


Zum einen gibt es hierfür noch zusätzlich den integrierten uninstaller der sich über ein Terminal mit dem Befehl <code>uninstaller</code> aufrufen lässt. Dieser funktioniert ähnlich dem Windows-Uninstaller und entfernt vor allem einfachere Anwendungen meist zufriedenstellend. Zum anderen - sollte man noch nachkorrigieren müssen, weil zum Beispiel Reste in der Registry vorhanden sind, - gibt es hierfür den Registryeditor der sich über <code>regedit</ncode> ausführen lässt.
WINEARCH=win32 WINEPREFIX=/home/user/32bit-wine winecfg


== MSI Installationen ==
Dies legt ein Verzeichnis '32bit-wine' in '/home/user' an, und weißt Wine an in diesem Wineprefix als wine32 zu laufen.
=== MSI Installationen ===
[[Bild:Msexec_mit_Steam.png|thumb|Msexec mit Steam]]


Um eine MSI Installation durchzuführen wechselt man mittels cd in der Konsole in das Verzeichnis in dem die .msi Datei liegt. Als nächstes den Befehl
Um eine MSI-Installation durchzuführen wechselt man mittels „cd“ in der Konsole in das Verzeichnis in dem die .msi Datei liegt. Als nächstes den Befehl


  msiexec DATEI.msi
  msiexec /a DATEI.msi


ausführen. Dann sollte der Installer starten.
ausführen. Dann sollte der Installer starten.


[http://wiki.archlinux.de/images/Msexec_mit_Steam.png]
=== Windows Dlls einbauen ===
Da nach der Installation von Wine nur die nötigsten DLL-Dateien – bzw. deren Alternativen – vorhanden sind, empfiehlt es sich, zwecks Performance und Fehlerbehebung, diese von einem PC mit einem Original-Windows XP/Vista System zu kopieren. Dabei sind die Lizenzbedingungen von Windows/Microsoft zu beachten. Als Alternative bieten sich DLL-Suchmaschinen wie [http://www.dll-files.com dll-files.com] an, über die frei verfügbare DLL-Dateien gesucht und heruntergeladen werden können. Wine gibt am Terminal meist aufschluss darüber, welche DLLs einem Programm fehlen.
 
=== Sicherheit ===
Wie der Name schon sagt, ist Wine KEIN Emulator. Dies bedeutet, dass alles, was mittels Wine an Windows-Programmen ausgeführt wird, direkt auch das System beeinflusst. So kann Schadsoftware oder das bewusste herumprobieren mit diversen Tools zum Beispiel alle Dateien eines unter Wine als Laufwerk X: eingebunden home-Verzeichnisses löschen oder unbrauchbar machen. Auch können Internet-Würmer über einen mittels Wine verwendeten Internet-Explorer über die tatsächlich im System vorhandene Netzwerkkarte ins LAN vordringen und sich zum Beispiel über Samba-Shares (so sie über Wine verfügbar sind) auf andere Rechner verbreiten.
 
==Probleme==
Nutzt Ihr ein 64Bit System und bekommt bei dem start einer 3D Anwendung als Fehler:
 
Kein Anzeigegerät gefunden.
 
Dann müsst Ihr folgendes Paket installieren:
 
===== NVIDIA: =====
# pacman -S lib32-nvidia-utils
 
===== ATI: =====
# pacman -S lib32-ati-dri
 
Dies ersetzt das Paket: lib32-libgl. Bei der Frage ob dies ersetzt werden soll mit Ja bestätigen.
 
===== Wine ersetzt Standardprogramme =====
Bei der Installation/Ausführung von Windowsprogrammen kann es vorkommen das die Standardprogramme unerwünscht durch Windowsprogramme ersetzt wurden (z.B. gedit durch notepad)
Diese Verhalten kann deaktiviert werden indem man die Ausführung des Programms 'winemenubuilder' verhindert:
#  winecfg starten
# zum Reiter ''Bibliotheken'' wechseln
# im Feld ''Neue Überschreibung für:'' winemenubuilder.exe eintragen
# auf ''Festlegen klicken
# im Feld ''Bestehende'' winemenubuilder.exe auswählen und auf ''Bearbeiten'' klicken
# ''Deaktivieren'' auswählen und ''OK'' anklicken
Diese Vorgehensweise führt zu Fehlermeldungen im Terminal welche jedoch ignoriert werden können.
 
== Gallium Nine Support ==
Durch den Einsatz von gallium nine könnt ihr die fps verdoppeln. Funktioniert nur mit OpenSource Treiber!
 
Zur nutzt von Gallium Nine Patches müsst ihr folgendes tun:
Mesa aus dem repo installieren: https://wiki.archlinux.org/index.php/Unofficial_user_repositories#mesa-git
 
===== mesa-git-repo: =====
 
[mesa-git]
Server = http://pkgbuild.com/~lcarlier/$repo/$arch
SigLevel = Optional
 
Und wine aus dem AUR https://aur.archlinux.org/packages/wine-staging-d3dadapter/ Kompilieren.
 
Sollten Grafikfehler auftreten mal versuchen mit:


== Windows Dlls einbauen ==
DRI_PRIME=1 thread_submit=true wine zu starten


Da nach der Installation von Wine nur nachgemachte oder wenige der erwünschten *.dll Files in eurem ''~/.wine/drive_c/windows'' sind, empfiehlt es sich, zwecks Performance und Fehlerbehebung, diese von einem PC mit einem original Windows Xp / Vista System zu kopieren.
===== Weitere Infos zum gallium nine patch/Hilfe: =====
Wer faul ist und nicht so viel Wert darauf legt, ob sich in eurem /drive_c/windows jetzt nur *.dll s oder auch anderer Schnickschnack befindet, kann einfach den gesamten Inhalt des original Windows Ordner in euren ''~/.wine/drive_c/windows'' Ordner kopieren.
Wenn die originalen Windows *.dll s eingefügt werden, sollten die alten überschrieben werden.


ToDos:
https://wiki.ixit.cz/d3d9
irc://chat.freenode.net/d3d9


- Wine unter Arch 64 mit changeroot Umgebung
==Weblinks==
- Drucken in WindowsAnwendungen
* [http://www.winehq.org Offizielle Seite] {{sprache|en}}
- Screenshots
* [https://wiki.ixit.cz/d3d9 Offizielle Seite des gallium Nine Patches für Wine] {{sprache|en}}


[[Kategorie:Installation]]
[[Kategorie:X11]]
[[Kategorie:Unvollständig]]
[[en:Wine]]

Version vom 5. Oktober 2015, 14:11 Uhr

WINE (Wine Is Not An Emulator) beschreibt eine Ausführungsschicht, die die native Win32-API auf die entsprechenden Linux-Derivate abbildet. Es wird nicht wie beispielsweise bei VirtualBox eine komplette virtuelle Maschine simuliert, sondern ausschließlich die Windows-Ausführungsschicht für Linux bereitgestellt. Ältere Programme aus Win95/98(SE) Zeiten funktionieren in der Regel recht gut, aber auch bei neueren Programmen hat Wine mittlerweile gewaltige Fortschritte erzielen können.

Installation

Das Programm ist als wine in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S wine

Um Wine auch auf x86_64 nutzen zu können muss man vorher das multilib-Repo in der /etc/pacman.conf aktivieren

[multilib]
Include = /etc/pacman.d/mirrorlist

Konfiguration

Konfigurationsdialog

Eine Grundkonfiguration erhält man bereits mittels des Befehls:

winecfg

Es öffnet sich dann ein Fenster, in dem man Einstellung vornehmen kann. Die Windows-Version, Bibliotheken, Grafiken, die Desktop-Integration, Laufwerke (in denen Wine später Programme/Spiele etc. ablegen wird) und die Audio-Einstellungen lassen sich hier ziemlich simpel vornehmen. Als Laufwerk lässt sich das von den unter „Windows“ ausgeführten Programmen benutzte CD/DVD-ROM Laufwerk ebenfalls auswählen.

Generell funktioniert die Audioausgabe mittels ALSA, allerdings kann es bei einigen Anwendungen Probleme geben. Hierzu gibt es entsprechende Infos auf der Wine-Projekt Homepage. [1] Hier hilft es oftmals den OSS-Treiber zu verwenden beziehungsweise auf eine gepatchte Wine-Version auszuweichen.

Die Konfigurationsdaten werden im Homeverzeichnis des angemeldeten Benutzers unter „.wine“ abgespeichert und lassen sich hier auch manuell editieren.

Benutzung

Um eine beliebige Windows-Exe auszuführen startet man „wine“ gefolgt von der gewünschten Datei.

wine programmname.exe

In der Regel sollte ein Programm dann entweder starten oder im Terminal zumindest Feedback geben, was nicht funktioniert. Oftmals hilft auch ein Blick in die AppDB des WineHQ Projektes, da hier oftmals Workarounds gepostet werden, die so manche Applikation zum laufen gebracht haben. Die installierten Programme liegen unter „.wine/drive_c/programmname“ und lassen sich durch einfaches löschen des entsprechenden Programmordners entfernen. Zudem gibt es hierfür noch zusätzlich den integrierten uninstaller der sich über ein Terminal mit dem Befehl …

uninstaller

… aufrufen lässt. Dieser funktioniert ähnlich dem Windows-Uninstaller und entfernt vor allem einfachere Anwendungen meist zufriedenstellend. Zum anderen – sollte man noch nachkorrigieren müssen, weil zum Beispiel Reste in der Registry vorhanden sind – gibt es hierfür den Registryeditor der sich über regedit ausführen lässt.

Umgebungsvariablen

Um Programe mit bestimmten Parametern zu nutzen gibt es verschiedene Umgebungsvariablen die man beim Start von Wine mitgeben kann.

Wineprefix

Wird Wine ohne Paramater aufgerufen so nutzt das Programm ~/.wine als Programmpfad. Es ist möglich die Programme schon bei der Installation an einen anderen Ort zu installieren:

WINEPREFIX=/home/user/Programm1 wine Programm
WINEPREFIX=/home/user/Programm2 wine Programm

Dies erstellt beim ersten Aufruf das Verzeichnis 'Programm1' in '/home/user' und legt dort die wine-typische Verzeichnisstruktur an. Jedes Wineprefix ist ein unabhängiger Installationsort. So lassen sich dann die Programme logisch voneinander trennen.

Winearch

Bei einem 64Bit System wird Wine normalerweise auch als 64Bit-Programm ausgeführt. Dies kann bei einigen Programmen unerwünscht sein. Um ein Programm im 32Bit-Modus zu betreiben muss bereits das Wineprefix für 32Bit eingerichtet sein.

WINEARCH=win32 WINEPREFIX=/home/user/32bit-wine winecfg

Dies legt ein Verzeichnis '32bit-wine' in '/home/user' an, und weißt Wine an in diesem Wineprefix als wine32 zu laufen.

MSI Installationen

Msexec mit Steam

Um eine MSI-Installation durchzuführen wechselt man mittels „cd“ in der Konsole in das Verzeichnis in dem die .msi Datei liegt. Als nächstes den Befehl

msiexec /a DATEI.msi

ausführen. Dann sollte der Installer starten.

Windows Dlls einbauen

Da nach der Installation von Wine nur die nötigsten DLL-Dateien – bzw. deren Alternativen – vorhanden sind, empfiehlt es sich, zwecks Performance und Fehlerbehebung, diese von einem PC mit einem Original-Windows XP/Vista System zu kopieren. Dabei sind die Lizenzbedingungen von Windows/Microsoft zu beachten. Als Alternative bieten sich DLL-Suchmaschinen wie dll-files.com an, über die frei verfügbare DLL-Dateien gesucht und heruntergeladen werden können. Wine gibt am Terminal meist aufschluss darüber, welche DLLs einem Programm fehlen.

Sicherheit

Wie der Name schon sagt, ist Wine KEIN Emulator. Dies bedeutet, dass alles, was mittels Wine an Windows-Programmen ausgeführt wird, direkt auch das System beeinflusst. So kann Schadsoftware oder das bewusste herumprobieren mit diversen Tools zum Beispiel alle Dateien eines unter Wine als Laufwerk X: eingebunden home-Verzeichnisses löschen oder unbrauchbar machen. Auch können Internet-Würmer über einen mittels Wine verwendeten Internet-Explorer über die tatsächlich im System vorhandene Netzwerkkarte ins LAN vordringen und sich zum Beispiel über Samba-Shares (so sie über Wine verfügbar sind) auf andere Rechner verbreiten.

Probleme

Nutzt Ihr ein 64Bit System und bekommt bei dem start einer 3D Anwendung als Fehler:

Kein Anzeigegerät gefunden.

Dann müsst Ihr folgendes Paket installieren:

NVIDIA:
# pacman -S lib32-nvidia-utils
ATI:
# pacman -S lib32-ati-dri

Dies ersetzt das Paket: lib32-libgl. Bei der Frage ob dies ersetzt werden soll mit Ja bestätigen.

Wine ersetzt Standardprogramme

Bei der Installation/Ausführung von Windowsprogrammen kann es vorkommen das die Standardprogramme unerwünscht durch Windowsprogramme ersetzt wurden (z.B. gedit durch notepad) Diese Verhalten kann deaktiviert werden indem man die Ausführung des Programms 'winemenubuilder' verhindert:

  1. winecfg starten
  2. zum Reiter Bibliotheken wechseln
  3. im Feld Neue Überschreibung für: winemenubuilder.exe eintragen
  4. auf Festlegen klicken
  5. im Feld Bestehende winemenubuilder.exe auswählen und auf Bearbeiten klicken
  6. Deaktivieren auswählen und OK anklicken

Diese Vorgehensweise führt zu Fehlermeldungen im Terminal welche jedoch ignoriert werden können.

Gallium Nine Support

Durch den Einsatz von gallium nine könnt ihr die fps verdoppeln. Funktioniert nur mit OpenSource Treiber!

Zur nutzt von Gallium Nine Patches müsst ihr folgendes tun: Mesa aus dem repo installieren: https://wiki.archlinux.org/index.php/Unofficial_user_repositories#mesa-git

mesa-git-repo:
[mesa-git]
Server = http://pkgbuild.com/~lcarlier/$repo/$arch
SigLevel = Optional

Und wine aus dem AUR https://aur.archlinux.org/packages/wine-staging-d3dadapter/ Kompilieren.

Sollten Grafikfehler auftreten mal versuchen mit:

DRI_PRIME=1 thread_submit=true wine zu starten

Weitere Infos zum gallium nine patch/Hilfe:

https://wiki.ixit.cz/d3d9 irc://chat.freenode.net/d3d9

Weblinks