
Jos työskentelet Linuxilla ja joudut toisinaan ajamaan sovellusta, joka on olemassa vain Windowsille, on helppo tuntea olonsa umpikujaan. WinBoat nousee esiin selkeänä vaihtoehtonaYhteensopivuuskerroksen sijaan se käyttää todellista Windows-instanssia ja integroi sen saumattomasti työpöydällesi.
Idea on yhtä yksinkertainen kuin se on voimakas: Rakenna oikea Windows Dockerin ja KVM:n avulla, ja näyttää sen ikkunat Linux-istunnossasi FreeRDP:n avulla, aivan kuin ne olisivat natiiveja. Ei enää sähläämistä outojen riippuvuuksien tai arvaamattomien korjauspäivitysten kanssa; kun ohjelma toimii Windowsissa, sen pitäisi toimia myös täällä, lukuun ottamatta tilanteita, jotka vaativat vahvaa grafiikan kiihdytystä tai kernel-tason huijauksenestotoimenpiteitä.
Mikä on WinBoat ja miksi se on kiinnostava?
WinBoat on projekti, joka, kuten sen Windows for Penguins -henki sanoo, pyrkii Windows-sovellukset rinnakkain Linuxissa mahdollisimman vähäisellä kitkalla. API-käännösten sijaan se perustuu virtualisointiin KVM- ja Docker-konttien avulla kapseloidakseen Windows-ympäristön, joka sitten esiintyy itsenäisinä ikkunoina ympäristössäsi.
Verrattuna aiempiin lähestymistapoihin, kuten Win AppsKeskeinen ero on käyttökokemuksessa. WinAppsin kanssa suurin osa konfiguroinnista on sinun päätettävissäsi: paljon manuaalista kokoonpanoa, peruskäyttöliittymä, muutama widget tehtäväpalkissa ja muutamia konsolikomentoja hajallaan. WinBoat puolestaan tekee raskaan työn täytettyään muutamia edellytyksiä, näyttää tarvittavat tiedot siistissä käyttöliittymässä ja tarjoaa kattavamman käyttökokemuksen ilman, että tarvitsee kamppailla asetustiedostojen kanssa tai opetella ulkoa komentojonoja.
Jos mietit, miksi et käyttäisi WINEä tai CrossOveria, vastaus piilee rajatapauksissa. On olemassa sovelluksia, jotka Ne eivät suju ongelmitta tai ne eivät ala VIINISTÄ ollenkaan.Juuri siksi WinBoat syntyi: täyttämään nuo aukot ja tarjoamaan sinulle myös täyden Windows-työpöydän tarvittaessa. Reaalimaailman testeissä on mainittu esimerkkejä kuten Affinity Photo, Paint Tool SAI v1.0, Adoben ohjelmistopaketti, AeroChat, Acrobat ja tietenkin Office; jopa Office 365:n toimivuuden on vahvistettu.
Kuinka WinBoat toimii: Virtualisointi ikkunaintegraatiolla
Konepellin alla WinBoat pystyyn asentaa Windows-koneen käyttäen Dockeria orkestroijana ja KVM:ää käyttöönottotekniikkana. laitteistoavusteinen virtualisointiWindows renderöidään Linuxissa FreeRDP:n kautta, joten voit käyttää niitä kuten mitä tahansa muuta järjestelmäsovellusta vetämällä niitä työpöytien välillä, kiinnittämällä ne tehtäväpalkkiin ja vaihtamalla niiden välillä Alt+Tab-näppäinyhdistelmällä.
Keksinnön kauneus on siinä, että käyttäjä havaitsee jatkuvan virtauksen: tyylikäs käyttöliittymä, automatisoituja asennusprosesseja ja mahdollisuutta avata koko Windows-työpöytä, jos tehtävä sitä vaatii. Muussa tapauksessa voit avata vain tiettyjä sovelluksia ja integroida ne ikään kuin ne olisivat natiiveja, jolloin ulkoasu ja käyttökokemus pysyvät yhtenäisinä koko istunnon ajan.
Erinomaiset ominaisuudet
- Siisti käyttöliittymä visuaalisella integraatiolla, joka saa Windows-ikkunat näyttämään siltä kuin ne olisivat peräisin Linuxista.
- Automaattinen asennusSinä valitset mieltymyksesi ja resurssisi, ja järjestelmä huolehtii ruoanlaitosta.
- Suorita lähes mikä tahansa sovellus joka toimii Windowsissa ja näkyy järjestelmätason ikkunoina työpöydälläsi.
- Täysi työpöytä Windows on käytettävissä tarvittaessa, ja yksittäisten sovellusten käynnistäminen onnistuu integroidusti.
- Tiedostojen integrointi: Liittää kotihakemistosi Windowsiin dokumenttien suoraa jakamista varten.
- Hyödyllisiä lisävarusteita Matkalla ja jo käytössä: älykortin läpikulku, resurssien valvonta ja paljon muuta.
Järjestelmän edellytykset
Ennen kuin aloitat, varmista, että laitteesi täyttää nämä vähimmäisvaatimukset; muuten kohtaat virheitä alusta alkaen. Tarkista jokainen kohta rauhallisesti ja vältä pelotteluja.
- RAM: vähintään 4 Gt.
- prosessorivähintään 2 lankaa.
- varastointi32 Gt vapaata tallennustilaa tiedostossa /var.
- VirtualisointiKVM on otettu käyttöön BIOSissa tai UEFI:ssa.
- Satamatyöläinen: vaaditaan konttikäyttöön.
- Docker Composen versio 2: välttämätön yhteensopivuuden kannalta docker-compose.yml-tiedostojen kanssa.
- Docker-ryhmä: lisää käyttäjäsi docker-ryhmään.
- FreeRDPVersio 3.xx äänituella.
- Ytimen moduulit: lataa iptables- ja iptable_nat-tiedostot.
Ohjelmistovaatimusten lisäksi sinun kannattaa varmistaa, että KVM todella toimii jakelussasi. Käytöstä poistettu KVM BIOSissa oleva tai ytimen estämä asetus ei käynnistä mitään, vaikka kaikki muu olisi kuinka hyvin.
Lataus ja asennus: saatavilla olevat versiot
Voit ladata Linux-koontiversioita projektin julkaisuosiosta. Tällä hetkellä on kaksi versiota, jotka kattavat useimmat tapaukset ja joiden käyttöönotto on melko helppoa. Valitse jakeluusi parhaiten sopiva ja työskentelytapasi.
- AppImage: kannettava muoto, joka toimii useimmissa jakeluissa ilman monimutkaista asennusta.
- pakkaamattomia: pakkaamattomat tiedostot; suorita vain binääritiedosto linux-unpacked/winboat-hakemistossa.
Varo kehittäjien ilmoittamia yhteensopivuusongelmia. Podmanille ei ole tällä hetkellä tukea., ei Docker Desktopille eikä Dockeria Podman-socketin avulla emuloiville jakeluille eikä rootless-säilökonfiguraatioille. Jos olet riippuvainen jostakin näistä ympäristöistä, sinun on odotettava tulevia julkaisuja.
Suurin tunnettu haittapuoli on, että sinun on asentaa erilaisia lisäosia manuaalisesti Ennen kuin voit nauttia täydestä kokemuksesta: Docker, Compose v2, FreeRDP 3 äänellä, iptables-moduulit ja jäsenyys Docker-ryhmässä. Kun olet saanut ne valmiiksi, loput on aika lailla hoidettu.
Käännä ja suorita lähdekoodista
Jos haluat mieluummin rakentaa sovelluksen omalle koneellesi, prosessi on yksinkertainen, kunhan sinulla on tarvittavat riippuvuudet. Tarvitset NodeJS:n ja Go:n asennettu ennen aloittamista.
- Kloonaa arkisto:
git clone https://github.com/TibixDev/WinBoat - Asenna riippuvuudet:
npm i - Käännä sovellus ja vieraspalvelin:
npm run build:linux-gs - Tuloksena olevat binäärit näkyvät kohdassa
dist, AppImage- ja Unpacked-versioilla
Kehitystä varten työnkulku muuttuu hieman, jotta voit iteroida paikallisesti mukavammin. NodeJS ja Go valmiina, noudata näitä vaiheita.
- Kloonaa arkisto:
git clone https://github.com/TibixDev/WinBoat - Asenna riippuvuudet:
npm i - Luo vieraspalvelin:
npm run build-guest-server - Käynnistä sovellus kehitystilassa:
npm run dev
Laitteet ja laitteistokokoonpano
Jos sinun on muokattava laitteistoa Windowsista, tuki vaihtelee laitetyypin mukaan. USB-asetuksia on jo olemassa, vaikka tällä hetkellä asetus on manuaalinen. Kun USB-läpikulku saapuu sovellukseen, tämä voidaan tehdä käyttöliittymästä; sillä välin on aika muokata tiedostoa.
Kun WinBoat on asennettu, siirry kansioon ~/.winboat ja avaa tiedosto docker-compose.ymlSiellä voit lisätä kaikki USB-laitteet, jotka haluat näyttää vieraalle. Muokattuaan sitä, ota muutokset käyttöön valitsemalla docker-compose down y docker-compose up -d tuossa samassa hakemistossa.
Grafiikka ja kiihtyvyys: WinBoatin nykytila
GPU-läpikulkua ei tällä hetkellä ole käytössä. Suunnitelmissa on toteuttaa kiihdytys paravirtualisoidut ajurit, mutta työtä on vielä tehtävänä. MVisor Win VGPU Driver for OpenGL:ää on tutkittu, ja tulokset ovat lupaavia, vaikka se onkin suunniteltu eri hypervisorille eikä ole yhteensopiva WinBoatin käyttämän QEMU:n kanssa.
Myös DirectX-ajureiden parissa työskentelee tiimejä, mutta tällä hetkellä ei ole mitään varmaa testattavaa. Tavoitteena on yhdistää nämä palaset kun ne ovat riittävän kypsiä yleiseen käyttöön, vakautta vaarantamatta.
Yksi tarkasti tutkittu projekti on Looking Glass, erityisesti sen Indirect Display Driver, koska se mahdollistaisi toisen näytönohjaimen käytön välttämisen. Ajuri on käännetty ja käynnistetty onnistuneesti. Pienellä säädöllä tuloksena on vain musta ruutu. Kirjoittaja itse mainitsee, että se ei ole vielä valmis julkisesti saataville, joten integroinnin on odotettava sen kypsymistä.
Pelit, joissa on huijausnesto ja muita WinBoat-rajoituksia
Jos kohteesi ovat pelit, joissa on kernel-tason huijauksenesto, ei ole hyviä uutisia. Nämä järjestelmät tunnistavat ja estävät virtualisoinnin., joten niitä ei ole mahdollista ajaa WinBoatissa. Peleissä, joissa ei ole näitä rajoituksia tai joissa on vähemmän tunkeilevia suojauksia, tarina voi olla erilainen, mutta se ei ole projektin ensisijainen painopiste.
Podmanin tila ja pakkaus Flatpakissa
Podman-tukea suunnitellaan ja sitä on jopa työstetty sekä tiimin että yhteistyökumppaneiden toimesta. On kuitenkin olemassa Verkko-ongelmat estävät vieraspalvelimen käytön, mikä rikkoo kokemuksen. Se pysyy tehtävälistalla, kunnes se on ratkaistu.
WinBoatin muuntaminen Flatpakiksi on myös suunnitelmissa, vaikkakin se vaatii vaivaa, koska Flatpak eristää sovellukset merkittävästi järjestelmästä. Asennettujen sovellusten pitäisi olla näkyvissä, Docker-binääritiedosto, sen soketti ja muut apuohjelmat, kaikki vaarantamatta hiekkalaatikon turvallisuutta. Se ei ole triviaalia, mutta ei poissuljettua.
Tiedostojen integrointi ja työnkulku
Käytännöllinen yksityiskohta, joka helpottaa elämää, on se, että kotihakemistosi Linuxissa on liitettynä Windowsin sisään. Tämä mahdollistaa tiedostojen jakamisen. paikasta toiseen ilman lisäresurssien määrittämistä tai manuaalista kopiointia eksoottisista sijainneista. Toimisto-, muokkaus- tai CAD-tehtävissä se on erittäin arvostettu oikotie.
Hyvin toimivat sovellukset ja käyttötapaukset
WinBoatin todellinen arvo tulee esiin silloin, kun joudut käyttämään ohjelmia, joita Wine ei vielä kata. Esimerkkejä, kuten Affinity Photo, on korostettu.Paint Tool SAI v1.0 ja osia Adoben ohjelmistopaketista sekä työkaluja, kuten AeroChat ja Acrobat. Office erottuu joukosta, ja on vahvistettu, että Office 365:tä voi käyttää ilman sen kummempia puheita.
Tämä lähestymistapa toimii hyvin ammattilaisille, jotka tarvitsevat muutamia kriittisiä Windows-apuohjelmia, mutta haluavat pitää Linux-ympäristönsä kaikelle muulle. Suunnittelu, edistynyt toimistoautomaatio tai tietyt yrityssovellukset sopivat erityisen hyvin tähän sekakäyttöön.
Tee yhteistyötä WinBoat-projektin ja -lisenssin kanssa
Aina tervetulleita ovat kommentit, olipa kyse sitten virheiden korjaamisesta, ominaisuuksien hiomisesta tai dokumentaation parantamisesta. Tiimi pyytää keskittymään teknisiin panoksiin ja hylkää pull-requestit, jotka sisältävät poliittista, seksuaalista tai arkaluontoista sisältöä, joka ei edistä kehitystä. Jos haluat auttaa, paras tapa on tutustua ongelmaosioon, ehdottaa parannuksia ja avata rajoitettuja PR-pyyntöjä.
Virheiden raportoinnin ja ominaisuuksien ehdottamisen lisäksi voit jakaa käyttökokemusta tai auttaa selventämään käyttöoppaan kohtia. Projekti on MIT-lisenssin alainen, mikä helpottaa yhteistyötä ja käyttöönottoa erilaisissa tilanteissa. He mainitsevat myös, että on olemassa muita projekteja, joilla on samanlaisia ideoita, joista he ovat saaneet inspiraatiota; kannattaa tutustua niihin.
Tietosuojahuomautukset, ilmoitukset ja lähdekonteksti
Osa käyttämistäsi tiedoista on peräisin alustojen keskusteluketjuista, joilla näkyy tietosuojailmoituksia. Redditin tapauksessa näet tyypillisen viestin, joka ilmoittaa, että he ja heidän kumppaninsa käyttävät evästeitä ja vastaavia tekniikoita paremman käyttökokemuksen tarjoamiseksi, palveluiden ylläpitämiseksi, parantaa laatua ja personoida sisältöä ja mainontaamainonnan tehokkuuden mittaamisen lisäksi. Jos hyväksyt kaikki evästeet, jatka; jos hylkäät ei-välttämättömät evästeet, he voivat käyttää tiettyjä alustan toiminnan kannalta välttämättömiä evästeitä. He viittaavat myös evästeilmoitukseensa ja tietosuojakäytäntöönsä.
Joissakin X-upotuksissa, jos selaimessasi on JavaScript poistettu käytöstä, sinua pyydetään ottamaan se käyttöön tai käyttämään tuettua selainta jatkaaksesi. Linkit ohjekeskukseen on lueteltu ja palveluehdot, tietosuojakäytäntö, evästekäytäntö, painotiedot ja mainostiedot X:n yrityksen allekirjoituksella. Nämä ovat alustan vakioviestejä eivätkä vaikuta WinBoatin toimintaan.
Lopuksi, joissakin artikkeleissa on asetteluja, joissa on tyhjiä taulukoita ja paikkamerkkejä, jotka eivät lisää sisältöä. Nuo visuaaliset elementit Ne ovat osa alkuperäistä suunnittelua eivätkä sisällä WinBoatin olennaisia teknisiä tietoja.
Käytännön vinkkejä kokeeseen, jossa on hyvä ilme
Vaikka projekti automatisoi paljon, se on hyödyllinen alustan luomiseksi. Varmista, että käyttäjäsi on Docker-ryhmässä ja että voit ajaa säilöjä ilman sudoa. Varmista, että FreeRDP on versio 3.xx äänen kanssa, koska vanhemmat versiot saattavat aiheuttaa ääniongelmia. Ja tarkista /var-kansion saatavuus, jotta tila ei lopu kesken käyttöönoton.
Jos aiot käyttää tiettyjä USB-oheislaitteita Windowsissa, pidä niiden tunnisteet käden ulottuvilla ja dokumentoi kaikki docker-compose.yml-tiedostoon tekemäsi muutokset. Lyhyt tarkistuslista ennen konttien nostamista ja laskemista voi säästää aikaa, varsinkin jos vaihdat tiimejä tai jaat projektin useamman ihmisen kanssa.
WinBoat ehdottaa Käytännöllinen polku niille, jotka tarvitsevat Windows-käyttöjärjestelmän hylkäämättä Linuxia: Hyvin organisoitu virtualisointi, integroitu Windows FreeRDP:llä, selkeät vaatimukset ja tiekartta, jonka tavoitteena on parantaa grafiikan kiihdytystä, Podman-tukea ja Flatpak-pakkausta. Beta-versiona, joka jo mahdollistaa vakavan työskentelyn, se on houkutteleva vaihtoehto, kun Wine tai Proton eivät riitä, erityisesti niille tärkeille suunnittelu-, toimisto- tai liiketoiminnan työnkulkuohjelmille, jotka vielä kamppailevat Linuxissa.