Linux E X P R E S

Facebook

Wine aneb Nalijme si čistého vína

Název projektu Wine obsahuje rekurzi Wine Is Not Emulator. A tato věta je pravdivá. Ačkoli Wine většina uživatelů chápe jako jeden z emulátorů, není to přesné. Řečeno slovy autorů Wine: "Wine je překladová vrstva (a zavaděč programů) schopná umožnit běh aplikací z Windows na Linuxu nebo na jiném operačním systému kompatibilním s normou POSIX." Lubomír Čevela.


V praxi umožňuje Wine Linuxu přímo spouštět aplikace napsané pro Windows 9x/NT/2000/XP, ale také z Windows 3.1 a DOS. Díky tomu, že se Wine obejde bez emulace PC, je běh pod ním spuštěných aplikací velice rychlý a zhruba odpovídá rychlosti jejich běhu pod Windows, což je především z pohledu počítačových hráčů zásadní vlastnost. Přidáme-li k ní ještě sice ne zcela úplnou, ale ve mnoha případech fungující podporu Direct3D, začíná nasazení Linuxu jako herní platformy dávat smysl i za současného stavu, kdy je drtivá většina her vytvářena pouze pro Windows. Stejně tak může Wine pomoci při nasazení Linuxu ve firemním prostředí tím, že umožní běh programům z Windows pro danou společnost životně důležitým. Jako každá věc má dvě strany, tak i současná verze Wine má kromě svých skvělých vlastností jednu nevýhodu. Zdaleka ne všechny programy pod ním fungují.

Proto je velkou pomocí databáze kompatibilních aplikací, kterou najdete na domovských stránkách Wine. Z těch nejznámějších bych chtěl uvést Microsoft Office, který je pod Wine funkční vyjma MS Outlooku. Dále Microsoft Internet Explorer (návod), iTunes, DVD Shrink, Adobe Photoshop a Corel Draw. Dle mých zkušeností se pod Wine nejlépe provozují starší aplikace napsané pro Windows 9x a NT, nejhůře programy napsané pro DOS. Ovšem vzhledem k tomu, že existují kvalitní emulátory DOSu, dosemu a DOSBox (články v dubnovém čísle), nepovažuji tuto nevýhodu za zásadní.

Obrázek: PSPad

Wine je též možné využívat k "portaci" windowsových aplikací do Linuxu. Díky licenci LGPL může být Wine slinkován a distribuován spolu s komerční aplikací. Vzpomínáte si na linuxovou verzi programu Corel Draw? Šlo o mírně upravenou windowsovou verzi programu, která běžela pod Linuxem právě díky Wine.

Obrázek: Wordpad

Ovládání

Pro spuštění libovolné "okenní" aplikace stačí do příkazové řádky napsat:

wine název_okenní_aplikace_včetně_přípony

například wine VirtualDub.exe a Wine se ji pokusí spustit. Obdobným způsobem se spouští instalace aplikací. Může se vám stát, že Wine nedokáže spustit vámi vybraný program. Ani pak ještě není vše ztraceno. Při správné konfiguraci dokáže Wine mnohem více, než byste na počátku očekávali.

Konfigurace

Wine si standardně vytváří adresář .wine v domovském adresáři uživatele. Tento adresář obsahuje nejen konfigurační soubory Wine, ale též základní adresáře Windows a Program Files s kompletní adresářovou strukturou. Po instalaci balíčku RPM chybí v adresáři ~/.wine soubor config - konfigurační soubor Wine. Ten může být například vytvořen při běhu konfiguračního nástroje winesetuptk. Spustíte jej z konzole pomocí příkazu winesetuptk a můžete se nechat provést jeho volbami. Kompletní nastavení téměř všech voleb Wine je díky tomuto nástroji velice snadné. Balíček s aplikací winesetuptk je možné získat např. ze stránek www.rpmfind.net.

Obrázek: Konfigurace Wine - winesetuptk

Dáváte-li přednost "ruční" textové konfiguraci, považuji za nejsnadnější postup stažení konfiguračního souboru například z webových stránek časopisu a jeho následnou editaci. Konfigurační soubor obsahuje cesty k jednotkám, které bude Wine považovat za diskové jednotky, nastavení cest k jednotlivým interním adresářům adresářové struktury napodobující stejnou strukturu ve Windows, nastavení knihoven, které má Wine používat, portů, cest k souborům s obsahem registru a mnoho dalšího. Zde se neobejdete bez studia dokumentace. Podrobné HOWTO obsahující mnoho praktických příkladů, jak nakonfigurovat diskové oblasti, podporu DLL knihoven, podporu tiskáren atd. je k nalezení například na stránkách http://www.la-sorciere.de/wine/index.html .

Jednou ze zajímavostí konfiguračního souboru je možnost mít pro každou aplikaci odlišné nastavení Wine. Pro tento účel mohou být pro kteroukoli aplikaci vytvořeny sekce ve formátu [AppDefaults\\jméno_aplikace\\sekce_ve_Wine], obsahující stejné parametry jako "generické" sekce. Například pro MS Internet Explorer:

[AppDefaults\\explorer.exe\\x11drv]
"Desktop" = "800x600"
"Managed" = "N"

Pro automatickou instalaci MS Internet Exploreru 6 a Windows Media Playeru 7.1 je k dispozici program Sidenet Wine configuration utility původem z Japonska, který po spuštění dokáže stáhnout oba programy z webu Microsoftu a nainstalovat je do vašeho Wine. Jenom podotýkám, že bez platné licence k Windows je takováto instalace nelegální.

Při používání Wine se mohou hodit nástroje dodané jako jeho součásti. Například příkazová řádka Wine, kterou spustíte přímo z linuxové (unixové) konzole pomocí příkazu wcmd. Obdobně můžete používat souborový manager winefile, notepad, regedit a prohlížeč nápovědy winhelp. K dispozici je též poměrně mladý nástroj winecfg, který na rozdíl od skvělého winesetuptk umí editovat jen některé volby konfiguračního souboru. Seznam těch podporovaných naleznete na http://www.winehq.com/site/status_options . Osobně mám se staršími verzemi programu winecfg velice špatné zkušenosti; např. jeho první verze nepracovaly se skutečným souborem config, ale s jakousi interní kopií.

Při výčtu nástrojů dodaných s Wine bych neměl zapomenout na nástroj winelauncher, který je jakýmsi zastřešujícím programem pro spouštění některých funkcí Wine. Umí spustit winecfg, zobrazit log, "debugovat" Wine, zobrazit, co se ve Wine právě děje, umožnit spouštění aplikací bez použití příkazové řádky přímo z KDE a několik dalších úkonů. Osobně jsem tomuto nástroji moc "nepřišel na chuť" a dávám přednost kvalitně zpracovanému konfiguračnímu souboru a přímému spouštění Wine tak, jak jsem už uvedl v odstavci "Ovládání".

Obrázek: Konfigurační nástroj Wine - winecfg

Některé aplikace při spuštění pomocí Wine tvrdohlavě vyžadují knihovny z Windows, které dosud nejsou Wine plně podporovány. Máte-li platnou licenci Windows, možná se vám vyplatí pokusit se uvedené knihovny zkopírovat z Windows přímo do Wine a následně editovat sekci DllOverrides konfiguračního souboru, buď pro celé Wine, nebo v sekci AppDefaults\\jméno_aplikace\\sekce_ve_Wine. Totéž platí pro záznamy z registru Windows nebo z INI souborů. Jde o mnohdy pracný postup, na jehož konci je ale normálně fungující aplikace, který by jinak pod Linuxem neběžela.

Kromě základního Wine, který najdete v mnoha linuxových distribucích, jsou uživatelům k dispozici jeho dvě komerční verze. Vznikly doplněním Wine o uživatelsky přívětivé grafické rozhraní a o některé technologie, nepatřící do světa svobodného softwaru. První z nich je Cedega od kanadské společnosti TransGaming Technologies, druhá je od společnosti CodeWeavers, jmenuje se CrossOver Office.

Cedega

Už z názvu společnosti TransGaming Technologies je možné odhadnout, na co je tato vylepšená verze Wine zaměřena. Ano, uhodli jste emulátor Cedega je zaměřen na hráče počítačových her. Díky kvalitnímu grafickému uživatelskému rozhraní je v něm možné komfortně instalovat a spouštět "okenní" hry bez nutnosti práce v příkazové řádce.

Obrázek: Cedega

Pokud vám jméno Cedega nic neříká, je to možná tím, že se do poloviny roku 2004 produkt jmenoval WineX. Není problém mít současně nainstalovaný Cedega i Wine. Instalace prostředí Cedega si totiž standardně vytváří svůj kořenový adresář transgaming_cedega v domovském adresáři uživatele. Kořenový adresář obsahuje nejen nainstalovaný emulátor, ale též strukturu adresářů napodobující tu z Windows. Cedega má svoje vlastní okno, v němž probíhají instalace her nebo jiných "okenních" aplikací a též jejich spouštění. Časově omezenou verzi emulátoru Cedega je možné stáhnout si na stránkách výrobce. Instalace demoverze je obdobná jako u programů pod Windows včetně pro uživatele Linuxu nezvyklé autorizace po internetu.

Obrázek: Cedega - instalace

A čím se Cedega krom uživatelského rozhraní liší od Wine? Obsahuje tři copyrightované technologie, z toho dvě - MSVCRT Runtime library a MFC components - jsou přímo od Microsoftu. Emulátor Cedega je, jak už jsem uvedl, komerční produkt. V současné době jej výrobce na svých stránkách nabízí pouze ve formě služby s minimální objednávkou 15 USD za tři měsíce. Ačkoli je Cedega placený produkt, jeho zdrojové kódy jsou v souladu s licencí GNU LGPL (vztahující se k Wine) k dispozici ke stažení pomocí CVS.

CrossOver Office

Druhá komerční verze míří do řad firemních uživatelů. Je od společnosti CodeWeavers, jmenuje se CrossOver Office a umožňuje pohodlnou práci nejen s Microsoft Office, ale též s aplikacemi Lotus Notes, MS Project, MS Visio, Macromedia Dreamweaver MX, Flash MX, Adobe Photoshop a mnoha dalšími. Instalační soubor zkušební verze najdetena stránkách CodeWeavers. Instalace CrossOver Office se opět podobá spíše instalaci windowsových programů, ale je na rozdíl od programu Cedega bez obtěžující autorizace.

Obrázek: Instalace CrossOver Office

Jednotlivé funkce ovládání CrossOver Office programátoři zpřístupnili např. pomocí menu KDE. Instalační "wizard" CrossOver Office obsahuje předvolby pro mnoho běžně používaných aplikací. Díky nim je instalace a provoz těchto aplikací v CrossOver Office téměř bez rizika neúspěchu. Samozřejmě emulátor umožňuje instalovat stejně jako Cedega neznámé programy. Ovšem bez záruky. Instalace CrossOver Office je bez konfliktu s oběma předchozími emulátory Wine a Cedega. Její binární soubory standardně najdete v /opt/cxoffice a adresářovou strukturu "virtuálních windows" CrossOver Office přidává do adresáře .cxoffice do domovského adresáře uživatele.

Obrázek:CrossOver Office - instalace aplikací

CrossOver Office je placená aplikace a je nabízena v několika verzích - Standard, Professional a Server. Základní verze Standard uživatele vyjde na 39,95 USD. Zdrojový kód CrossOver Office je k dispozici ke stažení přímo ze stránek společnosti. Je jasné, že mezi všemi třemi verzemi Wine probíhá čilá výměna zdrojového kódu. Například si vzpomínám, že před nějakým časem původní Wine neobsahoval podporu Direct3D.

Emulovat, či neemulovat?

Mezi uživateli Linuxu se o potřebu emulátorů vedou spory už velice dlouho. Odpůrci emulátorů tvrdí, že čím lepší bude běh nativní "okenní" aplikace v emulátoru, tím menší bude pravděpodobnost, že se daná aplikace dočká svojí skutečné linuxové verze. Dle mého mínění tento argument v současnosti neobstojí. Mnoho výrobců komerčních aplikací Linux ignoruje, ať už jejich aplikace pod Wine běží, nebo ne. A těm, kteří nad portací váhají, by mohla pomoci právě její snadnost za pomoci Wine. Snad jediný argument hovoří proti Wine a dalším emulátorům. Linux je dosud prakticky imunní vůči počítačovým virům a právě tuto "mezidruhovou bariéru" může kvalitně fungující Wine narušit. I přes tento fakt patří Wine mezi klíčové technologie, které pomáhají Linuxu prorazit začarovaný kruh nedostatku aplikací a nízkého počtu desktopových uživatelů.

Diskuze (2) Nahoru