ВинБоат, алат који интегрише и покреће Виндовс апликације на Линуксу на најбољи могући начин

  • WinBoat покреће прави Windows са Docker-ом и KVM-ом и интегрише Windows преко FreeRDP-а.
  • Превазилази Wine ограничења за кључне апликације и пружа комплетну радну површину на захтев.
  • Јасни захтеви: KVM, Docker, Compose v2 и FreeRDP 3 са звуком.
  • GPU пропус још није доступан, Podman и Flatpak су на путу са техничким изазовима.

ВинБоут

Ако радите у Линуксу и повремено вам је потребно да покренете апликацију која постоји само за Виндоус, лако се можете осећати заглављено. ВинБоат се појављује као другачија опција : уместо слоја компатибилности, он покреће праву инстанцу Виндоуса и беспрекорно је интегрише у вашу радну површину.

Идеја је једноставна колико и моћна: подесите право Windows окружење са Docker-ом и KVM-ом и прикажите његове прозоре унутар ваше Linux сесије користећи FreeRDP, као да су изворни. Нема више муке са чудним зависностима или непредвидивим закрпама; ако програм ради на Windows-у, требало би да ради и овде, осим у сценаријима који захтевају снажно графичко убрзање или мере против варања на нивоу језгра.

Шта је ВинБоат и зашто је занимљив?

WinBoat је пројекат који, веран свом духу Windows for Penguins, има за циљ да Windows апликације беспрекорно раде на вашем Linux систему уз минимално трење. Уместо API превода, ослања се на виртуелизацију са KVM и Docker контејнерима како би обухватио Windows окружење, које се затим представља као независни прозори унутар вашег система.

У поређењу са претходним приступима попут WinApps-а , кључна разлика лежи у корисничком искуству. Са WinApps-ом, највећи део конфигурације пада на вас: много ручног подешавања , основни TUI, неколико виџета у траци задатака и неке раштркане конзолне команде. WinBoat, с друге стране, обавља тежак посао након што испуни одређене предуслове, приказује релевантне информације у углађеном интерфејсу и нуди комплетније искуство без потребе да се мучите са конфигурационим датотекама или памтите низ команди.

Ако се питате зашто не бисте користили Wine или CrossOver, одговор лежи у изузецима. Неке апликације не раде глатко или се једноставно не покрећу са Wine-ом . Управо зато је WinBoat и креиран: да попуни те празнине и, штавише, да вам пружи пуну Windows радну површину када вам је потребна. Тестови из стварног света навели су примере као што су Affinity Photo, Paint Tool SAI v1.0, Adobe пакет, AeroChat, Acrobat и, наравно, Office; чак је потврђено да Office 365 ради.

Како WinBoat функционише: Виртуелизација са интеграцијом са Windows-ом

Испод хаубе, WinBoat покреће Windows виртуелну машину користећи Docker као оркестратор и KVM као хардверски потпомогнуту технологију виртуелизације . Windows се рендерује у Linux-у путем FreeRDP-а, тако да их можете користити као било коју другу системску апликацију, превлачећи их између радних површина, закачивајући их на траку задатака и пребацујући се између њих помоћу Alt+Tab.

Лепота овог изума лежи у беспрекорном корисничком искуству: елегантном интерфејсу , аутоматизованим процесима инсталације и могућности покретања целе Windows радне површине ако је потребно. Када није, можете отворити само одређене апликације и беспрекорно их интегрисати, као да су изворне, са доследним изгледом и осећајем унутар ваше сесије.

Изванредне карактеристике

  • Уредан интерфејс са визуелном интеграцијом која чини да Windows прозори изгледају као да су из самог Linux-а.
  • Аутоматска инсталацијаВи бирате своје жеље и ресурсе, а систем се брине о кувању.
  • Покрените скоро сваку апликацију који се покреће на Windows-у, представљен као прозори системског нивоа на вашој радној површини.
  • Цела радна површина Windows доступан када вам је потребан, као и покретање појединачних апликација на интегрисан начин.
  • Интеграција датотекаМонтира ваш кућни директоријум у оперативном систему Windows ради директног дељења докумената.
  • корисни додаци На путу и ​​већ присутни: пропусност паметних картица, праћење ресурса и још много тога.

Системски предуслови

Пре него што почнете, уверите се да ваша опрема испуњава ове минималне захтеве; у супротном, наићи ћете на проблеме од самог почетка. Пажљиво проверите сваку тачку и избегавајте изненађења.

  • РАМ-: најмање 4 ГБ.
  • Процесорминимум 2 нити.
  • Складиштење32 ГБ слободно у /var.
  • ВиртуелизацијаKVM је омогућен у BIOS-у или UEFI-ју.
  • лучки радник: потребно за контејнеризацију.
  • Докер Компоуз v2: неопходно за компатибилност са docker-compose.yml датотекама.
  • Докер група: додајте свог корисника у докер групу.
  • ФрееРДПВерзија 3.xx са звучном подршком.
  • Језгрени модули: учитава iptables и iptable_nat.

Поред софтверских захтева, требало би да потврдите да KVM заиста ради на вашој дистрибуцији. KVM онемогућен у BIOS-у или блокиран од стране језгра спречиће покретање било чега, без обзира на то колико добро све остало функционише.

Преузимање и инсталација: доступне варијанте

Можете преузети Linux верзије из одељка за издања пројекта. Тренутно постоје две опције које покривају већину случајева, са прилично лаком кривом учења. Изаберите ону која најбоље одговара вашој дистрибуцији и вашем радном процесу.

  • АппИмаге: преносиви формат који ради на већини дистрибуција без сложене инсталације.
  • отпакованораспаковане датотеке; само покрените бинарну датотеку у linux-unpacked/winboat.

Имајте на уму некомпатибилности које су програмери напоменули. Тренутно не постоји подршка за Podman , Docker Desktop, дистрибуције које емулирају Docker користећи Podman сокет или конфигурације контејнера без рутирања. Ако се ослањате на било које од ових окружења, мораћете да сачекате будуће верзије.

Највећи признати недостатак је то што ћете морати ручно да инсталирате неколико додатака пре него што уживате у пуном искуству: Docker, Compose v2, FreeRDP 3 са звуком, iptables модуле и чланство у docker групи. Када превазиђете ту препреку, остало је прилично добро оркестрирано.

Компајлирајте и покрените из изворног кода

Ако више волите да направите апликацију на свом рачунару, процес је једноставан све док имате потребне зависности. Биће вам потребно да инсталирате NodeJS и Go пре него што почнете.

  • Клонирајте репозиторијум: git clone https://github.com/TibixDev/WinBoat
  • Инсталирајте зависности: npm i
  • Компајлирајте апликацију и гостујући сервер: npm run build:linux-gs
  • Добијени бинарни фајлови се појављују у dist, са AppImage и Unpacked варијантом

За развој, ток рада се мало мења како бисте лакше могли да понављате локално. Са спремним за NodeJS и Go , пратите ове кораке.

  • Клонирајте репозиторијум: git clone https://github.com/TibixDev/WinBoat
  • Инсталирајте зависности: npm i
  • Направите гостујући сервер: npm run build-guest-server
  • Покрените апликацију у развојном режиму: npm run dev

Конфигурација уређаја и хардвера

Ако вам је потребан приступ хардверу из Windows-а, подршка варира у зависности од типа уређаја. Већ постоје опције за USB, мада је тренутно конфигурација ручна. Када се USB пропусни канал дода у апликацију , биће могуће то урадити из интерфејса; у међувремену, мораћете да измените датотеку.

Када је WinBoat инсталиран, идите у фасциклу ~/.winboat и отворите датотеку docker-compose.ymlТамо можете додати било које УСБ уређаје које желите да прикажете госту. Након што га модификујете, примените измене помоћу docker-compose down y docker-compose up -d у истом директоријуму.

Графика и убрзање: Тренутни статус ВинБоута

Тренутно не постоји оперативни GPU пропусни систем. Планови укључују имплементацију убрзања коришћењем паравиртуелизованих драјвера , али још увек има посла. MVisor Win VGPU драјвер за OpenGL је испитан и резултати су обећавајући, иако је дизајниран за други хипервизор и није компатибилан са QEMU-ом, који користи WinBoat.

Такође постоје тимови који раде на DirectX драјверима, али тренутно нема ничега што можемо поуздано да тестирамо. Циљ је да се ове компоненте интегришу када буду довољно зреле за општу употребу, без угрожавања стабилности.

Један пројекат који је пажљиво испитан је Looking Glass, посебно његов Indirect Display Driver, јер би елиминисао потребу за другом графичком картицом. Драјвер је компајлиран и покренут са неким заобилазним решењима, али се производи само црни екран. Сам аутор наводи да још није спреман за јавно објављивање, тако да ће интеграција морати да сачека даљи развој.

Игре са анти-чит и другим WinBoat ограничењима

Ако вам је циљ да играте игре са анти-читом на нивоу језгра, нема добрих вести. Ови системи детектују и блокирају виртуелизацију , тако да их није могуће покренути на WinBoat-у. За игре без ових ограничења или са мање инвазивном заштитом, ситуација може бити другачија, али то није примарни фокус пројекта.

Статус и паковање Подмана у Флатпаку

Подршка за Подман је планирана и рад на њој је чак почео и од стране тима и сарадника. Међутим, проблеми са мрежом спречавају приступ гостујућем серверу , што омета корисничко искуство. Док се ови проблеми не реше, остаће на листи чекања.

Конвертовање WinBoat-а у Flatpak је такође у плану, иако ће захтевати труд јер Flatpak веома чврсто изолује апликације од система. Инсталиране апликације , Docker бинарни фајл, његов сокет и други услужни програми би морали бити изложени, све без угрожавања безбедности sandbox-а. Није тривијално, али није ни искључено.

Интеграција датотека и ток рада

Један практичан детаљ који олакшава живот јесте то што је ваш кућни директоријум у Линуксу монтиран унутар Виндоуса. Ово вам омогућава да делите датотеке напред-назад без монтирања додатних ресурса или ручног копирања са непознатих локација. За канцеларијске задатке, уређивање или CAD, ово је веома добродошла пречица.

Апликације које добро функционишу и примери употребе

Права вредност WinBoat-а постаје очигледна када се користе програми које Wine још увек не може савршено да подржи. Значајни примери укључују Affinity Photo , Paint Tool SAI v1.0 и делове Adobe пакета, као и алате попут AeroChat-а и Acrobat-а. Office се истиче, потврђујући да се Office 365 може користити без већих потешкоћа.

Овај приступ добро функционише за професионалце којима је потребно неколико критичних Windows услужних програма, али више воле да задрже своје Linux окружење за све остало. Дизајн, напредне канцеларијске апликације или одређене пословне апликације се посебно добро уклапају у овај модел мешовите употребе.

Сарађујте са пројектом WinBoat и лиценцирајте

Доприноси су увек добродошли, било да се ради о исправљању грешака, усавршавању функција или побољшању документације. Тим вас моли да се фокусирате на техничке доприносе и одбациће захтеве за преузимање (pull requests) са политичким, сексуалним или другим осетљивим садржајем који не доприноси развоју. Ако желите да помогнете, најбољи начин је да посетите одељак са проблемима, предложите побољшања и отворите циљане захтеве за преузимање (pull requests).

Поред пријављивања грешака и предлагања функција, можете делити повратне информације о коришћењу из стварног света или помоћи у разјашњавању тачака у приручнику. Пројекат је лиценциран под МИТ лиценцом , што олакшава сарадњу и усвајање у различитим условима. Такође помињу да постоје и други пројекти са сличним идејама који су их инспирисали; вреди их погледати.

Напомене о приватности, обавештења и контекст извора

Неке од консултованих информација потичу из дискусија на платформама које приказују обавештења о приватности. У случају Редита, видећете типичну поруку у којој се наводи да они и њихови партнери користе колачиће и сличне технологије како би пружили боље искуство, одржавали услуге, побољшали квалитет и персонализовали садржај и оглашавање , као и мерили ефикасност оглашавања. Ако прихватите све колачиће, можете наставити; ако одбијете небитне колачиће, они и даље могу користити одређене колачиће неопходне за функционисање платформе. Такође вас упућују на њихово обавештење о колачићима и политику приватности.

У неким X уграђеним системима, ако је у вашем прегледачу онемогућен JavaScript, појавиће се порука са захтевом да га омогућите или да користите компатибилан прегледач да бисте наставили. Наведене су везе до центра за помоћ и услова коришћења услуге, политике приватности, политике колачића, импресума и података о оглашавању , а све носи корпоративни потпис X-а. Ово су стандардне поруке платформе и не утичу на функционалност WinBoat-а.

Коначно, неки чланци садрже распореде са празним табелама и резервисаним местима који не додају садржај. Ови визуелни елементи су део оригиналног дизајна и не садрже релевантне техничке информације о WinBoat-у.

Практични савети за тест са добрим изразом лица

Иако пројекат доста аутоматизује, ипак је корисно припремити се. Проверите да ли је ваш корисник у Docker групи и да ли можете да покрећете контејнере без sudo-а. Потврдите да је FreeRDP верзија 3.xx са звуком, јер старије верзије могу имати проблема са звуком. И проверите доступност /var да бисте избегли да вам понестане простора током имплементације.

Ако планирате да користите одређене USB периферне уређаје у Windows-у, држите њихове идентификаторе при руци и документујте све промене које направите у docker-compose.yml датотеци. Кратка контролна листа пре отпремања и преузимања контејнера може вам уштедети време, посебно ако мењате рачунаре или делите пројекат са другим људима.

WinBoat нуди прагматично решење за оне којима је потребно окружење слично Windows-у, а да притом не напусте Linux: добро оркестрирану виртуелизацију, Windows интегрисан са FreeRDP-ом , јасне захтеве и план усмерен на побољшање графичког убрзања, подршку за Podman и Flatpak паковање. Са бета верзијом која је већ способна за озбиљан рад, показује се као убедљива алтернатива када Wine или Proton закажу, посебно за основне дизајнерске, канцеларијске или пословне апликације које се и даље муче на Linux-у.


Додај као жељени извор на Гуглу