WinBoat, tööriist, mis integreerib ja käitab Windowsi rakendusi Linuxis parimal võimalikul viisil

  • WinBoat käitab päris Windowsi koos Dockeri ja KVM-iga ning integreerib Windowsi FreeRDP kaudu.
  • Ületab Wine'i piirangud võtmerakendustes ja pakub nõudmisel täielikku töölauda.
  • Selged nõuded: KVM, Docker, Compose v2 ja FreeRDP 3 koos heliga.
  • GPU läbilaskmist veel pole, Podman ja Flatpak on teel tehniliste väljakutsetega.

WinBoat

Kui töötate Linuxis ja peate aeg-ajalt käivitama rakendust, mis on olemas ainult Windowsi jaoks, on lihtne ummikus olla. WinBoat pakub teistsuguse võimaluse : ühilduvuskihi asemel käitab see päris Windowsi eksemplari ja integreerib selle sujuvalt teie töölauale.

Idee on sama lihtne kui võimas: looge Dockeri ja KVM-iga päris Windowsi keskkond ning kuvage selle aknaid oma Linuxi seansis FreeRDP abil nii, nagu need oleksid natiivsed. Enam pole vaja tegeleda kummaliste sõltuvuste või ettearvamatute parandustega; kui programm töötab Windowsis, peaks see töötama ka siin, välja arvatud juhtudel, mis nõuavad tugevat graafikakiirendust või kerneli tasemel pettusevastaseid meetmeid.

Mis on WinBoat ja miks see huvitav on?

WinBoat on projekt, mis oma Windows for Penguins vaimule truuks jäädes püüab muuta Windowsi rakendused teie Linuxi süsteemis sujuvalt ja minimaalse hõõrdumisega töötama. API-tõlgete asemel tugineb see virtualiseerimisele KVM-i ja Dockeri konteineritega, et kapseldada Windowsi keskkond, mis seejärel esitleb end teie süsteemis iseseisvate akendena.

Võrreldes varasemate lähenemisviisidega, nagu WinApps , seisneb peamine erinevus kasutajakogemuses. WinAppsi puhul langeb suurem osa seadistamisest teie endi teha: palju käsitsi seadistamist , lihtne TUI, mõned vidinad tegumiribal ja mõned hajutatud konsooli käsud. WinBoat seevastu teeb pärast teatud eeltingimuste täitmist raske töö ära, kuvab asjakohast teavet viimistletud liideses ja pakub terviklikumat kogemust ilma, et peaksite konfiguratsioonifailidega maadlema või käskude jada pähe õppima.

Kui mõtled, miks mitte kasutada Wine'i või CrossOverit, siis vastus peitub erandites. Mõned rakendused ei tööta sujuvalt või lihtsalt ei käivitu Wine'iga . Just selleks loodigi WinBoat: et täita need lüngad ja lisaks anda sulle täielik Windowsi töölaud, kui seda vajad. Reaalsetes testides on näideteks toodud Affinity Photo, Paint Tool SAI v1.0, Adobe'i tarkvarapakett, AeroChat, Acrobat ja muidugi Office; on isegi kinnitatud, et Office 365 töötab.

Kuidas WinBoat töötab: virtualiseerimine aknaintegratsiooniga

Kapoti all käitab WinBoat Windowsi virtuaalmasinat, mis kasutab Dockerit orkestraatorina ja KVM-i riistvaralise virtualiseerimistehnoloogiana . Windowsi renderdatakse Linuxis FreeRDP kaudu, seega saate neid kasutada nagu iga teist süsteemirakendust, lohistades neid töölaudade vahel, kinnitades need tegumiribale ja vahetades nende vahel Alt+Tab abil.

Selle leiutise ilu peitub sujuvas kasutuskogemuses: elegantne liides , automatiseeritud installiprotsessid ja võimalus käivitada vajadusel täielik Windowsi töölaud. Kui seda pole, saate avada ainult konkreetsed rakendused ja integreerida need sujuvalt, justkui need oleksid omaette, säilitades seansiga ühtse ilme ja tunde.

Silmapaistvad omadused

  • Korralik liides visuaalse integratsiooniga, mis paneb Windowsi aknad välja nägema nagu need oleksid Linuxist endast.
  • Automatiseeritud paigaldusSina valid oma eelistused ja ressursid ning süsteem hoolitseb toiduvalmistamise eest.
  • Käivita peaaegu iga rakendus mis töötab Windowsis ja kuvatakse teie töölaual süsteemitaseme akendena.
  • Täistöölaud Windows on saadaval siis, kui seda vajate, ning üksikute rakenduste integreeritud käivitamine.
  • Failide integreerimine: Ühendab teie kodukataloogi Windowsis dokumentide otsejagamiseks.
  • Kasulikud lisad Teel ja juba olemas: kiipkaardi läbilaskesüsteem, ressursside jälgimine ja palju muud.

Süsteemi eeltingimused

Enne alustamist veendu, et sinu varustus vastab neile miinimumnõuetele; vastasel juhul tekivad probleemid juba algusest peale. Kontrolli iga punkti hoolikalt ja väldi üllatusi.

  • RAM: vähemalt 4 GB.
  • Protsessorvähemalt 2 niiti.
  • ladustamine32 GB vaba ruumi kaustas /var.
  • VirtualiseerimineKVM on BIOS-is või UEFI-s lubatud.
  • laevalaadija: konteinerdamiseks vajalik.
  • Docker Composite v2: oluline docker-compose.yml failidega ühilduvuse tagamiseks.
  • Dockeri grupp: lisa oma kasutaja dockerite gruppi.
  • FreeRDPVersioon 3.xx koos heli toega.
  • Kerneli moodulid: laeb iptables'i ja iptable_nat'i.

Lisaks tarkvaranõuetele peaksite veenduma, et KVM teie distributsioonil tegelikult töötab. BIOS-is keelatud või kerneli poolt blokeeritud KVM takistab millegi käivitamist, olenemata sellest, kui hästi kõik muu töötab.

Allalaadimine ja installimine: saadaolevad variandid

Linuxi järke saab alla laadida projekti väljalasete jaotisest. Praegu on kaks valikut, mis katavad enamiku juhtumeid ja mille õppimiskõver on üsna lihtne. Valige see, mis sobib kõige paremini teie distributsiooni ja töövooga.

  • AppImage: kaasaskantav vorming, mis töötab enamikus distributsioonides ilma keeruka installimiseta.
  • Lahti pakitud: pakkimata failid; käivita lihtsalt binaarfail kaustas linux-unpacked/winboat.

Arvestage arendajate poolt märgitud ühildumatustega. Praegu puudub tugi Podmanile , Docker Desktopile, Dockerit Podmani sokli abil emuleerivatele distributsioonidele või juurteta konteineri konfiguratsioonidele. Kui te loodate mõnele neist keskkondadest, peate ootama tulevasi versioone.

Suurim tunnustatud puudus on see, et enne täieliku kogemuse nautimist peate käsitsi installima mitu lisafunktsiooni : Docker, Compose v2, FreeRDP 3 koos heliga, iptables moodulid ja liikmelisus Dockeri grupis. Kui olete selle takistuse ületanud, on ülejäänu üsna hästi korraldatud.

Kompileeri ja käivita lähtekoodist

Kui eelistate rakenduse oma arvutis luua, on protsess lihtne, kui teil on vajalikud sõltuvused olemas. Enne alustamist peate installima NodeJS-i ja Go .

  • Klooni hoidla: git clone https://github.com/TibixDev/WinBoat
  • Sõltuvuste installimine: npm i
  • Kompileeri rakendus ja külalisserver: npm run build:linux-gs
  • Saadud binaarfailid ilmuvad dist, koos AppImage'i ja pakkimata variandiga

Arenduse jaoks muutub töövoog veidi, et saaksite lokaalselt lihtsamini itereerida. NodeJS ja Go valmisoleku korral järgige neid samme.

  • Klooni hoidla: git clone https://github.com/TibixDev/WinBoat
  • Sõltuvuste installimine: npm i
  • Loo külalisserver: npm run build-guest-server
  • Käivitage rakendus arendusrežiimis: npm run dev

Seadmed ja riistvara konfiguratsioon

Kui teil on vaja riistvarale ligi pääseda Windowsist, varieerub tugi seadme tüübist olenevalt. USB jaoks on juba valikud olemas, kuigi praegu toimub konfigureerimine käsitsi. Kui rakendusse lisatakse USB läbipääs , on seda võimalik teha liidese kaudu; seni peate faili redigeerima.

Kui WinBoat on installitud, minge kausta ~/.winboat ja avage fail docker-compose.ymlSeal saate lisada kõik USB-seadmed, mida soovite külalisele näidata. Pärast selle muutmist, rakendage muudatused docker-compose down y docker-compose up -d samas kataloogis.

Graafika ja kiirendus: WinBoati praegune seis

Praegu puudub toimiv GPU läbilaskevõime. Plaanide hulka kuulub kiirenduse rakendamine paravirtualiseeritud draiverite abil , kuid tööd on veel teha. Uuritud on MVisor Win VGPU draiverit OpenGL-ile ja tulemused on paljulubavad, kuigi see on loodud teistsuguse hüperviisori jaoks ega ühildu QEMU-ga, mida kasutab WinBoat.

Samuti töötavad meeskonnad DirectX-draiverite kallal, kuid hetkel pole midagi usaldusväärselt testida. Eesmärk on integreerida need komponendid siis, kui need on üldiseks kasutamiseks piisavalt küpsed, ilma et see stabiilsust ohustaks.

Üks projekt, mida on hoolikalt uuritud, on Looking Glass, eriti selle Indirect Display Driver, kuna see kaotaks vajaduse teise graafikaprotsessori järele. Draiver on kompileeritud ja käivitatud mõningate ajutiste lahendustega, kuid tulemuseks on ainult must ekraan. Autor ise märgib, et see pole veel avalikuks avaldamiseks valmis, seega peab integratsioon ootama edasist arendust.

Mängud petuvastaste ja muude WinBoati piirangutega

Kui teie eesmärk on mängida mänge kerneli tasemel petmisvastase kaitsega, siis pole häid uudiseid. Need süsteemid tuvastavad ja blokeerivad virtualiseerimise , seega pole neid WinBoatis võimalik käivitada. Mängude puhul, millel neid piiranguid pole või millel on vähem pealetükkivaid kaitsemeetmeid, võib olukord olla erinev, kuid see pole projekti peamine eesmärk.

Podmani staatus ja pakendamine Flatpakis

Podmani tugi on plaanis ja nii meeskond kui ka kaastöölised on selle kallal isegi tööd alustanud. Võrguprobleemid takistavad aga külalisserverile juurdepääsu , mis häirib kasutuskogemust. Kuni need probleemid lahendatakse, jääb see ootel olevasse loendisse.

Kavas on ka WinBoati teisendamine Flatpakiks, kuigi see nõuab pingutust, kuna Flatpak isoleerib rakendused süsteemist väga tihedalt. Installitud rakendused , Dockeri binaarfail, selle sokkel ja muud utiliidid tuleks avalikustada, ilma et see kahjustaks liivakasti turvalisust. See pole triviaalne, aga pole ka välistatud.

Failide integreerimine ja töövoog

Üks praktiline detail, mis elu lihtsamaks teeb, on see, et teie Linuxi kodukataloog on Windowsi sees ühendatud. See võimaldab teil faile edasi-tagasi jagada ilma täiendavaid ressursse ühendamata või käsitsi tundmatutest asukohtadest kopeerimata. Kontoritööde, redigeerimise või CAD-i jaoks on see väga teretulnud otsetee.

Hästi toimivad rakendused ja nende kasutusjuhud

WinBoati tõeline väärtus ilmneb programmide kasutamisel, millega Wine veel ideaalselt hakkama ei saa. Märkimisväärsete näidete hulka kuuluvad Affinity Photo , Paint Tool SAI v1.0 ja Adobe'i komplekti osad, aga ka sellised tööriistad nagu AeroChat ja Acrobat. Office paistab silma, kinnitades, et Office 365-t saab suuremate raskusteta kasutada.

See lähenemisviis sobib hästi spetsialistidele, kes vajavad paari olulist Windowsi utiliiti, kuid eelistavad kõige muu jaoks säilitada oma Linuxi keskkonna. Disain, täiustatud kontorirakendused või teatud ettevõtte rakendused sobivad sellesse segakasutusega mudelisse eriti hästi.

Tee koostööd WinBoati projekti ja litsentsiga

Kaastööd on alati teretulnud, olgu selleks vigade parandamine, funktsioonide täiustamine või dokumentatsiooni täiustamine. Meeskond palub teil keskenduda tehnilistele panustele ja lükkab tagasi poliitilise, seksuaalse või muu tundliku sisuga pull requestid, mis ei aita kaasa arendusele. Kui soovite aidata, on parim viis külastada probleemide jaotist, pakkuda välja täiustusi ja avada suunatud pull requestid.

Lisaks vigadest teatamisele ja funktsioonide soovitamisele saate jagada reaalse kasutuse tagasisidet või aidata selgitada käsiraamatu punkte. Projekt on litsentseeritud MIT-litsentsi alusel , mis hõlbustab koostööd ja omaksvõttu erinevates keskkondades. Samuti mainitakse, et on ka teisi sarnase ideega projekte, mis on neid inspireerinud; neid tasub vaadata.

Privaatsusmärkused, teated ja allika kontekst

Osa konsulteeritud teabest pärineb platvormide vestlustest, mis kuvavad privaatsusteateid. Redditi puhul näete tüüpilist teadet, mis väidab, et nemad ja nende partnerid kasutavad küpsiseid ja sarnaseid tehnoloogiaid parema kogemuse pakkumiseks, teenuste haldamiseks, kvaliteedi parandamiseks, sisu ja reklaamide isikupärastamiseks ning reklaamide tõhususe mõõtmiseks. Kui nõustute kõigi küpsistega, saate jätkata; kui keeldute mittevajalikest küpsistest, võivad nad siiski kasutada teatud küpsiseid, mis on platvormi toimimiseks vajalikud. Samuti viitavad nad oma küpsisteatisele ja privaatsuspoliitikale.

Mõnes X-i manustamises, kui teie brauseris on JavaScript keelatud, kuvatakse teade, mis palub teil selle lubada või jätkamiseks kasutada ühilduvat brauserit. Loetletud on lingid abikeskusesse ja teenusetingimustele, privaatsuspoliitikale, küpsiste poliitikale, avaldamisandmetele ja reklaamiandmetele , mis kõik kannavad X-i ettevõtte allkirja. Need on platvormi standardsed teated ja ei mõjuta WinBoati funktsionaalsust.

Lõpuks, mõned artiklid sisaldavad tühjade tabelite ja kohahoidjatega paigutusi, mis ei lisa sisu. Need visuaalsed elemendid on osa algsest kujundusest ega sisalda WinBoati kohta olulist tehnilist teavet.

Praktilised näpunäited hea näoga testi sooritamiseks

Kuigi projekt automatiseerib palju, on ettevalmistus siiski kasulik. Veenduge, et teie kasutaja kuulub Dockeri gruppi ja et saate konteinereid käivitada ilma sudota. Veenduge, et FreeRDP versioon on 3.xx ja sellel on heli, kuna varasemates versioonides võib esineda heliprobleeme. Ja kontrollige /var saadavust, et vältida ruumi otsa saamist juurutamise ajal.

Kui kavatsete Windowsis kasutada teatud USB-välisseadmeid, hoidke nende identifikaatorid käepärast ja dokumenteerige kõik muudatused, mida teete failis docker-compose.yml. Lühike kontroll-leht enne konteinerite üles- ja allalaadimist võib säästa teie aega, eriti kui vahetate arvutit või jagate projekti teiste inimestega.

WinBoat pakub pragmaatilist lahendust neile, kes vajavad Windowsi-laadset keskkonda ilma Linuxist loobumata: hästi korraldatud virtualiseerimine, FreeRDP-ga integreeritud Windows , selged nõuded ja graafikakiirenduse parandamisele keskenduv tegevuskava, Podmani tugi ja Flatpaki pakett. Kuna beetaversioon on juba võimeline tõsiselt töötama, osutub see veenvaks alternatiiviks olukordades, kus Wine või Proton jäävad hätta, eriti oluliste disaini-, kontori- või ettevõtte töövoo rakenduste jaoks, millel Linuxis endiselt raskusi on.


Lisa eelistatud allikana Google'is