
Pokud pracujete na Linuxu a občas potřebujete spustit aplikaci, která existuje pouze pro Windows, snadno se ocitnete v situaci, kdy jste mezi mým molem a kovadlem. WinBoat se jeví jako samostatná možnostMísto vrstvy kompatibility spouští skutečnou instanci Windows a bezproblémově ji integruje do vaší plochy.
Myšlenka je stejně jednoduchá jako účinná: Vytvořte si skutečný Windows s Dockerem a KVMa zobrazovat jeho okna v rámci vaší linuxové relace pomocí FreeRDP, jako by byla nativní. Už žádné potýkání se s podivnými závislostmi nebo nepředvídatelnými záplatami; když program funguje ve Windows, měl by fungovat i zde, s výjimkou scénářů, které vyžadují silnou grafickou akceleraci nebo opatření proti podvádění na úrovni jádra.
Co je WinBoat a proč je zajímavý?
WinBoat je projekt, který, jak říká duch hry Windows for Penguins, se snaží Aplikace pro Windows existují na vašem Linuxu s co nejmenším možným třením. Místo překladů API se spoléhá na virtualizaci s kontejnery KVM a Docker, která zapouzdřuje prostředí Windows, jež se pak ve vašem prostředí prezentuje jako nezávislá okna.
Ve srovnání s předchozími přístupy, jako např. Vyhrajte aplikaceKlíčový rozdíl spočívá v uživatelském prostředí. U WinApps je většina konfigurace na vás: hodně ruční montáže, základní uživatelské rozhraní, několik widgetů na hlavním panelu a pár konzolových příkazů roztroušených po celém systému. WinBoat na druhou stranu po splnění několika předpokladů provede těžkou práci, zobrazí relevantní informace v úhledném rozhraní a nabízí komplexnější zážitek bez nutnosti zápolit s konfiguračními soubory nebo pamatovat si řetězec příkazů.
Pokud vás zajímá, proč nepoužít WINE nebo CrossOver, odpověď se skrývá v hraničních případech. Existují aplikace, které Nejdou hladce, nebo s VÍNEM vůbec nezačínají.Přesně proto se zrodil WinBoat: aby zaplnil tyto mezery a zároveň vám poskytl plnohodnotnou plochu Windows, když ji potřebujete. Testy z praxe uvádějí příklady jako Affinity Photo, Paint Tool SAI v1.0, balík Adobe, AeroChat, Acrobat a samozřejmě Office; dokonce i Office 365 byl potvrzen jako funkční.
Jak funguje WinBoat: Virtualizace s integrací Windows
V podstatě WinBoat spustí počítač s Windows pomocí Dockeru jako orchestrátoru a KVM jako technologie nasazení. hardwarově asistovaná virtualizaceWindows se v Linuxu vykreslují přes FreeRDP, takže je můžete používat jako jakoukoli jinou systémovou aplikaci, přetahovat je mezi plochami, připínat je na hlavní panel a přepínat mezi nimi pomocí Alt+Tab.
Krása vynálezu spočívá v tom, že uživatel vnímá nepřetržitý tok: elegantní rozhraní, automatizované instalační procesy a možnost vyvolat celou plochu Windows, pokud to úloha vyžaduje. Pokud to tak není, můžete otevřít pouze konkrétní aplikace a integrovat je, jako by byly nativní, s konzistentním vzhledem a dojmem po celou dobu relace.
Vynikající vlastnosti
- Elegantní rozhraní s vizuální integrací, díky které okna Windows vypadají, jako by pocházela ze samotného Linuxu.
- Automatická instalaceVy si vyberete své preference a zdroje a systém se postará o vaření.
- Spusťte téměř jakoukoli aplikaci který běží na Windows a je prezentován jako okna na úrovni systému na ploše.
- Celá plocha Windows k dispozici, kdykoli ho potřebujete, a také spouštění jednotlivých aplikací integrovaným způsobem.
- Integrace souborů: Připojí váš domovský adresář ve Windows pro přímé sdílení dokumentů.
- Užitečné doplňky Na cestě a již k dispozici: průchod čipových karet, monitorování zdrojů a další.
Systémové předpoklady
Než začnete, ujistěte se, že vaše vybavení splňuje tyto minimální požadavky, jinak se hned od začátku setkáte s chybami. V klidu si zkontrolujte každý bod a vyhnout se strachům.
- RAM: nejméně 4 GB.
- Procesor (CPU)minimálně 2 vlákna.
- Skladování32 GB volného místa v /var.
- virtualizace: KVM povoleno v BIOSu nebo UEFI.
- přístavní dělník: vyžadováno pro kontejnerizaci.
- Docker Compose v2: nezbytné pro kompatibilitu se soubory docker-compose.yml.
- Dockerova skupina: přidejte svého uživatele do skupiny Docker.
- FreeRDPVerze 3.xx s podporou zvuku.
- Moduly jádra: načte iptables a iptable_nat.
Kromě softwarových požadavků budete chtít ověřit, zda KVM ve vaší distribuci skutečně funguje. Zakázaný KVM v BIOSu nebo blokováno jádrem nezpůsobí, že se nic nespustí, bez ohledu na to, jak dobré je všechno ostatní.
Stažení a instalace: dostupné varianty
Verze pro Linux si můžete stáhnout ze sekce vydání projektu. Aktuálně existují dvě verze, které pokrývají většinu případů, s poměrně snadnou adaptační křivkou. Vyberte si ten, který nejlépe vyhovuje vaší distribuci a váš způsob práce.
- AppImage: přenosný formát, který funguje na většině distribucí bez složité instalace.
- RozbalenéRozbalené soubory; stačí spustit binární soubor v linux-unpacked/winboat.
Pozor na nekompatibility hlášené vývojáři. V tuto chvíli není pro Podmana žádná podpora., ani pro Docker Desktop, ani pro distribuce emulující Docker pomocí socketu Podman, ani pro konfigurace kontejnerů bez rootování. Pokud jste na některém z těchto prostředí závislí, budete muset počkat na budoucí vydání.
Největší uznávanou nevýhodou je, že budete muset ručně nainstalovat různé doplňky Než si budete moci vychutnat plný zážitek: Docker, Compose v2, FreeRDP 3 se zvukem, moduly iptables a členství ve skupině Docker. Jakmile s tím budete hotovi, o zbytek je víceméně postaráno.
Kompilace a spuštění ze zdrojového kódu
Pokud dáváte přednost sestavení aplikace na vašem počítači, je proces jednoduchý, pokud máte potřebné závislosti. Budete potřebovat NodeJS a Go nainstalováno před spuštěním.
- Naklonujte repozitář:
git clone https://github.com/TibixDev/WinBoat - Instalace závislostí:
npm i - Zkompilujte aplikaci a hostující server:
npm run build:linux-gs - Výsledné binární soubory se objeví v
dist, s AppImage a rozbalenou variantou
Pro vývoj se postup mírně změní, abyste mohli pohodlněji iterovat lokálně. S NodeJS a Go připraveno, postupujte podle těchto kroků.
- Naklonujte repozitář:
git clone https://github.com/TibixDev/WinBoat - Instalace závislostí:
npm i - Sestavení hostujícího serveru:
npm run build-guest-server - Spusťte aplikaci ve vývojářském režimu:
npm run dev
Konfigurace zařízení a hardwaru
Pokud potřebujete upravit hardware z Windows, podpora se liší v závislosti na typu zařízení. Pro USB již existují možnosti, i když v současné době je nastavení ruční. Když do aplikace dorazí USB passthrough, to lze provést z rozhraní; mezitím je čas upravit soubor.
Jakmile je WinBoat nainstalován, přejděte do složky ~/.winboat a otevřete soubor docker-compose.ymlTam můžete přidat libovolná USB zařízení, která chcete hostovi zobrazit. Po jeho úpravě, aplikujte změny pomocí docker-compose down y docker-compose up -d ve stejném adresáři.
Grafika a akcelerace: Aktuální stav WinBoatu
V současné době není v provozu žádný průchod GPU. Plánuje se implementovat akceleraci prostřednictvím paravirtualizované ovladače, ale stále je co dělat. Ovladač MVisor Win VGPU pro OpenGL byl zkoumán a výsledky jsou slibné, ačkoli je navržen pro jiný hypervizor a není kompatibilní s QEMU, který WinBoat používá.
Existují také týmy pracující na ovladačích DirectX, ale v tuto chvíli nemůžeme s jistotou nic otestovat. Cílem je tyto části integrovat když jsou dostatečně zralé pro všeobecné použití, aniž by byla ohrožena stabilita.
Jeden z projektů, který byl pečlivě zkoumán, je Looking Glass, zejména jeho ovladač Indirect Display Driver, protože by umožnil vyhnout se použití druhé grafické karty. Ovladač byl úspěšně zkompilován a spuštěn. Po troche úprav je výsledkem pouze černá obrazovka. Sám autor naznačuje, že to ještě není připraveno pro veřejnost, takže integrace bude muset počkat, až dozraje.
Hry s anti-cheat a dalšími limity WinBoat
Pokud se zaměřujete na hry s anti-cheatem na úrovni jádra, nemáte pro to žádné dobré zprávy. Tyto systémy detekují a blokují virtualizaci., takže je není možné spustit ve WinBoatu. U her bez těchto omezení nebo s méně rušivou ochranou může být příběh jiný, ale to není primární zaměření projektu.
Stav Podmanu a balení ve Flatpaku
Podpora Podmana je plánována a dokonce na ní pracuje jak tým, tak i spolupracovníci. Existují však Problémy se sítí brání přístupu k hostovanému serveru, což narušuje celkový zážitek. Dokud nebudou vyřešeny, zůstanou na seznamu úkolů.
Převod WinBoat na Flatpak je také v plánu, i když to bude vyžadovat úsilí, protože Flatpak značně izoluje aplikace od systému. Nainstalované aplikace by měly být dostupné, binární soubor Dockeru, jeho socket a další utility, to vše bez ohrožení zabezpečení sandboxu. Není to triviální, ale není to vyloučené.
Integrace souborů a pracovní postup
Praktickým detailem, který usnadňuje život, je, že váš domovský adresář v Linuxu je připojen uvnitř Windows. To umožňuje sdílení souborů. z jednoho místa na druhé bez nutnosti nastavovat další zdroje nebo ručního kopírování z exotických míst. Pro kancelářské, editační nebo CAD úkoly je to velmi ceněná zkratka.
Aplikace, které fungují dobře, a případy použití
Skutečná hodnota WinBoatu se projeví, když musíte používat programy, které Wine zatím nepokrývá. Byly zdůrazněny příklady, jako například Affinity PhotoPaint Tool SAI v1.0 a části sady Adobe, stejně jako nástroje jako AeroChat a Acrobat. Vyniká Office a je potvrzeno, že Office 365 lze používat bez dalších okolků.
Tento přístup funguje dobře pro profesionály, kteří potřebují několik důležitých nástrojů pro Windows, ale pro všechno ostatní si raději ponechávají linuxové prostředí. Design, pokročilá automatizace kanceláří nebo určité firemní aplikace se do tohoto smíšeného využití obzvláště dobře hodí.
Spolupracujte s projektem WinBoat a licencujte
Příspěvky jsou otevřené a vždy vítány, ať už se jedná o opravu chyb, vylepšování funkcí nebo vylepšení dokumentace. Tým žádá o zaměření na technické příspěvky a zahazujte žádosti o změnu (pull requesty) s politickým, sexuálním nebo citlivým obsahem, které nepřispívají k vývoji. Pokud byste chtěli pomoci, nejlepší je podívat se do sekce s problémy, navrhnout vylepšení a otevřít omezené žádosti o změnu (pull requesty).
Kromě hlášení chyb a navrhování funkcí můžete sdílet zpětnou vazbu z reálného používání nebo pomáhat s objasňováním bodů v manuálu. Projekt je pod licencí MIT, což usnadňuje spolupráci a zavádění v různých scénářích. Zmiňují také, že existují i další projekty s podobnými nápady, ze kterých čerpali inspiraci; stojí za to se na ně podívat.
Poznámky k ochraně osobních údajů, oznámení a kontext zdroje
Některé informace, ke kterým máte přístup, pocházejí z vláken na platformách, které zobrazují oznámení o ochraně osobních údajů. V případě Redditu uvidíte typickou zprávu, která uvádí, že Reddit a jeho partneři používají soubory cookie a podobné technologie k poskytování lepšího zážitku, údržbě služeb, zlepšit kvalitu a personalizovat obsah a reklamu, kromě měření účinnosti reklamy. Pokud přijmete všechny soubory cookie, pokračujte; pokud odmítnete nepodstatné soubory cookie, mohou používat určité soubory cookie nezbytné pro fungování platformy. Také odkazují na své oznámení o souborech cookie a zásady ochrany osobních údajů.
V některých X embedech, pokud máte ve svém prohlížeči zakázaný JavaScript, se zobrazí výzva k jeho povolení nebo k pokračování v podporovaném prohlížeči. Odkazy na centrum nápovědy jsou uvedeny a podmínky služby, zásady ochrany osobních údajů, zásady používání souborů cookie, tiráž a reklamní data s firemním podpisem X. Jedná se o standardní zprávy platformy a neovlivňují fungování WinBoat.
A konečně, některé články obsahují rozvržení s prázdnými tabulkami a zástupnými symboly, které nepřidávají žádný obsah. Ty vizuální prvky Jsou součástí původního návrhu a neobsahují relevantní technické informace o WinBoatu.
Praktické tipy pro test s dobrou tváří
Přestože projekt hodně automatizuje, je užitečné připravit si půdu. Ujistěte se, že je váš uživatel ve skupině Docker a že můžete spouštět kontejnery bez příkazu sudo. Potvrďte, že FreeRDP je verze 3.xx se zvukem, protože starší verze mohou způsobovat problémy se zvukem. A zkontrolujte dostupnost /var, abyste během nasazení nevyčerpali místo.
Pokud plánujete v systému Windows používat specifická USB periferní zařízení, mějte po ruce jejich identifikátory a zdokumentujte všechny změny, které provedete v souboru docker-compose.yml. Krátký kontrolní seznam Před zvedáním a spouštěním kontejnerů vám může ušetřit čas, zejména pokud se střídáte v týmech nebo se o projekt dělíte s více lidmi.
WinBoat navrhuje Pragmatická cesta pro ty, kteří potřebují Windows, aniž by museli opustit Linux: Dobře zorganizovaná virtualizace, integrovaný Windows s FreeRDP, jasné požadavky a plán, jehož cílem je zlepšit grafickou akceleraci, podporu Podmanu a balení Flatpak. S beta verzí, která již umožňuje seriózní práci, je to přesvědčivá alternativa, když Wine nebo Proton nestačí, zejména pro ty základní programy pro design, kancelář nebo obchodní workflow, které stále s Linuxem nefungují.