přejít na obsah přejít na navigaci

Linux E X P R E S, Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS

Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS

frozen_bubble.png

V předchozích dvou článcích jsme si pověděli, jak nainstalujeme linuxové programy v Linuxu. Jelikož všechno není zcela růžové, někteří uživatelé mohou v Linuxu požadovat program, který je určený pouze pro Windows. Častou komplikací při přechodu k Linuxu bývá problém návyku nejen na nový operační systém, ale také na nové programy. Proto existuje několik projektů, které nabízejí uživatelům přecházejícím k Linuxu šanci, aby si svůj oblíbený - nebo v horším případě "nenahraditelný" - program mohli spustit i v Linuxu.


Již ve druhém a čtvrtém dílu Průvodce Linuxem jsem zdůrazňoval, že si zřejmě budete muset ujasnit, zda se obejdete bez programů a her určených pro Windows. Bezproblémové je zcela jistě používat v Linuxu linuxové programy - než programy nelinuxové spouštět v "emulátoru". Z předchozích článků a poslední věty je už patrné, že programy určené pro Windows se za "určité konstelace hvězd" spustit a provozovat v Linuxu dají.

Již ve zmíněném čtvrtém dílu Průvodce Linuxem 4 - Software v operačním systému Linux jsem uvedl tři možnosti, jak dále používat na svém počítači požadovaný software z Windows.

  1. Dualboot - používání dvou (i více) operačních systémů na jednom PC. O tom jsme si již řekli v přechozích článcích Průvodce Linuxem 6 - Předinstalační příprava a Průvodce Linuxem 7 - Instalujeme linuxovou distribuci. Jedná se o instalaci operačních systémů "vedle sebe".
  2. Použití "emulátorů" - tato varianta umožňuje instalaci softwaru v Linuxu.
  3. Virtualizace operačního systému - umožní vám spouštět operační systém jako běžný program v Linuxu.

My se v následujících řádcích podíváme na druhou a třetí možnost.

Použití "emulátorů", především (ne)emulátoru Wine

Ano, víme, že Wine není emulátor. Přesto je někdy srozumitelnější ho tak nazývat. Už jsme o něm vydali články, např. Wine aneb Nalijme si čistého vína. Pozn. šéfred.

Než se pustíte do instalování programů pro Windows, ještě jednou vás nabádám, abyste se poohlédli po linuxové alternativě (Průvodce Linuxem 4 - Software v operačním systému Linux). To, že existuje (ne)emulátor Wine však neznamená, že dokáže spustit všechny programy a všechny hry určené pro operační systém Windows. Pesimisticky vzato - programy bezchybně pracující pod Wine tvoří jen malou část z celkového množství všech existujích programů. U her to bude ještě horší. U novějších her je hlavním problémem především absence nekomplexnost nejnovější verze DirectX, což je technologie určená pouze pro systémy Windows.

DirectX 9 je možné již poměrně snadno doinstalovat pomocí utilitek, jako jsou Wine-doors nebo o trochu složitěji pomocí Winetricks. V tomto případě máte výrazně větší šance nainstalovat a spustit některé hry požadující danou verzi DirectX.

Wine-doorsWine-doors

Co dokáže Wine spustit?

První věcí, která bude pravděpodobně většinu potencionálních uživatelů Linuxu zajímat, je: Jaký program popř. jaká hra bude pod Wine správně pracovat? Ačkoliv existuje seznam, ve kterém můžete zkusit vyhledat, zda daný software již někdo úspěšně otestoval, bohužel to nemusí vždy znamenat, že v aktuální verzi Wine to bude stejné. Naopak, pokud v seznamu program či hra nebude obsažena nebo bude označena jako "nespustitelná", nemusí to nutně znamenat, že v aktuální verzi Wine nebude správně pracovat. Proto je dobré programy, které nezbytně potřebujete pro svou práci, prostě vyzkoušet.

Jak Wine nainstaluji?

Odpověď je jednoduchá. Jako každý jiný program v Linuxu. V předcházejících dvou článcích (Průvodce Linuxem 10 - Instalace softwaru a Průvodce Linuxem 10 a kousek - Nevhodný způsob instalace softwaru) jsme si již řekli, jak se software v Linuxu instaluje. Proto doporučuji si tyto články přečíst, pokud jste tak již neučinili. Těm, co předchozí články nečetli, napovím, že instalace pomocí správce balíků bude vhodným způsobem instalace. (Záložní a méně vhodnou variantou je pak stažení softwarového balíku přímo ze stránek Wine.)

V některých distribucích se můžete setkat s položku Wine v seznamu nainstalovaných aplikací; obsahuje položky pro nastavení parametrů Wine, k procházení adresářů a také položku k odinstalování programů nainstalovaných pomocí Wine. Ihned po instalaci Wine již můžete instalovat programy, tak jak jste na to zvyklí z Windows.

Konfigurační nástroj WineKonfigurační nástroj Wine

Jak Wine spustím?

Nespustíte :), lépe řečeno nespustíte jako běžný program. Wine se automaticky "aktivuje", jakmile kliknete (někdy dvakrát) na program.exe. Díky Wine a poklikáním na instalační soubor začíná instalace známá z Windows.

Nabídka Wine v distribuci Linux Mint 6 FeliciaNabídka Wine v distribuci Linux Mint 6 Felicia

Programy, které se pokusíte nainstalovat, se nejběžněji instalují do složky "Program Files" známé z Windows. Jistě už víte, že složka "Program Files" se v Linuxu určitě nenachází. Kam se tedy instalují programy určené pro Windows instalované pomocí Wine? V předchozích článcích o instalaci softwaru jsem se zmínil o skrytých adresářích v domovském adresáři. Ano, tušíte správně, "Program Files" naleznete ve skrytém adresáři s názvem .wine. Pokud si tento adresář projdete, zjistíte, že adresářová struktura odráží adresářovou strukturu Windows.

A jaké jsou další možnosti - (ne)emulátory?

Existují aplikace vycházející z programu Wine, které se zaměřují především na spouštění kancelářského balíku MS Office a her. Jsou jimi programy CrossOver, CrossOver Games a Cedega. CrossOver Linux je určen především pro instalaci a práci s MS Office. CrossOver Games a Cedega jsou určeny pro instalaci a spuštění her. Tyto programy jsou však jednou z mála výjimek ze softwaru určeného pro Linux, jsou to placené programy. Pokud by vás více zajímaly, můžete se podívat na následující odkazy.

Jak spustím program.exe pro DOS?

Programy a hry pro DOS ani nezkoušejte spustit ve Wine, nepůjde to. Existují však programy pro emulaci těchto programů a her. Jedním z nejjednodušších je emulátor DOSBox. Můžete se také setkat s emulátorem DOSEMU. Tyto emulátory použijte v případě her a programů určených pro MS-DOS.

Existují i další emulátory, které pracují v Linuxu, např. Mupen64plus nebo Mame, které jsou určeny především k emulaci her speciálních zařízení. Jelikož se jedná o specifický software, nebudu se jimi dále zabývat z důvodu, že se pravděpodobně u drtivé většiny běžných uživatelů nebude jednat o nutnou součást operačního systému.

Virtualizace operačního systému

Tato možnost umožňuje prostřednictvím programů k tomu určených nainstalovat operační systém a používat ho v Linuxu. Jedná se o možnost nainstalovat si v Linuxu program, který umožňuje "do sebe" nainstalovat operační systém. Pomocí tohoto programu pak můžete spustit virtualizovaný operační systém jako jakýkoliv jiný program nebo hru. Operačním systémem může být například Windows, ale i Linux či BSD.

Existuje několik programů určených k virtualizaci operačních systému pro Linux (VirtualBox, VMware, Xen a další), které můžete využít. Určitě nejjednodušším pro začátečníky, ale určitě ne špatným virtualizačním nástrojem, je program Virtualbox. V některých distribucích je už dokonce předinstalovaný.

VirtualBox se spuštěným hostovaným systémem Windows XPVirtualBox se spuštěným hostovaným systémem Windows XP

K čemu mi bude virtualizovaný operační systém?

Již v úvodu článku jsem psal o situaci, kdy bude nutné používat programy, které jsou určeny pouze pro operační systém Windows. Pokud se vás to týká, je virtualizace možností, jak mít v Linuxu své "nenahraditelné" programy určené pro Windows i s celým operačním systémem. Musíte však počítač s určitými omezeními virtualizace. V případě spuštění hostovaného operačního systému vzniká situace, kdy běží dva operační systémy na jednom stroji - což představuje určité zvýšené nároky na výkon PC. Dalším omezením může být samotný výkon hostovaného systému, jenž se odvíjí od schopností programu, kterým je operační systém spuštěn (např. VirtualBox).

Nyní jsme si v Průvodci Linuxem prošli tři varianty, jak mít svůj program nebo hru určenou pouze pro operační systém Windows na svém "linuxovém počítači". Je pravda, že ani jedna ze tří variant není ideální, ani jedna ze tří variant nenahradí nativní linuxový program nebo hru, ale určitě může pomoci v případě, že nejste závislí na mnoha programech a hrách z Windows. Pak si jistě jednu ze tří variant vyberete a budete spokojeně používat, pokud to vůbec bude nutné. Hledejte alternativy.

Mohlo by vás zajímat

Nahoru

Příspěvky

Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
cybermage 26. 01. 2009, 17:40:17
Odpovědět  Odkaz 
citace:
"U novějších her je hlavním problémem především absence DirectX..."

Tohle je trochu (dost) zavádějící. Wine je vlastně portací Windows API na Unix-like (POSIX kompatibilní) OS, bez jediné řádky MS kódu.
DirectX je důležitou součástí Windows - defaultně nainstalovány na každých dnešních Windows, nevím ani jestli to jde vůbec odinstalovat. Proto se spolu s Windows API snaží Wine portovat i DirectX API, tedy Wine má vlastní verzi DirectX (v10) už obsažené v sobě.

Samozřejmě můžete doinstalovat i MS verzi (nebo alespoň použít dll knihovny), ale rozhodně se nejedná o nutnost (tak jak to vypadá z článku). Navíc je legálnost takového kroku dost sporná (stejně jako např. instalace Internet Exploreru) - tedy pokud nevlastníte licenci na Windows.

Formulace v článku by mohla znít asi takto:
"U novějších her je hlavním problémem především nedotaženost portace Direct3D" - nebo tak něco.
Vlastimil Ott Re:Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
Vlastimil Ott 26. 01. 2009, 19:15:12
Odpovědět  Odkaz 
Byl to můj neopatrný zásah, díky za upozornění, text jsem po dohodě s autorem upravil.
Bc. Alois Hýbl, DiS. Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
Alois Hýbl, DiS. 26. 01. 2009, 19:22:20
Odpovědět  Odkaz 
Také díky za postřech.
Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
cybermage 27. 01. 2009, 01:32:24
Odpovědět  Odkaz 
Možná trochu pozdě, ale ještě jsem si všiml jedné chyby, tentokrát se ale nejedna o zavádějící formulaci. U Wine správně uvádíte, že to není emulátor, ale to není ani DOSEMU.

Podle anglické Wikipedie je DOSEMU (stejně jako Wine) tzv. "compatibility layer". To se mi ale taky nezdá, protože DOSEMU se (v nejnovější verzi, ta už tu ale nějaký ten pátek je) dodává s předinstalovaným svobodným OS FreeDOS (v1.0), tedy by IMHO měla spíše spadat do kategorie virtualizačních nástrojů (závislost na platformě x86). V každém případě se ale nejedná o emulátor, jediným emulátorem ve vašem článku je tak tedy DOSBox - ten si díky závislosti na knihovnách SDL můžete nainstalovat v podstatě na jakoukoliv HW platformu, třeba na PowerPC nebo SPARC (narozdíl od virtualizačních nástrojů (VirtualBox) nebo "compatibility layers" typu Wine).

P.S. nepíše se náhodou "postřeh" ?
Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
cybermage 27. 01. 2009, 02:10:42
Odpovědět  Odkaz 
Ještě si dovolím váš článek doplnit (doufám že správně, přece jenom už je trochu pozdě :)

Emulátory jsou hodně pomalé, protože vlastně vytvářejí celý nový virtuální počítač, uvnitř kterého se pak spouštějí jednotlivé aplikace - to je dobře vidět třeba právě na DOSBoxu, kdy i s novým, rychlým CPU budete mít problém dosáhnout rychlosti nejpomalejší 486-ky.

Virtualizační nástroje jsou mnohem rychlejší, protože využívají nativního CPU. Ostatní součásti se ale také emulují, což je problém hlavně u graf. karet (žádná, nebo mizerná 3D akcelerace).
A tyto programy jsou pevně vázány na platformu (viz. konec mého předchozího příspěvku).

Ve virtualizačních nástrojích typu VirtualBox sice mužete nainstalovat prakticky jakýkoliv OS, ale např. zvětšit si okno do fullscreenu můžete pouze po doinstalování speciálního rozšíření, které však podporuje jen vybrané OS (Windows XP, Linux a Solaris).
Nevím, jak je toto řešeno u DOSEMU, ale stejný problém má např. i VMWare.

K virtualizačním nástrojům je také jako alternativa možno použít např. suverénně nejrychlejší emulátor Qemu. Ten jde pro např. pro FreeDOS použít i na relativně pomalém stroji (i méně než 1 Ghz), navíc má možnost doinstalovat speciální rozšíření (modul) KQemu, díky kterému se z něj stane prakticky virtualizační nástroj (samozřejmě pouze pro x86 architekturu). Pro nejnovější CPU je pak možnost použít modul KVM (nezkoušel jsem).

Stejně jako Qemu vám celý virtuální stroj vytvoří i emulátor Bochs, ten je ale mnohem pomalejší (CPU 1.4 GHz, 2.5GB RAM a FreeDOS mi tam jede rychlostí tak 2FPS). Bochs je ale určen speciálně pro zkoušení (a hlavně ladění) OS pro platformu x86.

Zvětšení (fullscreen) je obecně u všech emulátorů (DOSBox, Qemu, Bochs) bez problémů (vyzkoušen DOSBox a FreeDOS a Win98 na Qemu).

Následující odkazy jsou na programy, které, vytvoří kolem emulátoru (Qemu) nebo virtualizačního nástroje tzv. wrapper, který by měl teoreticky umožnit 3D akceleraci (pouze ale OpenGL !) - nevyzkoušeno.
http://www.cs.toronto.edu/~andreslc/xen-gl/
http://sysweb.cs.toronto.edu/projects/7


Koukám že jsem na tomhle tématu trochu "ujel", ale různé emulátory a virtualizace jsou tak trochu můj koníček - hlavně zprovozňování starých DOSových adventur, nejlépe i se zvukem :)
Vlastimil Ott Re:Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
Vlastimil Ott 27. 01. 2009, 08:23:27
Odpovědět  Odkaz 
A nechtěl byste na toto téma napsat pár článků? Samozřejmě honorovaných. Témat mám hodně a myslím, že bychom našli pár společných... Pokud ano, napište mi prosím - vlastimil.ott@linuxexpres.cz, díky.
Bc. Alois Hýbl, DiS. Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
Alois Hýbl, DiS. 27. 01. 2009, 11:08:15
Odpovědět  Odkaz 
Máte pravdu, že ono s těmi emulátory, neemulátory, virtualizacemi, paravirtualizacemi apod. je to mnohem složitější. V tomto článku jde jen o náhled možností pro začátečníky, tedy absolutní zjednodušení - aby věděli, že mají "tu" možnost.
Každopádně děkuji za příspěvky, pro ty kdo budou mít zájem se o tuto problematiku více zajímat, určitě přínosné.
Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
gillx 29. 01. 2009, 12:59:36
Odpovědět  Odkaz 
Potřeboval bych poradit. Mám nainstalované Wine. Normálně po dvojkliku se mi spustí instalace, ale když pak chci program (jakýkoli) spustit z .wine/drive_c/Program Files, tak se nespustí. Lépe řečeno začne se načítat (u kurzoru "poskakuje sklenička s vínem), ale po chvíli se načítat přestane, bez jakéhokoli chybového hlášení.
Re:Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
cybermage 29. 01. 2009, 14:01:54
Odpovědět  Odkaz 
Instalování programů je pod Wine většinou OK, horší je to s jejich spouštěním :(
Na spuštění nejnovějších her můžete s klidem zapomenout.

Pokud chcete vidět hlášení (výstup) z Wine, musíte jej spustit z příkazové řádky, prostě zadejte:
wine /cesta_k_souboru/soubor.exe
a veškerá (chybová) hlášení se vám vypíší v terminálu. Ty pak můžete hledat/postnout na nějakém fóru.

Pravda ale je, že posledních několik verzí Wine (asi tak od 1.1.10) mi dělalo problémy, např. winecfg se mi spouští až tak po 30 vteřinách, předtím proběhne nějaký Wine debugger (nevím co si o tomhle mám myslet), start wineserveru je velice pomalý a verze 1.1.12 mi dokonce nechodila vůbec. A nejhorší je, že tyto problémy nemám zdaleka jen já sám.
Bc. Alois Hýbl, DiS. Re:Průvodce Linuxem 11 - Spouštění programů pro Windows a DOS
Alois Hýbl, DiS. 29. 01. 2009, 14:30:58
Odpovědět  Odkaz 
Jen bych doplnil.
Příkaz, který zadáte do terminálu může mít problém s mezerami, pak je dobré příkaz dát do uvozovek:
wine "/home/uživatel/.wine/drive_c/Program Files/cesta_k_souboru/program.exe"

Mrkněte se na odkaz, který jsem uvedl v článku, zda programy, které se pokoušíte spustit jsou "spustitelné". Možná bude v seznamu uveden, postup jak daný program spustit - např. přidání nějaké knihovny.

Pokud nejde nic - i co by mělo, zkuste aktualizovat wine pomocí příkazu wineprefixcreate popř. přímo smazat .wine a pokusit se znovu nainstalovat programy "na čisto".

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz