Wine (software): Kør Windows-programmer på Unix-lignende systemer
Wine: Kør Windows-programmer på Linux og andre Unix-lignende systemer. Fri LGPL-software med Winelib til portering, x86/x86-64-kompatibilitet og aktiv udvikling.
Wine er et stykke software, som gør det muligt for Unix-lignende computerstyresystemer på x86- og x86-64-arkitekturer at udføre programmer skrevet til Microsoft Windows. Wine indeholder også et softwarebibliotek kaldet Winelib, som udviklere kan kompilere Windows-programmer mod for at hjælpe med at portere dem til Unix-lignende systemer. Noget Wine-kode anvendes i ReactOS, et gratis styresystem, der er Windows-kompatibelt og ikke er baseret på Unix.
Wine-udviklerne frigav version 1.0 af Wine efter 15 års udvikling den 17. juni 2008. Wine er fri software, udgivet i henhold til vilkårene i GNU Lesser General Public License (LGPL).
Hvad Wine gør og hvordan det virker
Wine fungerer som en kompatibilitetslag, ikke som en traditionel emulator. I stedet for at simulere en fuld Windows-kernel oversætter Wine Windows API-opkald direkte til tilsvarende POSIX-opkald og Linux-/Unix-kald, og kortlægger Windows-filsystem- og registreringskald til værtssystemets tilsvarende mekanismer. Dette betyder ofte bedre ydeevne end fuld emulering, fordi koden køres nær indfødt hastighed på værtsarkitekturen.
Komponenter
- Wine — hovedprojektet, som implementerer mange Windows API'er og programkørsel på Unix-lignende systemer.
- Winelib — et sæt biblioteker og værktøjer, der gør det muligt for udviklere at kompilere Windows-kildekode til at køre på Unix-lignende systemer ved at linke mod Wine-biblioteker.
- Ekstraudgaver og værktøjer — varianter som Wine Staging (eksperimentelle patches), kommercielle udgaver som CrossOver, samt hjælpemidler som winetricks og grafiske frontend'er til håndtering af "wineprefixes" og DLL-override.
Installation og brug
Wine findes i mange distributioners pakkearkiver og kan også bygges fra kildetekst. Når Wine installeres, oprettes der typisk et brugerspecifikt "wineprefix", som er et isoleret miljø der indeholder en emuleret Windows-mappe, registreringsdatabase og installerede Windows-programmer. Almindelige kommandoer og variabler er:
- wine program.exe — kør et Windows-program (.exe)
- WINEPREFIX — angiv en alternativ placering for et wineprefix
- WINEARCH — sæt arkitektur (win32/win64) for et nyt wineprefix
- winetricks — script til at installere almindelige Windows-komponenter (f.eks. .NET, Visual C++ runtime) og tweaks
Anvendelsesområder
Wine bruges ofte til at køre ældre eller specielle Windows-programmer på Linux, BSD og macOS, herunder:
- Kontorapplikationer og forretningssoftware, hvor native Linux-versioner mangler.
- Spil — mange Windows-spil kan køre under Wine; Steam Proton er et eksempel på en Valve-udviklet tilpasning af Wine målrettet spilkompatibilitet.
- Udvikling og portering ved hjælp af Winelib til at bygge Windows-applikationer mod Wine-API'erne.
Begrænsninger og kompatibilitet
Selvom Wine dækker et stort udvalg af Windows-API'er, er der stadig forskelle og manglende implementeringer. Problemer kan opstå med:
- Programmer der kræver lavniveau-adgang til hardware eller Windows-kernen.
- Beskyttelsesmekanismer som DRM og visse kopibeskyttede biblioteker.
- Kompleks afhængighed af proprietære drivere eller specifikke Windows-versioner.
Kompatibiliteten varierer fra program til program; Wine-projektet og tredjepartsdatabaser som WineHQ AppDB dokumenterer testresultater og anbefalinger for mange programmer.
Ydeevne og stabilitet
Wine kan ofte levere ydeevne tæt på indfødt, især for applikationer der ikke kræver speciel hardwareaccelereret adgang. I nogle tilfælde kan indstillinger og tweaks (f.eks. grafiske drivere, DirectX-oversættelse, eller brug af Wine Staging-patches) forbedre både ydeevne og kompatibilitet. Debugging-værktøjer som logning og WINEDEBUG kan hjælpe med at identificere og afhjælpe problemer.
Historie og udviklingssamfund
Projektet startede i midten af 1990'erne og nåede version 1.0 i 2008, som nævnt ovenfor. Wine er et frivilligt open source-projekt med bidrag fra både enkeltpersoner og virksomheder. Kildekoden er frit tilgængelig, og udviklingen foregår i åbne repositories med regelmæssige udgivelser, fejlrapporter og patches. Nogle samfundsprojekter genbruger Wine-komponenter i andre projekter, fx i ReactOS.
Praktiske tips
- Check WineHQ for anbefalede versioner og kompatibilitetsrapporter for konkrete programmer.
- Brug separate wineprefixes for forskellige programmer for at undgå konflikter.
- Prøv både stabile Wine-udgivelser og Wine Staging, hvis et program har problemer.
- Overvej kommercielle muligheder som CrossOver, hvis du ønsker support og forenklet installation på macOS eller Linux.
Konklusion
Wine tilbyder en praktisk måde at køre mange Windows-programmer på Unix-lignende systemer uden fuld emulator eller Windows-licens. Projektet har opnået stor funktionalitet gennem årene, men fuld kompatibilitet er ikke garanteret for alle programmer. Ved hjælp af værktøjer, community-dokumentation og passende konfiguration kan mange brugere dog køre nødvendige Windows-applikationer på deres foretrukne Unix-lignende platform.
Spørgsmål og svar
Q: Hvad er vin?
A: Wine er en software, der gør det muligt for Unix-lignende computeroperativsystemer på x86- og x86-64-arkitekturerne at køre Microsoft Windows-programmer uden brug af emulering.
Q: Hvad er Winelib af Wine?
A: Winelib of Wine er et softwarebibliotek, som udviklere kan bruge til at kompilere Windows-programmer mod for at hjælpe med at portere dem til Unix-lignende systemer.
Q: Hvad er ReactOS?
A: ReactOS er et gratis operativsystem, der er Windows-kompatibelt og ikke er baseret på Unix. Det bruger noget Wine-kode.
Q: Hvad er den vigtigste funktion i Wine?
A: Den vigtigste funktion i Wine er at lade Unix-lignende systemer køre Windows-programmer uden at bruge emulering.
Q: Hvornår blev Wine version 1.0 udgivet?
A: Wine version 1.0 blev udgivet den 17. juni 2008 efter 15 års udvikling.
Q: Er Wine en gratis software?
A: Ja, Wine er en fri software, der er udgivet under GNU Lesser General Public License (LGPL).
Q: Kan udviklere bruge Wine til at portere Windows-applikationer til Unix-lignende systemer?
A: Ja, udviklere kan bruge Wine og dets Winelib til at kompilere Windows-programmer mod det og portere dem til Unix-lignende systemer.
Søge