Wine

Linux.fista
Siirry navigaatioon Siirry hakuun
Wine

Ensijulkaisu 4. heinäkuuta 1993
Vakaa versio 5.0.3[1]  / 10. marraskuu 2020
Kehitysversio 6.0-rc1[2]  / 4. joulukuuta 2020
Käyttöliittymä [X]]
Lisenssi LGPL
Kotisivu winehq.org
Lähdekoodi wiki.winehq.org/Source_Code

Wine on sovellus, jonka avulla on mahdollista ajaa monia Windows-ohjelmia Linuxissa. Teknisesti Wine (Wine Is Not an Emulator) on x86-käskykannalla pyöriville Unix-järjestelmille (kuten Linux, Solaris, BSD:t ja macOS) tarkoitettu avoin toteutus Windowsin API:sta. Kuten nimikin kertoo, kyseessä ei ole emulaattori, vaan eräänlainen yhteensopivuuskerros Windows-binäärien ja Unix-pohjaisen käyttöjärjestelmän välissä, kääntäen Windows-kutsut POSIX-käskyiksi lennosta, eliminoiden muiden keinojen suoritus- sekä muistihäviöt sallien käyttäjän saumattomasti yhdistää Windows-sovellukset osaksi käyttöliittymää.

Windowsin pasianssi Winessä.
Windows Update Winen ajamassa Internet Explorerissa.

Vuosien saatossa useampi yrityskin on kehittänyt vuosien saatossa Wineä omiin suuntiinsa, Transgamingin Cedega sekä CodeWeaversin CrossOver Games olivat peleille ja CrossOver Office hyötyohjelmille viritettyjä versioita, joista nykyään jäljellä on vain CodeWeaversin aiempien tuotosten yhteensulautuma CrossOver. Sittemmin peliyhtiö Valve on tietoisesti alkanut panostamaan Winen kehitykseen pyrkimyksissään vapautua Microsoftin suljetun Windows-ekosysteemin ikeestä, joka on kulminoitunut CodeWeaversin kanssa yhteistyössä työstettyyn Proton-haaraumaan. Proton on suunniteltu integroitumaan Steam-ohjelmistoon "Steam Play"-ominaisuutena.

Alkuperäinenkin Wine kykenee nykyään ajamaan esimerkiksi uusinta Microsoft Officea ongelmitta, ja pelitukikin on lähes Protonin tasolla, koska Wine saa Valven Proton-haarauman, sekä CodeWeaversin CrossOver:n kehitysaskeleet avoimen lähdekoodin myötä. Winen uskotaan helpottavan Windowsista Linuxiin siirtymistä erityisesti yrityksissä, kaikkia erikoisohjelmia kun ei ole saatavilla natiivijulkaisuina muille käyttöjärjestelmille kuin Windowsille.

Viidentoista vuoden kehitystyön jälkeen Winestä julkaistiin ensimmäinen vakaa versio Wine 1.0 kesäkuussa 2008. Versio 1.8 julkaistiin joulukuussa 2015 ja se toi mukanaan mm. DirectWrite, Direct2D- ja Direct3D -rajapintoihin liittyviä parannuksia, sekä PulseAudio-ajurin. Direct3D 11 -rajapinnan tuen kehitystyö on vielä Wine 1.8 -versiossa kesken, minkä vuoksi valtaosa kyseistä Direct3D-versiota käyttävistä sovelluksista ei vielä täysimääräisesti toimi Winellä. Tuen odotetaan paranevan tulevissa Winen versiojulkaisuissa. Tammikuussa 2019 julkaistiin Wine 4.0, joka toi tuen DirectX 12- ja Vulkan-rajapinnoille, sekä uusille peliohjaimille. Tammikuussa 2020 julkaistu Wine 5.0, joka toi tuen mm. Vulkan 1.1-rajapinnalle, useammalle näytölle sekä FAudio-integroinnille. Wine 6.0 julkaistaneen 2021 tammikuussa.

Winestä on saatavissa kolme eri haaraa: Stable (vakaa versio), Development (kehitysversio) ja Wine Staging (testausversio). Käytännössä minkä tahansa modernin pelin pelaaminen vaatii Wine Stagingin käyttöä.

Pääartikkeli: Wine Staging

Käyttäminen

Oletuksena wine ilman WINEPREFIX-määritelmää luo hakemiston kotihakemiston juureen:

$HOME/.wine 

Jos ongelmaksi ei koeta sitä, että kaikki ohjelmat sekä pelit käyttävät edellä mainittua samaa Wine-ympäristöä keskenään, käynnistä nykyisestä työhakemistosta löytyvä ohjelma ohjelma.exe Winellä:

wine ohjelma.exe

Tapa Wine ja sen ajamat prosessit:

wineserver -k

Wineserver ei aina ole PATH-muuttujan sisältämässä hakemistossa. Esimerkiksi Debianin Winessä se on asennettu hakemistoon /usr/lib/wine/

CD-aseman avaaminen tapahtuu komennolla:

wine eject asemanosoite:

esimerkiksi

wine eject e:

WINEPREFIX

Paras tapa käyttää Wineä, on luoda jokaisella ohjelmalle sekä pelille oma yksilöllinen Wine-ympäristö. Tämä tapahtuu käyttämällä WINEPREFIXiä. Jos polkua, jossa Wineä halutaan käyttää ei ole olemassa, se luodaan automaattisesti. Mikäli saman ohjelman tai pelin alaisuuteen tarvitsee asentaa päivityksiä, modeja tai lisäohjelmia, se onnistuu WINEPREFIXin avulla.

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään winecfg
 

Tämän jälkeen ohjelma tai peli voidaan suorittaa omassa yksilöllisessä Wine-instanssissaan:

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään wine /polku/ohjelmaan/ohjelma.exe

Esimerkki-asennus:

 WINEPREFIX=/home/käyttäjä/ohjelmat/windows/uusi_ohjelma wine ~/Lataukset/uuden_ohjelman_asennusohjelma.exe

Esimerkki-käyttö:

 WINEPREFIX=/home/käyttäjä/ohjelmat/windows/uusi_ohjelma wine /home/käyttäjä/ohjelmat/windows/uusi_ohjelma/drive_c/Program\ Files\ \(x86\)/Paras\ Windows\ sovellus/Asenna\ Gentoo.exe

Näin toimimalla vaikka jonkin ohjelman tai pelin asennus menisi sekaisin, eivät muut ohjelmat/pelit joudu häiriön tielle.

.msi-asennustiedoston asentaminen

Winestä löytyy erikseen .msi-asennustiedostojen suorittamiseen msiexec, sen /i valitsemalla asennetaan:

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään msiexec /i  /polku/asennusohjelmaan/asennusohjelma.msi

.dll-tiedostojen asentaminen

Joskus eri sovellukset tarvitsevat yhden tai useamman .dll-tiedoston toimiakseen, asenna winetricks ja tämän jälkeen:

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään winetricks

     

1. Valitse oletus WINEPREFIX 2. Valitse Windows DLL-asennus 3. Valitse tarvitut komponentit

Winen asentaminen

Wine voidaan asentaa lähdekoodista tai jakelun paketinhallinnasta. Paketinhallinnan käyttäminen on suositeltavin tapa.

Arch Linux-pohjaiset jakelut

Huomautus: Salli ensiksi multilib-pakettivarasto, joka oletuksena ei ole päällä.


Asentaaksesi uusimman vakaan version suorita:

sudo pacman -Sy wine

Asentaaksesi uusimman staging-version suorita:

sudo pacman -S wine-staging

Lisätietoja löytyy Arch Linuxin wikistä.

Debian ja Ubuntu

Winen voi asentaa Debianiin ja Ubuntuun (ja muihin apt-pohjaisiin distroihin) apt-getillä tai Synapticilla. Komentorivillä asennus tapahtuu komennolla:

apt-get install wine

Winellä on myös oma apt-lähde, josta on saatavilla uusimmat paketit. Lue lisää Winen asiasta kertovalta sivulta: http://www.winehq.org/download/deb Voit lisätä tämän PPA:n ohjelmalähteisiin seuraavalla komentorivikomennolla:

sudo add-apt-repository ppa:ubuntu-wine/ppa

Ubuntun 16.04.1 LTS ttf-mscorefonts-installer-paketti on vanhentunut ja se ei toimi oikealla tavalla. Uusin paketti löytyy Debianin pakettivarastosta. Ja sen voi hakea komentorivikomennolla:

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.
$ wget http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb

Ja asennus tapahtuu esimerkiksi komentorivikomennolla:

# sudo gdebi ttf-mscorefonts-installer_3.6_all.deb

Fedora

Fedoran pakettivarastoista saatava Wine päivittyy yleensä jakelun julkaisujen välilläkin, joten yleensä ulkopuolisten pakettivarastojen käyttöönotto ei Winen takia ole tarpeellista. Pakettivarastoista Winen voi asentaa komennolla:

yum install wine

Gentoo

Wine voidaan asentaa Gentoo-järjestelmään emergen avulla:

emerge wine

Katso myös artikkeli MASKED- ja TESTING-pakettien käyttäminen Gentoossa.

Asentaminen lähdekoodeista

Jos jostain syystä tarvitset uusinta Wine-versiota (esimerkiksi uusin Wine osaa ajaa jotain tiettyä ohjelmaa, joka ei toimi vanhempien versioiden kanssa) eikä sellaista löydy valmiina binäärinä jakelusi paketinhallinnasta tai Winen sivuilta, voit asentaa Winen lähdekoodista. Lähdekoodista asentaminen saattaa kuitenkin aiheuttaa ongelmia, eikä sitä suositella. Lisätietoja ohjelmien asentamisesta lähdekoodista löytyy artikkelista kääntäminen.

Lataa halumasi Winen-version lähdekoodi Winen lähdekoodeista ja seuraa siellä olevia ohjeita.

winetricks asentaminen

Arch Linux-pohjaiset jakelut

Wine voidaan asentaa AUR:n kautta. Avaa komentorivi ja komenna:

$ yay -S wine-stagingAUR

Mitä jos ohjelma ei toimikaan Winellä?

 
SimCity 4 on mahdollista saada toimimaan Winellä pienellä säätämisellä

Wine ei pysty vielä ajamaan kaikkia Windows-ohjelmia, vaikkakin tuki paranee kaiken aikaa. Etenkin DirectX:ää käyttävien pelien kanssa ongelmia saattaa esiintyä.

Jos kyseessä on peli, on suositeltavaa käyttää valmiita asetuksia, esim. Lutriksen kautta. Jos Lutriksesta ei ohjeita löydy tai jokin ohjelma ei suostu käynnistymään, kannattaa ensimmäisenä vilkaista Winen tietokannasta, onko sitä lainkaan mahdollista saada toimimaan. Samalta sivulta saattaa myös löytyä esim. bugiraportteja, joita lukemalla voi selvittää, mitä on tehtävä, jotta ohjelma toimisi.

Mikäli edellä mainittu ei auta, kannattaa etsiä sivuja hakusanoilla "ohjelman nimi wine", mistä voi olla apua ongelman ratkaisemiseen. Monesti eri sovellukset vaativat yksilöllisen Wine-ympäristön, joka onnistuu WINEPREFIXin avulla.

Jos edellä mainitut keinot eivät tuota tulosta, kannattaa katsoa Winen antamaa virheilmoitusta: puuttuuko jokin DLL-tiedosto vai eikö jotain funktiota löydy Winen sisäänrakennetuista kirjastoista? Tällöin kannattaa etsiä Internetistä (esim. http://www.dll-files.com) kyseinen tiedosto ja Winen asetukset asettaa Wine käyttämään tätä natiivia DLL:ää Winen oman version sijaan. Lisäksi jos Winen virheilmoitus viittaa vaikkapa äänijärjestelmään, kannattaa kokeilla muuttaa joitain äänilaitteisiin liittyviä asetuksia.

Ohjelmakohtaisia ohjeita

Winen asetukset

Winen asetuksia voidaan muokata regedit-ohjelman avulla. Asetuksien muokkaamiseen liittyviä ohjeita löytyy Winen asetukset -sivulta. Nykyään Winen mukana tulee myös winecfg-ohjelma, jolla asetusten muuttaminen on helppoa. Wineä voidaan myös muokata winetricks -nimisen apuohjelman avulla. PlayOnLinux on ohjelmisto, jonka avulla voit helposti asentaa ja käyttää lukuisia ohjelmistoja ja pelejä. Ohjelma lataa aina ohjelmalle parhaiten toimivimman Wine version, sekä osaa laittaa tarvittaessa asetukset kuntoon. Samalle koneella voi siis olla useita eri Winen versioita omilla virtuaaliasemillaan.

Katso myös

Aiheesta muualla

v  k  m
Emulaattorit ja virtuaalikoneet
 API-rajapinnat  CrossOver | Wine | Proton
 Emulaattorit  Bochs | Dolphin Emulator | DOSEMU | DOSBox | FreeDOS | FCEUX | SheepShaver | UAE | FS-UAE | Vice | MAME | QEMU
 Virtuaalikoneet  VMware | Xen | QEMU | VirtualBox | MOL | LXC | ScummVM | ResidualVM | DistroTest