5. díl - Windows aplikace v Linuxu - Virtualizace a Wine

Linux a UNIX Základy Windows aplikace v Linuxu - Virtualizace a Wine

V minulém dílu našeho seriálu o Linuxu jsme si prošli základní nativní aplikace. Ačkoli Linux nabízí spoustu alternativ, určitě se časem dostanete do situace, kdy budete potřebovat spustit nějakou aplikaci z Windows, pro kterou alternativa neexistuje nebo vám nevyhovuje. Ačkoli to tak nemusí vypadat, tak je situace řešitelná a to hned dvěma způsoby.

Virtualizace

Nejspolehlivějším způsobem ke spuštění aplikací z Windows je nainstalovat plnohodnotné Windows do virtuálního stroje. Virtuální stroj je software, který umožňuje vytvořit umělé hardwarové podmínky, na kterých můžeme provozovat např. další operační systém. Jednoduše zvolíme jaký hardware aplikaci přidělíme a ona se pro software ve virtuálním stroji chová jako samostatný fyzický počítač. Ve skutečnosti je hardware využíván jinak a běží na něm ještě Linux, ale to aplikace ve virtuálním stroji nepoznají. Rychlostně zde zaznamenáme nějaký handicap, ale není příliš velký a napomáhá tomu také asistování hardwarové virtualizace, kterou dnes již podporuje mnoho CPU (je někdy potřeba zapnout v BIOSU/UEFI). Nevýhodou virtualizace je nutnost vlastnit Windows a tedy také jejich licenci. Pokud chcete Linuxem ušetřit na výdajích, tak pro vás není tento způsob to pravé. Pokud máte rádi Linux a potřebujete jen občas spustit něco z Windows, je pro vás virtualizace ideálním řešením.

VirtualBox

Jako virtuální stroj použijeme aplikaci VirtualBox, kterou nainstalujeme pomocí Centra softwaru pro Ubuntu.

VirtualBox v Linuxu Ubuntu
Vytvoření virtuálního počítače

Jako první musíme vytvořit nový virtuální počítač. V horní liště klikneme na tlačítko "Nový" (mimochodem, strojů můžeme mít kolik se nám zlíbí). Já si nainstaluji Windows7 a proto stroj také tak pojmenuji.

VirtualBox v Linuxu Ubuntu

Jelikož mám v PC s Linuxem jen 2 GB operační paměti, přidělím z nich stroji jen 512 MB. Pokud máte více, určitě mu dejte 1 GB.

VirtualBox v Linuxu Ubuntu

Nyní se přesouváme k vytvoření pevného disku. Vytvoříme nový disk typu VDI s dynamickou alokací a velikost necháme na 25 GB.

VirtualBox v Linuxu Ubuntu
VirtualBox v Linuxu Ubuntu
VirtualBox v Linuxu Ubuntu
VirtualBox v Linuxu Ubuntu
Instalace Windows

Nově vytvořený virtuální počítač se nám zobrazí a my přejdeme do jeho nastavení pomocí tlačítka v horním panelu.

VirtualBox v Linuxu Ubuntu

Přejdeme do kategorie Úložiště a vybereme DVD mechaniku, které pomocí ikonky DVD vpravo nahoře přiřadíme soubor iso s instalací Windows. Já jsem pro demonstraci použil nějaké své Windows 7, které mi Microsoft věnoval v dobách studia v rámci projektu MSDN. Jinak je opravdu potřeba koupit si nové originální Windows, udělat z DVD soubor .iso a ten nainstalovat s daným sériovým číslem.

VirtualBox v Linuxu Ubuntu

Nastavení zavřeme a virtuální stroj spustíme pomocí zeleného tlačítka v panelu. Spustí se vám instalace Windows.

Pozn.: Může se vám stát, že virtuální počítač zachytí kurzor myši a již ho nepustí. Odtržení myši od virtuálního stroje způsobíte pravým CTRL. Tato klávesa je pojmenována jako host a slouží také pro další klávesové zkratky, viz. dále.

Instalace Windows do VirtualBox

Z nějakého důvodu mi Windows nabízely Upgrade a musel jsem zvolit vlastní instalaci.

Instalace Windows do VirtualBox

Poté stačilo vybrat disk, na který chceme systém nainstalovat.

Instalace Windows do VirtualBox

Po odklikání několika dialogů a chvilce kopírování souborů se systém spustí, však to znáte :)

Instalace Windows do VirtualBox

Pro pohodlnější práci nainstalujeme Přídavky pro hosta a to buď zkratkou Pravé CTRL + D nebo v aplikačním menu Zařízení -> Instalovat Přídavky pro hosta...

Instalace Windows do VirtualBox

Systém bude chtít přídavky pravděpodobně stáhnout a potom nainstalovat, což potvrďte. Přídavky se vloží jako disk do DVD mechaniky, otevřete ji a spusťte soubor VBoxWindowsAd­ditions.

Instalace Windows do VirtualBox

Instalaci jen "vynextíte". Windows se budou vzpírat kvůli neověřenému ovladači, který nainstalujte.

Instalace Windows do VirtualBox

Po instalaci je nutné virtuální PC restartovat.

Bezešvý mód

Co je velmi příjemné je bezešvý mód, který aktivujeme pomocí klávesové zkratky Pravé CTRL + L. V tomto módu zmizí okno VirtualBoxu a lišta úloh Windows se nám přesune na spodní okraj obrazovky. Každá aplikace ve virtuálním počítači vypadá jako běžné okno v Linuxu a teoreticky nepoznáme rozdíl mezi skutečnou a virtualizovanou aplikací. Získáme tak jakýsi hybridní systém a práce tak nabývá úplně jiných rozměrů.

Instalace Windows do VirtualBox

Wine

Druhým způsobem spuštění Windows aplikací na Linuxu je aplikace Wine. Jedná se o vrstvu mezi Windows aplikací a Linuxem, která za běhu překládá Windows API na Unixový POSIX standard. Wine je často chybně zaměňováno s emulátorem nebo virtuálním strojem. Je to ve skutečnosti interpreter API a proto je poměrně rychlé a ke svému běhu Windows vůbec nepotřebuje. Nevýhodou tohoto principu je, že není kompatibilní se všemi aplikacemi. Můžete se podívat na seznam kompatibilních aplikací. Pro ilustraci zmíním, že pomocí Wine můžeme provozovat např. Adobe Photoshop nebo World Of Warcraft.

Wine označuje rekurzivní zkratku Wine Is Not Emulator, tedy "Wine není emulátor". Nemohu se nezmínit o tom, že zkratka původně paradoxně znamenala WINdows Emulator.

Když natrefíte na kompatibilní aplikaci, vůbec si nevšimnete, že nejste ve Windows. Některé aplikace je nutné pro správné fungování nastavit a doinstalovat různé knihovny. Některé aplikace nelze spustit vůbec. S trochou snahy však ve Wine většinu aplikací rozběhnete. Osobně mi přijde VirtualBox jako schůdnější řešení, ale chápu, že ne všem se chce kupovat další licence Windows.

Wine nainstalujeme jak jinak než z Centra softwaru pro Ubuntu. Když potřebujeme spustit nějakou aplikaci, jednoduše klikneme na její exe soubor pravým tlačítkem a zvolíme Otevřít se zavaděčem programů pro Wine.

Spuštění Windows aplikace přes Wine v Linuxu

Vidíte, že mně chybělo v Linuxu Windows Malování a proto jsem si ho tam zkopíroval a používám ho přes Wine.

MSPaint v Linuxu přes Wine

Winetricks

Wine se bohužel z nějakého důvodu neinstaluje se všemi potřebnými knihovnami, ale jen s jakýmsi minimálním základem. Často pro běh aplikací potřebujete ještě nějakou systémovou knihovnu. Já jsem k MSPaint potřeboval mfc42. Spolu s Wine se vám nainstaloval program winetricks, který umožňuje jednoduše instalovat balíčky s knihovnami nebo i aplikacemi. Knihovnu nainstalujete vložením následujícího řádku do terminálu:

winetricks mfc42

Wineconfig

Wine můžeme konfigurovat přes aplikaci wineconfig (můžete spustit z terminálu nebo přes tlačítko Windows). V nastavení je asi nejdůležitější výběr toho, jako jaká verze Windows se má Wine tvářit. Toto nastavení můžete uložit i pro konkrétní aplikace.

Nastavení Wine v Linuxu pomocí wineconfig

Winefile

Wine vytvoří pro vaše aplikace imaginární disk C, který naleznete ve svém domovském adresáři jako .wine/drive_c. Tečka před názvem souboru/složky v Linuxu označuje, že je skrytý. Musíte tedy zadat jeho celou cestu nebo stisknout CTRL + H, což zapne zobrazování skrytých souborů.

Soubory na tomto disku můžeme procházet také pomocí aplikace winefile. Aplikace můžeme kopírovat z Linuxu na Wine disk C a také je odtamtud spouštět. Winefile spustíme z terminálu:

Spuštění winefile přes terminál
Winefile

Pro Wine existují různé nástavby, např. PlayOnLinux, což je aplikace, která velmi usnadňuje instalaci aplikací a her a tyto aplikace také automaticky nastaví tak, aby ve Wine fungovaly.

Již tedy umíme rozběhnout v Linuxu naprosto libovolnou aplikaci z Windows. Příští díly se budou věnovat terminálu.


 

  Aktivity (2)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (19 hlasů) :
55555


 


Miniatura
Předchozí článek
Aplikace pro Linux Ubuntu
Miniatura
Všechny články v sekci
Základy Linuxu

 

 

Komentáře
Zobrazit starší komentáře (5)

Avatar
vodacek
Redaktor
Avatar
vodacek:

na C# celkem vyhovuje MonoDevelop, běželo mi ve virtuálu aj MonoGame bez nějakejch velkých potíží

 
Odpovědět 7.8.2014 20:26
Avatar
mkub
Redaktor
Avatar
mkub:

di WINE nie som si isty, ale ak pouzijes VirtualBOX, tak sa to javi ako fyzicke PC pre dany system, tak nevidim tu ziadny problem instalacie VS vo virtualizovanej Sedmicke

 
Odpovědět 8.8.2014 6:38
Avatar
Martin5001
Člen
Avatar
Martin5001:

Ahoj.
Nevíte někdo jestli se dají na Linuxových distribucích(U­buntu, Kubuntu, Linux mint atd.) spustit aplikace přímo pro Linux a ne pro konkrétní distribuci (myslím bez použití emulace Linuxu)?
Děkuji za odpověď. PS: Nepište mi sem, že je to hloupej dotaz. Linux nemám tak to nemůžu vědět.

Editováno 31.12.2014 13:14
 
Odpovědět  +1 31.12.2014 13:13
Avatar
Martin5001
Člen
Avatar
Martin5001:

Ahoj.
Chtěl bych zprovoznit NHL 06 na Ubuntu 14.04 LTS. Nainstaloval jsem Wine a zkusil se "povrtat" ve složce s NHL 06 na CD, ale 1.: Nenašel jsem instalační soubor na hru (jen na DirectX). 2.: Tak jsem zkusil spustit NHL 06.exe a samozřejmě to nefungovalo.
Mám nastavenou em. virt. plochy, ale to je vše, co s tím umím. Žádný knihovny a tak jsem nedělal (Protože to neumím).
Mohl by mi s tím někdo pomoct?
PS: Nechci používat virtualizaci.

 
Odpovědět 10.7.2015 10:07
Avatar
mkub
Redaktor
Avatar
Odpovídá na Martin5001
mkub:
  1. na Linuxe sa daju spustit Linux aplikacie, ale je potrebne dodrzat zavislosti danej aplikacie, ak mas zdrojovy kod, tak si danu apku mozes skompilovat na mieru pre tvoju distribuciu
  2. Windows aplikacie (typicky.exe) nemozes spustat priamo, ale pomocou wine nasledovany nazvom danej aplikacie (ale bez roota)

a k tomu wine, tak ten wine nedokaze vsetky mozne aplikacie z Windows sveta spustit a na strankach WINE najdes zoznam aplikacii, ktore su s wine kompatibilne a su otestovane

 
Odpovědět 11.7.2015 2:50
Avatar
Martin5001
Člen
Avatar
Odpovídá na mkub
Martin5001:

Díky za odpověď.
Já a zdrojovej kód! To by to dopadlo. :-)
Jednak se v tomhle nevyznám. A ani nemám zdrojový kód. Mám jenom instalační CD s NHL06 a na něm právě nemůžu najít soubor exe, který by spustil instalaci té hry. (Ale to bys musel tu hru mít, abys mi s tím mohl pomoct.)
K tomu Wine: Mám tomu rozumět tak, že Wine spustí pouze hry, uvedené v seznamu na oficiální stránce, případně ty, které jsou "nenáročné" (bez DirectX, dll knihoven atd.)? Já jsem na tom zprovoznil Emergency Ambulance Simulator 2012 (kterej není v seznamu), ale seká se mi to. No a pak mi tam funguje hra Turbo Cars (Ke stažení myslím i tady na Devbooku.)

 
Odpovědět 11.7.2015 13:32
Avatar
tomasmanhal
Člen
Avatar
Odpovídá na Martin5001
tomasmanhal:

Wine rozjede v pohodě i tituly s directX (záleží na verzi wine a distru), ale proč si instalovat wine, když máme na Linuxu Steam, kde je spousta suprových titulů a další přibývají :-)

Odpovědět  +2 11.7.2015 13:35
Kdyby nám dodali k životu zdrojový kód, vše by bylo jednodušší...
Avatar
mkub
Redaktor
Avatar
Odpovídá na Martin5001
mkub:

pri prekladoch zo zdrojaku ti staci toto poradie dodrzat:

  1. ./configure
  2. make
  3. sudo make install

a pokial sa nestane chyba (a su splnene podmienky uvedene v subore README), tak niekde v adresari /usr/loval by si mal najst binarku na spustenie... to plati len pre Linux aplikacie...

a co sa tyka NHL06, tak ako som pisal, skus sa pozriet na https://appdb.winehq.org/, ci je ta hra kompatibilna s tou verziou wine, aku pouzivas

a wine nespusta iba hry, ale dokaze spustit aj Windows programy a je to viac-menej pokus-omyl a ked sa ti nieco podarilo spustit, bolo by dobre, keby si tu aplikaciu tam doplnil aj pre dalsich

 
Odpovědět 11.7.2015 23:37
Avatar
mkub
Redaktor
Avatar
Odpovídá na tomasmanhal
mkub:

na distribucii tak velmi nezalezi, ale skor na verzii wine
a mas pravdu, ze Steam podporuje uz aj Linux a pribudlo tam vela titulov, ktore sa daju spustit aj v Linuxe, ale este stale su hry, ktore su "only Windows" a na tie treba pouzit Wine, alebo inu metodu

 
Odpovědět 11.7.2015 23:41
Avatar
Martin5001
Člen
Avatar
Martin5001:

Děkuji všem za rady.

 
Odpovědět 12.7.2015 9:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 15. Zobrazit vše