Wie verhindert man, dass Wine-Updates bestehende Software-Konfigurationen oder Präfixe unbrauchbar machen?
Das Problem bei Wine-Updates ist oft, dass eine neue Version Änderungen am Wine-Prefix (dem virtuellen C:-Laufwerk) vornimmt oder Regressionsfehler einführt, die eine vorher funktionierende Software unbrauchbar machen.
Hier sind die besten Strategien, um Wine-Umgebungen stabil zu halten:
1. Die goldene Regel: Separate Prefixes nutzen
Installiere niemals alle Programme in den Standard-Ordner (~/.wine). Wenn ein Update ein Programm zerschießt, sind sonst alle anderen auch betroffen.
- Vorteil: Jedes Programm hat seine eigene isolierte Umgebung.
- Umsetzung: Erstelle für jedes Programm einen eigenen Prefix:
WINEPREFIX=~/.wine-meinprogramm wine setup.exeZum Starten musst du den Pfad immer mitgeben oder ein Alias/Starter-Skript nutzen.
2. Nutzung von Wine-Managern (Bottles, Lutris)
Dies ist die empfehlenswerteste Methode für die meisten Nutzer. Tools wie Bottles oder Lutris abstrahieren die Wine-Verwaltung.
- Bottles: Jede "Flasche" (Prefix) kann eine eigene Wine-Version nutzen. Wenn du dein System-Wine aktualisierst, bleibt die Version innerhalb der "Bottle" unberührt, bis du sie manuell änderst.
- Lutris: Erlaubt es, für jedes Spiel/Programm eine spezifische Wine-Version (z. B. eine ältere GE-Proton oder eine spezifische Staging-Version) festzulegen.
- Vorteil: Du bist unabhängig vom Wine-Paket deiner Linux-Distribution.
3. Wine-Version im Paketmanager "pinnen" (Hold)
Wenn du Wine direkt über die Paketquellen deiner Distribution beziehst, kannst du verhindern, dass es bei einem System-Update aktualisiert wird.
- Debian/Ubuntu/Mint:
sudo apt-mark hold winehq-stable - Arch Linux (pacman.conf):
Füge
IgnorePkg = winein der/etc/pacman.confhinzu. - Nachteil: Du erhältst keine Sicherheitsupdates mehr für Wine.
4. Den "Wine-Configuration-Update"-Dialog unterdrücken
Wenn du Wine aktualisierst und ein altes Prefix startest, erscheint oft das Fenster "Wine-Konfiguration wird aktualisiert". Dies verändert Dateien im Prefix. Man kann dies verhindern, indem man die automatische Aktualisierung deaktiviert (nur für Fortgeschrittene empfohlen):
Setze die Umgebungsvariable:
WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEPREFIX=... wine programm.exe
(Dies verhindert vor allem, dass Wine die Dateiverknüpfungen im System überschreibt.)
5. Dateisystem-Snapshots (Btrfs / Timeshift)
Wenn dein System auf Btrfs läuft, kannst du vor einem großen Update einen Snapshot machen.
- Sollte das Wine-Update dein Prefix unbrauchbar machen, kannst du den alten Zustand des Ordners
~/.wine...in Sekunden wiederherstellen. - Alternativ: Den Prefix-Ordner einfach manuell zippen/kopieren, bevor man ein Update wagt.
6. Portable Wine-Builds nutzen
Anstatt das systemweite Wine zu nutzen, kannst du vorkompilierte Wine-Versionen (z. B. von PlayOnLinux oder GloriousEggroll) in einen lokalen Ordner herunterladen.
Du startest dein Programm dann direkt mit dem Pfad zur spezifischen Wine-Binärdatei:
~/mein-wine-pfad/bin/wine programm.exe
Da dieses Wine-Verzeichnis nicht in /usr/bin/ liegt, wird es vom Paketmanager niemals angefasst.
Zusammenfassung der Best Practice:
- Nutze Bottles, wenn du eine grafische Oberfläche willst. Es isoliert Versionen perfekt.
- Nutze separate
WINEPREFIXfür jedes wichtige Programm. - Mache Backups der Prefix-Ordner (die
system.reg,user.regund derdrive_cInhalt sind entscheidend). - Vermeide
wine-staging, wenn Stabilität wichtiger ist als die neuesten Features, da hier öfter Regressionsfehler auftreten als in derstable-Version.