
Nëse punoni në Linux dhe herë pas here keni nevojë të ekzekutoni një aplikacion që ekziston vetëm për Windows, është e lehtë të ndiheni të bllokuar midis një vendi të vështirë. WinBoat del si një opsion i veçantëNë vend të një shtrese përputhshmërie, ai ekzekuton një instancë të vërtetë të Windows dhe e integron atë pa probleme në desktopin tuaj.
Ideja është aq e thjeshtë sa është edhe e fuqishme: Ndërtoni një Windows të vërtetë me Docker dhe KVM, dhe shfaq dritaret e tij brenda sesionit tuaj Linux duke përdorur FreeRDP, njësoj sikur të ishin të konfiguruara në mënyrë native. Mjaft me ngatërresat me varësi të çuditshme ose patch-et e paparashikueshme; kur një program funksionon në Windows, ai duhet të funksionojë edhe këtu, me përjashtim të skenarëve që kërkojnë përshpejtim të fortë të grafikës ose masa anti-mashtrim në nivel kerneli.
Çfarë është WinBoat dhe pse është interesante?
WinBoat është një projekt që, siç thotë edhe fryma e tij e Windows për Penguins, synon të Aplikacionet e Windows bashkëjetojnë në Linux-in tuaj me sa më pak vështirësi të jetë e mundur. Në vend të përkthimeve të API-t, mbështetet në virtualizimin me kontejnerë KVM dhe Docker për të enkapsuluar një mjedis Windows që më pas paraqitet si dritare e pavarur në mjedisin tuaj.
Krahasuar me qasjet e mëparshme, të tilla si Fito aplikacioneDallimi kryesor qëndron te përvoja. Me WinApps, pjesa më e madhe e konfigurimit varet nga ju: shumë montim manual, një TUI bazë, disa vegël në shiritin e detyrave dhe disa komanda të shpërndara në konsolë. WinBoat, nga ana tjetër, bën punën e vështirë pasi përmbush disa parakushte, shfaq informacionin përkatës në një ndërfaqe të këndshme dhe ofron një përvojë më të plotë pa pasur nevojë të luftosh me skedarët e konfigurimit ose të mësosh përmendësh një varg komandash.
Nëse po pyesni veten pse të mos përdorni WINE ose CrossOver, përgjigjja qëndron në rastet kufitare. Ka aplikacione që Ato nuk shkojnë mirë ose nuk fillojnë fare me VERËN.Pikërisht për këtë arsye lindi WinBoat: për të mbushur këto boshllëqe dhe gjithashtu për t'ju dhënë një desktop të plotë të Windows kur keni nevojë për të. Testet në botën reale kanë përmendur shembuj të tillë si Affinity Photo, Paint Tool SAI v1.0, paketën Adobe, AeroChat, Acrobat dhe, sigurisht, Office; madje edhe Office 365 është konfirmuar se funksionon.
Si funksionon WinBoat: Virtualizimi me Integrimin e Dritareve
Nën kapuç, WinBoat mbështet një makinë Windows duke përdorur Docker si orkestrues dhe KVM si teknologji vendosjeje. Virtualizimi i ndihmuar nga hardueriWindows-et shfaqen në Linux nëpërmjet FreeRDP, kështu që mund t’i përdorni si çdo aplikacion tjetër sistemi, duke i zvarritur midis desktopëve, duke i fiksuar në shiritin e detyrave dhe duke kaluar midis tyre me Alt+Tab.
Bukuria e shpikjes qëndron në faktin se përdoruesi percepton një rrjedhë të vazhdueshme: ndërfaqe elegante, procese të automatizuara instalimi dhe opsionin për të aktivizuar të gjithë desktopin e Windows nëse detyra e kërkon këtë. Kur jo, mund të hapni vetëm aplikacione specifike dhe t'i integroni ato sikur të ishin të lindura, me një pamje dhe ndjesi të qëndrueshme gjatë gjithë seancës suaj.
Karakteristikat e jashtëzakonshme
- Ndërfaqe e pastër me integrim vizual që i bën dritaret e Windows të duken sikur janë nga vetë Linux-i.
- Instalim i automatizuarJu zgjidhni preferencat dhe burimet tuaja, dhe sistemi kujdeset për gatimin.
- Ekzekutoni pothuajse çdo aplikacion që funksionon në Windows, të paraqitura si dritare në nivel sistemi në desktopin tuaj.
- Desktop i plotë Windows i disponueshëm kur ju nevojitet, si dhe hapja e aplikacioneve individuale në një mënyrë të integruar.
- Integrimi i skedarëveMonton direktorinë tuaj kryesore në Windows për të ndarë dokumente drejtpërdrejt.
- shtesa të dobishme Në rrugë e sipër dhe tashmë të pranishme: kalimi i kartës inteligjente, monitorimi i burimeve dhe më shumë.
Parakushtet e sistemit
Para se të filloni, sigurohuni që pajisjet tuaja i plotësojnë këto kërkesa minimale; përndryshe, do të hasni gabime që në fillim. Kontrolloni çdo pikë me qetësi dhe shmangni frikën.
- RAM: të paktën 4 GB.
- CPU: minimumi 2 fije.
- Ruajtje: 32 GB falas në /var.
- VirtualizimiKVM i aktivizuar në BIOS ose UEFI.
- prerës: e nevojshme për kontejnerizim.
- Docker Compose v2: thelbësore për pajtueshmërinë me skedarët docker-compose.yml.
- Grupi Docker: shtoni përdoruesin tuaj në grupin docker.
- FreeRDPVersioni 3.xx me mbështetje për zërin.
- Modulet e bërthamësngarkon iptables dhe iptable_nat.
Përveç kërkesave të softuerit, do të dëshironi të konfirmoni që KVM po punon vërtet në shpërndarjen tuaj. Një KVM i çaktivizuar në BIOS ose i bllokuar nga kerneli nuk do të shkaktojë nisjen e asgjëje, pavarësisht se sa mirë është gjithçka tjetër.
Shkarkimi dhe instalimi: variantet e disponueshme
Mund të shkarkoni versionet e Linux-it nga seksioni i publikimeve të projektit. Aktualisht ekzistojnë dy versione që mbulojnë shumicën e rasteve, me një kurbë integrimi mjaft të lehtë. Zgjidhni atë që i përshtatet më së miri distribucionit tuaj dhe mënyrën tuaj të punës.
- AppImageFormat portativ që funksionon në shumicën e shpërndarjeve pa instalime komplekse.
- unpacked: skedarët e çpaketuar; thjesht ekzekutoni skedarin binar në linux-unpacked/winboat.
Kini kujdes nga papajtueshmëritë e raportuara nga zhvilluesit. Nuk ka mbështetje për Podman në këtë kohë., as për Docker Desktop, as për distrot që imitojnë Docker duke përdorur një socket Podman, as për konfigurimet e kontejnerëve pa rrënjë. Nëse vareni nga ndonjë prej këtyre mjediseve, do të duhet të prisni për versionet e ardhshme.
Disavantazhi më i madh i njohur është se do t'ju duhet të instaloni manualisht shtesa të ndryshme Para se të mund të shijoni përvojën e plotë: Docker, Compose v2, FreeRDP 3 me audio, module iptables dhe anëtarësim në grupin Docker. Pasi të keni mbaruar me këtë, pjesa tjetër është pak a shumë e kujdesur.
Kompiloni dhe ekzekutoni nga kodi burimor
Nëse preferoni ta ndërtoni aplikacionin në makinën tuaj, procesi është i thjeshtë për sa kohë që keni varësitë e nevojshme. Do t'ju duhen NodeJS dhe Go instaluar para fillimit.
- Klononi depon:
git clone https://github.com/TibixDev/WinBoat - Instalimi i varësive:
npm i - Kompiloni aplikacionin dhe serverin mysafir:
npm run build:linux-gs - Binarët që rezultojnë shfaqen në
dist, me AppImage dhe variantin Unpacked
Për zhvillim, rrjedha ndryshon pak në mënyrë që të mund të përsërisni në nivel lokal më me lehtësi. Me NodeJS dhe Go ready, ndiqni këto hapa.
- Klononi depon:
git clone https://github.com/TibixDev/WinBoat - Instalimi i varësive:
npm i - Ndërtoni serverin mysafir:
npm run build-guest-server - Hapni aplikacionin në modalitetin e zhvillimit:
npm run dev
Konfigurimi i pajisjeve dhe harduerit
Nëse keni nevojë të modifikoni harduerin nga Windows, mbështetja ndryshon në varësi të llojit të pajisjes. Ekzistojnë tashmë opsione për USB, megjithëse aktualisht cilësimi është manual. Kur të mbërrijë kalimi USB në aplikacion, kjo mund të bëhet nga ndërfaqja; ndërkohë, është koha për të modifikuar një skedar.
Pasi të instalohet WinBoat, shkoni te dosja ~/.winboat dhe hapni skedarin docker-compose.ymlAtje mund të shtoni çdo pajisje USB që dëshironi t'i tregoni mysafirit. Pasi e modifikoi atë, zbatoni ndryshimet me docker-compose down y docker-compose up -d në të njëjtën drejtori.
Grafika dhe Përshpejtimi: Statusi Aktual i WinBoat
Nuk ka asnjë kalim GPU në funksion sot. Planet janë të zbatohet përshpejtimi përmes shoferë të paravirtualizuar, por ka ende punë për t'u bërë. Drajveri MVisor Win VGPU për OpenGL është hetuar dhe rezultatet janë premtuese, megjithëse është projektuar për një hipervizor të ndryshëm dhe nuk është i pajtueshëm me QEMU, të cilin e përdor WinBoat.
Gjithashtu, ka ekipe që punojnë me drajverët e DirectX, por për momentin nuk ka asgjë që mund ta testojmë me siguri. Qëllimi është të integrohen këto pjesë kur ato janë mjaftueshëm të pjekura për përdorim të përgjithshëm, pa kompromentuar stabilitetin.
Një projekt që është shqyrtuar me kujdes është Looking Glass, veçanërisht Indirect Display Driver i tij, sepse do të bënte të mundur shmangien e përdorimit të një GPU të dytë. Drajveri është kompiluar dhe nisur me sukses. Me disa përmirësime, rezultati është vetëm një ekran i zi. Vetë autori tregon se nuk është gati për publikun, kështu që integrimi do të duhet të presë që të piqet.
Lojëra me kufizime kundër mashtrimit dhe kufizime të tjera të WinBoat
Nëse objektivi juaj janë lojëra me anti-mashtrim në nivel kernel, nuk ka lajme të mira. Këto sisteme zbulojnë dhe bllokojnë virtualizimin., kështu që nuk është e mundur t'i ekzekutosh ato në WinBoat. Për lojërat pa këto kufizime ose me mbrojtje më pak ndërhyrëse, historia mund të jetë e ndryshme, por ky nuk është fokusi kryesor i projektit.
Statusi dhe paketimi i Podman në Flatpak
Mbështetja për Podman është planifikuar, dhe madje është punuar mbi të, si nga ekipi ashtu edhe nga bashkëpunëtorët. Megjithatë, ka Probleme me rrjetin që pengojnë aksesin e serverit mysafir, gjë që e prish përvojën. Derisa të zgjidhen, do të mbetet në listën e punëve.
Konvertimi i WinBoat në Flatpak është gjithashtu në plan, megjithëse do të duhet përpjekje sepse Flatpak i izolon aplikacionet në masë të madhe nga sistemi. Aplikacionet e instaluara duhet të ekspozohen, binarin Docker, socket-in e tij dhe shërbime të tjera, të gjitha pa kompromentuar sigurinë e sandbox-it. Nuk është e parëndësishme, por nuk përjashtohet.
Integrimi i skedarëve dhe rrjedha e punës. ...
Një detaj praktik që e bën jetën më të lehtë është se direktoria juaj kryesore në Linux është e montuar brenda Windows. Kjo lejon ndarjen e skedarëve. nga një vend në tjetrin pa konfiguruar burime shtesë ose pa kopjuar manualisht nga vende ekzotike. Për detyra zyre, redaktimi ose CAD, është një shkurtore shumë e vlerësuar.
Aplikacione që funksionojnë mirë dhe raste përdorimi
Vlera e vërtetë e WinBoat vjen kur duhet të përdorni programe që Wine nuk i mbulon ende. Shembuj të tillë si Affinity Photo janë theksuar.Paint Tool SAI v1.0, dhe pjesë të paketës Adobe, si dhe mjete si AeroChat dhe Acrobat. Office dallohet, dhe është konfirmuar se Office 365 mund të përdoret pa humbur kohë.
Kjo qasje funksionon mirë për profesionistët që kanë nevojë për disa programe të rëndësishme të Windows, por preferojnë të mbajnë mjedisin e tyre Linux për gjithçka tjetër. Dizajn, automatizim i avancuar i zyrës ose disa aplikacione të korporatave përshtaten veçanërisht mirë në këtë përdorim të përzier.
Bashkëpunoni me projektin dhe licencën WinBoat
Kontributet janë të hapura dhe gjithmonë të mirëpritura, qoftë për të rregulluar defekte, për të përmirësuar veçoritë apo për të përmirësuar dokumentacionin. Ekipi kërkon të përqendrohet në kontributet teknike dhe hidhni poshtë kërkesat për tërheqje me përmbajtje politike, seksuale ose të ndjeshme që nuk kontribuojnë në zhvillim. Nëse dëshironi të ndihmoni, gjëja më e mirë që mund të bëni është të kontrolloni seksionin e problemeve, të propozoni përmirësime dhe të hapni PR të kufizuara.
Përveç raportimit të gabimeve dhe sugjerimit të veçorive, mund të ndani reagime nga përdorimi në botën reale ose të ndihmoni në sqarimin e pikave në manual. Projekti është nën licencën e MIT, gjë që lehtëson bashkëpunimin dhe përvetësimin në skenarë të ndryshëm. Ata përmendin gjithashtu se ka edhe projekte të tjera me ide të ngjashme nga të cilat janë frymëzuar; ia vlen t'i shikoni.
Shënime, Njoftime dhe Konteksti i Burimit mbi Privatësinë
Disa nga informacionet që ju qaseni vijnë nga temat në platforma që shfaqin njoftime për privatësinë. Në rastin e Reddit, do të shihni mesazhin tipik që tregon se ata dhe partnerët e tyre përdorin cookie-t dhe teknologji të ngjashme për të ofruar një përvojë më të mirë, për të mirëmbajtur shërbimet, përmirësoni cilësinë dhe personalizoni përmbajtjen dhe reklamat, përveç matjes së efektivitetit të reklamave. Nëse i pranoni të gjitha cookie-t, vazhdoni; nëse refuzoni cookie-t jo-thelbësore, ata mund të përdorin cookie të caktuara të nevojshme që platforma të funksionojë. Ata gjithashtu i referohen njoftimit të tyre për cookie-t dhe politikës së privatësisë.
Në disa embede X, nëse shfletuesi juaj e ka JavaScript të çaktivizuar, shfaqet një mesazh që ju kërkon ta aktivizoni ose të përdorni një shfletues të mbështetur për të vazhduar. Lidhjet për në qendrën e ndihmës janë të listuara dhe kushtet e shërbimit, politika e privatësisë, politika e cookie-ve, të dhënat e shtypit dhe të reklamave, me nënshkrimin e korporatës së X. Këto janë mesazhe standarde të platformës dhe nuk ndikojnë në funksionimin e WinBoat.
Së fundmi, disa artikuj kanë paraqitje me tabela bosh dhe vendmbajtës që nuk shtojnë përmbajtje. Ato elementë vizualë Ato janë pjesë e dizajnit origjinal dhe nuk përmbajnë informacione teknike relevante rreth WinBoat.
Këshilla praktike për një test me një fytyrë të mirë
Edhe pse projekti automatizon shumë, është i dobishëm për të përgatitur terrenin. Sigurohuni që përdoruesi juaj është në grupin Docker dhe që ju mund të ekzekutoni kontejnerë pa sudo. Konfirmo që FreeRDP është versioni 3.xx me zë, sepse versionet më të vjetra mund të shkaktojnë probleme me zërin. Dhe kontrolloni disponueshmërinë e /var në mënyrë që të mos ju mbarojë hapësira në mes të implementimit.
Nëse planifikoni të përdorni pajisje periferike specifike USB brenda Windows, mbani afër identifikuesit e tyre dhe dokumentoni çdo ndryshim që bëni në docker-compose.yml. Një listë e shkurtër kontrolli për kontrollin. Një listë e shkurtër kontrolli. Ngritja dhe ulja e kontejnerëve përpara se të ngrini dhe ulni mund t'ju kursejë kohë, veçanërisht nëse alternoni ekipet ose ndani projektin me më shumë njerëz.
WinBoat propozon Një rrugë pragmatike për ata që kanë nevojë për një Windows të dobishëm pa braktisur Linux-in: Virtualizim i mirëorganizuar, Windows i integruar me FreeRDP, kërkesa të qarta dhe një plan veprimi që synon të përmirësojë përshpejtimin e grafikës, mbështetjen për Podman dhe paketimin Flatpak. Me një version beta që tashmë lejon punë serioze, është një alternativë bindëse kur Wine ose Proton nuk janë të mjaftueshëm, veçanërisht për ato programe thelbësore të dizajnit, zyrës ose rrjedhës së punës së biznesit që ende kanë vështirësi në Linux.