Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto...

30
UNIVERZITA PALACKÉHO V OLOMOUCI Pedagogická fakulta Katedra technické a informační výchovy Mgr. Miroslav Novotný 2. ročník – program celoživotního vzdělávání Program: Informatika – učitelství pro ZŠ Uživatelský software v operačním systému GNU/Linux Závěrečná písemná práce Vedoucí závěrečné písemné práce: Mgr. Jan Kubrický Olomouc 2013

Transcript of Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto...

Page 1: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

U N I V E R Z I T A P A L A C K É H O V O L O M O U C I

Pedagogická fakulta

Katedra technické a informační výchovy

Mgr. Miroslav Novotný

2. ročník – program celoživotního vzdělávání

Program: Informatika – učitelství pro ZŠ

Uživatelský software v operačním systému GNU/Linux

Závěrečná písemná práce

Vedoucí závěrečné písemné práce: Mgr. Jan Kubrický

Olomouc 2013

Page 2: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Prohlášení

Prohlašuji, že jsem závěrečnou písemnou práci zpracoval samostatně a použil jen uvedených

pramenů, literatury a elektronických zdrojů.

V Konici dne 20. března 2013 Mgr. Miroslav Novotný

Page 3: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Obsah

1 Úvod........................................................................................................................................4

2 Popis systému.........................................................................................................................5

2.1 Prostředí operačního systému Linux...............................................................................5

2.2 Emulace a virtualizace....................................................................................................6

2.2.1 Možnosti emulace a virtualizace............................................................................6

2.2.2 DOSBox.................................................................................................................8

2.2.3 Virtual Box...........................................................................................................10

2.3 Wine..............................................................................................................................11

2.3.1 Charakteristika Wine............................................................................................11

2.3.2 Instalace Wine......................................................................................................12

2.3.3 Konfigurace Wine.................................................................................................14

2.3.4 Winetricks.............................................................................................................18

3 Praktické aplikace...............................................................................................................19

3.1 Internet Explorer...........................................................................................................19

3.2 Bakaláři.........................................................................................................................20

3.3 Výukové programy.......................................................................................................23

3.3.1 Terasoft.................................................................................................................23

3.3.2 Didakta.................................................................................................................26

3.3.3 BSP multimedia....................................................................................................27

4 Závěr.....................................................................................................................................28

5 Použité zdroje informací.....................................................................................................30

Page 4: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

1 ÚvodK volbě tématu této práce mě především vedla moje preference svobodného softwaru

spojená s postem učitele informatiky na základní škole a současně na gymnáziu. Navíc

zastávám funkci koordinátora ICT a správce školní sítě. Mám tedy na problematiku využívání

svobodného softwaru náhled z více směrů. Jednak z pohledu učitele, který se na používaný

software dívá především didakticky, jednak z pozice ICT koordinátora, který mimo jiné

dohlíží na licence k softwaru používanému ve škole, s čímž souvisí i otázka finanční

náročnosti. A za třetí se na problematiku dívám z pohledu správce sítě, čili z hlediska

technického.

Pokud jde o nasazení svobodného softwaru v instituci – tedy přesněji nasazení softwaru

se svobodnou licencí – mám na mysli situaci, kdy svobodný je jak operační systém, tak

aplikace. V současnosti tomuto stavu odpovídá nejčastěji nasazení GNU/Linux a příslušného

aplikačního softwaru, většinou obsaženého přímo v distribuci nebo jejích komunitních

repozitářích. V praxi se často řeší otázky celkových nákladů při srovnání použití Windows

vs. Linux, či další hlediska při použití Linuxu místo Windows. Tímto problémem se zabývá

hodně zdrojů, např. [1]. Tato práce řeší podmnožinu této problematiky, kdy jsme již

rozhodnuti Linux použít, shledali jsme vhodnými mnohé nativní aplikace, ale vyvstala před

námi potřeba použití (byť třeba jen jediné) aplikace určené pro Windows.

Předkládaná práce se snaží ukázat možný přístup k problematice, jak provozovat

windowsové aplikace pod Linuxem. Je členěna na dvě části. V první části můžeme nalézt

přehled možností, které se nám nabízejí, chceme-li v Linuxu provozovat ne-nativní aplikace.

Obsah této části je upřen především na hlavní objekt mé práce – API wrapper Wine. Druhá

část práce je praktická, neboť je zde na konkrétních případech aplikací předvedeno, jak lze

postupovat. Jednotlivé případy byly mnou odzkoušeny, takže u uvedených aplikací bude

uvedeno i posouzení funkčnosti a vhodnosti dané aplikace. Výběr praktických aplikací byl

přizpůsoben školnímu prostředí - a to jak pro potřeby výuky (např. výukové programy), tak

pro nevýukové potřeby škol (např. software Bakaláři).

Hlavním cílem mé práce je souhrn poznatků pro použití software Wine pod operačním

systémem GNU/Linux a následně praktická aplikace těchto poznatků. Praktická aplikace

spočívá v testování chování vybraných windowsových programů při jejich provozu pomocí

Wine. Při testech bude hodnocena funkčnost a uživatelská použitelnost vybraných programů.

4

Page 5: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

2 Popis systému

2.1 Prostředí operačního systému Linux

Pokud se řekne Linux, myslí se tím většinou celý operační systém, i když striktně

bychom měli pojmem Linux označovat jádro (kernel) – původně dílo Linuse Torvaldse. To, co

dostane uživatel, je linuxový kernel spolu se systémovými nástroji a velkým množstvím

aplikací souhrnně v tzv. linuxové distribuci. Linux a většina software pro něj se řadí do

kategorie svobodného software, též označovaného jako open source software. Svobodné

licence (nejčastěji nějaká varianta GNU/GPL) totiž vyžadují, aby byl spolu se softwarem šířen

i zdrojový kód – odtud pojem open source.

Správný název by tedy byl GNU/Linux. Toto označení jednak vyjadřuje fakt, že se

jedná o svobodný software, a také fakt, že Linux je jenom jádro, ne celý systém. Tohoto

striktního označení se dnes drží zejména komunita vydávající distribuci Debian. Většinou se

ale setkáme s jistým zjednodušením, kdy se pojem Linux používá pro celý operační systém.

Pokud bude v této práci použit pojem Linux, bude tím míněno totéž – operační systém,

postavený na linuxovém jádru.

Pro potřeby této práce uvádím popis linuxového operačního systému v rozsahu, který se

dotýká samotné problematiky spouštění aplikací napsaných pro Windows. Proto zde budou

uvedeny z oblasti správy a údržby systému jen ty oblasti, které se této problematiky

bezprostředně dotýkají. Výchozím bodem bude stav, kdy máme nainstalovaný a zprovozněný

systém a hodláme řešit potřebu spouštění windowsových aplikací.

Systém Windows se instaluje vždy s grafickým interpretem. Uživatel nemá možnost

instalace bez grafického interpretu ani možnost výběru mezi více grafickými interprety.

V Linuxu tyto možnosti máme. Instalace pouze s řádkovým interpretem se používá zejména u

serverů, kde grafický interpret není třeba a často není ani žádoucí. I zde máme na výběr mezi

interprety – nejčastěji se ale používá řádkový interpret BASH. Na pracovní stanici se

prakticky vždy používá grafický interpret, nicméně práci v řádkovém interpretu se ani zde

zcela nevyhneme.

Grafický interpret (grafické prostředí) se v systémech unixového typu řeší pomocí

softwaru X Window System, zkráceně též X11 nebo též prostě X. Nad X11 se spouští

samotné grafické uživatelské rozhraní (GUI). X11 obsahuje i jednoduchého správce oken

(window manager), jednotlivá GUI ale často používají svého vlastního správce oken.

Důsledkem této filozofie je skutečnost, že uživatel na unixových systémech, tedy i na Linuxu,

5

Page 6: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

může narazit na různá GUI a systém se tedy vizuálně může jevit v různých případech dosti

odlišně. Nejčastější grafická prostředí jsou:

• KDE – K Desktop Environment. Prostředí vizuálně podobné MS Windows. Má bohaté

možnosti přizpůsobení jak funkčnosti, tak vzhledu. Balík KDE obsahuje i hodně

aplikačního softwaru, který je dobře integrován do prostředí. Tyto aplikace lze

nainstalovat i do jiných GUI, stačí spolu s nimi nainstalovat i QT knihovny.

• GNOME – toto GUI je vytvořeno s důrazem na jednoduchost ovládání i pro méně

zkušené uživatele, kdy pokročilejší funkce jsou skryty, aby uživatele nemátly. Tento

fakt je občas kritizován. GNOME využívá knihovny GTK, které byly původně

vytvořeny pro grafický editor GIMP.

• UNITY – rozhraní vytvořené společností Canonical, která jej používá ve své distribuci

Ubuntu. Podobně jako GNOME je zaměřeno na jednoduchost a přímočarost, navíc s

ohledem na možnost použití dotykového displeje. UNITY je poměrně novátorské

rozhraní a dělí uživatele v podstatě na dvě skupiny: jedni jej uznávají, druzí nikoliv.

• Xfce, LXDE – tato GUI uvádím pohromadě, neboť mají podobné vlastnosti i vzhled.

Jedná se o „lehká“ prostředí s nízkými nároky na výkon hardwaru. Používají se buď

na starších strojích a nebo je používají uživatelé, kteří preferují graficky jednoduché a

svižné prostředí bez zbytečných okras. Vzhledově jsou tato prostředí velmi podobná

Windows 2000, nebo spíše Windows XP s nabídkou Start přepnutou do klasického

provedení.

Hardwarová náročnost již byla zmíněna u prostředí Xfce a LXDE. Oproti těmto

prostředím jsou prostředí KDE, GNOME a UNITY graficky propracovaná, s většími nároky

na výkon hardwaru. Aby veškerý výpočetní výkon neležel na bedrech procesoru, používá se

grafická akcelerace pomocí procesoru na grafické kartě. Pro všechny dostupné grafické efekty

je nutno mít na grafické kartě funkční 3D akceleraci. Je to situace podobná jako u grafického

systému Windows Aero, použitého ve Windows Vista a Windows 7.

Pro naše potřeby není důležité, jaké GUI z uvedených budeme používat. Osobně

preferuji prostředí KDE, proto většina screenshootů bude provedena v KDE.

2.2 Emulace a virtualizace

2.2.1 Možnosti emulace a virtualizace

Tato problematika je široká – od špičkových profesionálních řešení až po řešení pro

běžné uživatele doma či ve školách. Přidržím se druhé varianty.

6

Page 7: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Emulace znamená napodobení funkcí jiného zařízení či softwaru tak, aby v určitém

systému (architektuře) bylo možno provozovat zařízení či software určené pro jiný systém.

Pro naši problematiku je podstatná softwarová emulace. V [2] je emulace uváděna jako

speciální případ virtualizace. Konkrétně emulace softwarová vytvoří v hostitelském systému

podmínky, aby spouštěné aplikaci (která je určena pro jiný systém) poskytla kompatibilní

prostředí a služby, a to takovým způsobem, aby tato byla schopna běhu.

Podle výše zmíněného [2] je virtualizace chápána jako obecnější, nadřazený případ.

Obecně vzato, virtualizace je široký pojem. Pro potřeby naší problematiky se omezíme na

virtualizaci za účelem spouštění aplikací určených pro jiný než hostitelský operační systém.

V tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se

v zásadě dělí na dvě řešení:

• Virtuální server (VS) – v jednom operačním systému je spuštěno více samostatných

serverů.

• Virtuální stroj (Virtual machine, VM) – na jednom počítači může být spuštěno více

operačních systémů v různých virtuálních strojích. Na hostitelském počítači je

nainstalován software na správu virtuálních strojů – virtual monitor.

Virtuální servery běží na jednom kernelu hostitelského systému a jsou od sebe odděleny

na úrovni procesů. Pokud máme zůstat v rámci naší problematiky, z uvedené dvojice možností

pro nás připadá v úvahu druhá možnost.

V tom případě je situace následující. V hostitelském (host) systému je nainstalován

virtualizační software (virtual monitor), kterým se vytvoří virtuální stroj emulující určitý

hardware a do tohoto virtuálního stroje se nainstaluje požadovaný hostovaný (guest) operační

systém, ve kterém lze spouštět potřebné aplikace. Výhody tohoto řešení jsou:

✔ Na rozdíl od emulace (jak bude popsáno dále) zde nejsou žádná softwarová omezení,

protože z hlediska hostovaného operačního systému se virtuální stroj jeví jako fyzický

stroj.

✔ Uživatel má k dispozici plnou funkčnost systému. Může pracovat s plným

oprávněním, aniž by ohrozil hostitelský systém. Toto je velmi výhodné pro pokusy,

testování softwaru či výuku

Naproti tomu nevýhody jsou následující:

✗ Pokud potřebujeme hostovaný systém pouze pro spouštění určité aplikace, je spouštění

a běh virtuálního stroje pouze z tohoto důvodu poněkud těžkopádným řešením.

✗ Někdy není zcela snadné či pohodlné sdílení dat mezi hostitelským a hostovaným

7

Page 8: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

systémem.

✗ Při instalaci do virtuálního stroje musíme dodržovat licenční podmínky. To znamená,

že v případě operačního systému Windows jako hostovaného systému musíme mít

zakoupenu licenci.

V případě použití pouhého emulátoru jsou jeho vlastnosti po stránce výhod a nevýhod

prakticky „inverzní“. Emulátor má následující výhody:

✔ Adresářová struktura emulátoru je vytvořena přímo v adresářové struktuře

hostitelského systému. Z toho plyne, že sdílení dat mezi hostitelským systémem a

aplikací běžící v emulátoru je snadné.

✔ Emulátor se nainstaluje jako běžná aplikace do systému a je připraven k použití. Není

třeba spouštění žádného hostovaného operačního systému před spouštěním aplikace.

✔ Emulátor pouze vytváří prostředí vhodné pro běh dané aplikace. Není to operační

systém a tudíž nejsme licenčně vázáni k výrobci operačního systému, jehož prostředí

emulujeme. (Pokud nepoužijeme pro běh aplikace části systému – např. knihovny,

které podléhají licenci.)

Naproti uvedenému jsou nevýhody emulátoru oproti plnohodnotnému operačnímu

systému:

✗ Oproti plnohodnotně nainstalovanému systému jsou funkce emulátoru omezeny, často

je emulátor přímo optimalizován pro určitý typ aplikací (např. hry). Tvůrce emulátoru

zveřejňuje seznam aplikací, u kterých byla ověřena funkčnost či nefunkčnost.

Předmětem této práce je spouštění aplikací v emulátoru, virtualizace je uvedena jen pro

nástin problematiky. Dále bude představen emulátor DOSBox, virtualizační software Virtual

Box a jako poslední software Wine. V případě Wine se nejedná o čistý emulátor, ale

především je hlavním předmětem této práce. Proto bude probrán v širším záběru.

2.2.2 DOSBox

Jak název napovídá, slouží k emulaci prostředí systému MS-DOS. V [4] jsou uvedeny

základní vlastnosti tohoto emulátoru. Emuluje pro aplikace prostředí MS-DOSu „běžícím“ na

procesoru 286/386 v reálném nebo chráněném režimu. DOSBox je zaměřen především na

podporu starých DOSových her, v [4] je mimo jiné uveden i soupis podporovaných her. Z

toho vyplývá, že je kladen důraz na emulaci starého hardwaru potřebného pro hry: zvukové

karty, myši, joysticky a dále emulace modemového spojení, spojení po sériovém portu, či

síťové spojení pomocí emulace IPX/SPX protokolu. Kromě her je samozřejmě možno

8

Page 9: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

spouštět i jiný software. DOSBox je tak dobrá volba, pokud potřebujeme spouštět staré

DOSové aplikace.

Z hlediska výpočetního výkonu je DOSBox neefektivní. Uvádí se, že pro hostitelský

počítač s procesorem Pentium 4 (3 GHz) je emulovaný výkon přibližně na úrovni procesoru

Pentium. Tato vlastnost je ale mnohdy výhodou, neboť jinak bývá problém s neschopností

běhu starých DOSových aplikací na rychlých procesorech (tzv. chyba 200 – dělení nulou).

DOSBox je postaven na SDL knihovnách, což umožňuje jeho portování na různé

platformy: Windows, Linux, MacOS, BSD, BeOS a další. Práce s programem probíhá v

příkazové řádce. Na zdrojové wiki [4] je podrobná dokumentace, zde bych jako příklad práce

s programem uvedl pouze nejčastější činnost, a to připojení adresáře jako virtuálního disku

DOSBoxu.

Po spuštění DOSBoxu se objeví následující okno s příkazovým řádkem a stručnými

základními instrukcemi (obr. 1). Je vytvořen disk Z:, který slouží jako „systémový“ pro

DOSBox. Stačí již jen připojit adresář s aplikacemi jako disk pod požadovaným písmenem

(nejčastěji C:). Připojení se děje příkazem mount, podobně jako v unixových systémech.

Syntaxe příkazu je např.:

mount c ~/dos-apps

Zároveň stojí za připomenutí, že písmeno disku se v příkazu píše bez dvojtečky. Zbylá

část příkazu je adresář, který se připojuje jako disk. Po jeho připojení je možno pracovat v

DOSovské příkazové řádce nebo použít pro zvýšení komfortu některý dobový souborový

manažer (M602, Norton Commander, apod.)

Pro rychlou nápovědu slouží příkaz intro. Pokud nás zajímá konkrétní příkaz,

napíšeme např. intro mount. Funkčnost je tedy podobná jako u příkazu man v Linuxu. Na

obr. 2 je jako ukázka běh textového editoru T602.

9

Obr. 2: Textový editor T602 v DOSBoxu Obr. 1: Úvodní obrazovka DOSBoxu

Page 10: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

2.2.3 Virtual Box

Virtual Box je virtualizační software, který je v současnosti vyvíjený za podpory

společnosti Oracle pod licencí GNU/GPL. Je multiplatformní, podporovány jsou hostitelské

operační systémy Windows (XP a novější), většina linuxových distribucí, Mac OSX, Solaris a

Open Solaris. Výčet hostovaných operačních systémů je obsáhlý, a proto je uveden na [5],

odkud jsou čerpány i ostatní informace o Virtual Boxu.

Umožňuje vytváření virtuálních strojů, jejich správu a spouštění. Podporuje řadu

formátů virtuálních strojů a virtuálních pevných disků (podrobnosti v [5]).

Virtual Box je podobný MS Virtual PC 2007. Má některé zajímavé vlastnosti, např.

dobrou podporu USB zařízení, sdílené složky (snadný přenos souborů mezi hostitelským

a hostovaným systémem). Zajímavá a praktická vlastnost je Seamless Mode (bezešvý mód),

kdy jsou okna hostovaného systému včleněna do prostředí hostitelského systému (obr. 3). Tato

práce je sice věnována spouštění windowsových aplikací po Linuxem pomocí softwaru Wine,

ale Seamless Mode Virtual Boxu může být poslední (a vcelku vhodná) záchrana v případě že

námi požadovanou aplikaci nelze spustit pod Wine. Musíme ovšem vlastnit licenci k

Windows.

10

Obr. 3: Windows XP v Seamless Mode v OpenSUSE 12.1 (prostředí KDE)

Page 11: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

2.3 Wine

2.3.1 Charakteristika Wine

Software Wine je hlavním objektem této práce. Podle [6] je název Wine akronym: Wine

Is Not an Emulator. Je označován jako vrstva zajišťující kompatibilitu a schopnost běhu

windowsových aplikací na některých operačních systémech odpovídajících standardu POSIX.

Konkrétně jsou uváděny: Linux, Mac OSX, BSD a Solaris.

Místo toho, aby Wine simuloval vnitřní logickou strukturu Windows, jako to dělají

virtuální stroje nebo klasické emulátory, Wine překládá volání Windows API přímo za běhu

aplikace na volání POSIXová. Z hlediska efektivity a výpočetního výkonu se dosahuje

příznivějších poměrů než při emulaci nebo virtualizaci. Další výhodou je čistá integrace

windowsové aplikace do hostitelského prostředí, jak je uvedeno v [6]. Tato metoda se někdy

označuje jako API wrapper (obálka).

Jak už bylo řečeno, Wine sice není emulátor, ale svou povahou má blíže k emulátoru

než k virtuálnímu stroji. S tím souvisí i jedna vlastnost pro emulátory typická: Není zaručen

zdárný běh jakékoliv aplikace, byť na skutečném systému Windows běží bez problému. Na

[6] je databáze otestovaných aplikací ohledně funkčnosti pod Wine. Praxe ukazuje, že vývoj

Wine je docela dynamický, což je bezesporu dobře. Bohužel se však mohou z tohoto důvodu

vyskytnout regrese, kdy novější verze Wine může (spíše výjimečně) přinést i nefunkčnost

aplikace, která v předešlé verzi byla funkční. Pokud uživatel není zrovna fanoušek do

testování funkčnosti různých aplikací, pravděpodobně využívá Wine k běhu jedné či několika

málo aplikací. Pak ovšem, pokud se stávající verze wine jeví jako bezproblémová, není třeba

za každou cenu instalovat novou verzi.

Wine je svobodný software, šířený pod licencí GNU/LGPL. Asi polovina kódu je

tvořena komunitou dobrovolníků, zbytek je sponzorován komerčními subjekty, zejména

společností CodeWeavers. Tato společnost prodává produkt CrossOver, což je v podstatě

Wine konfigurovaný a optimalizovaný zejména pro běh důležitých aplikací typu MS Office

apod. Dále například existuje placený produkt Cedega, který je odnož (fork) Wine z doby, kdy

ještě nepodléhal svobodné licenci GNU/LGPL. Tento produkt je zaměřen na hry. Hlavní úsilí

jeho tvůrců se napíná do implementace „herních“ technologií, zejména DirectX.

Následující části se budou zabývat podrobnější specifikací, instalací a konfigurací Wine.

Struktura POSIXových systémů je v mnoha rysech obdobná, proto většina informací bude mít

všeobecnou platnost. Veškeré praktické postupy pro účely této práce však probíhaly na této

konfiguraci:

11

Page 12: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

počítač: AMD Athlon 64 X2 4000+ (2,1 GHz), 4 GB RAM, Nvidia GeForce 7300GT

systém: linuxová distribuce OpenSUSE 12.2 64bit, grafické prostředí KDE v4.8.5

Wine: verze 1.4.1 (stable)

Proto screenshooty a některé informace budou poplatné uvedené konfiguraci. Oproti

jiným linuxovým distribucím budou rozdíly minimální, největší rozdíly budou ve způsobu

instalace. Kromě svého, výše uvedeného systému, provozuji Wine ještě v zaměstnání na

distribuci Ubuntu. Zde se mi potvrdilo výše zmíněné: jediný viditelnější rozdíl je ve způsobu

instalace.

2.3.2 Instalace Wine

Instalace Wine probíhá obdobně jako instalace jiné aplikace na Linuxu. Doby, kdy

uživatel musel stáhnout zdrojové kódy a pro svůj systém si aplikaci zkompilovat a poté

nainstalovat, jsou už dávno pryč. Kompilace se používá ve speciálních případech, například

při optimalizaci aplikací na určitý hardware. V případě desktopu si vystačíme

s kompilovanými hotovými binárními balíčky. Balíčky dané aplikace při instalaci vyžadují

často další balíčky, tyto balíčky mohou vyžadovat další, atd. Jedná se o tzv. závislosti balíčků.

Uživatel mohl tak být postaven do situace, kdy pracně sehnal balíček (popř. si ho

zkompiloval) a při instalaci byl dotázán na další balíček, atd.. Proto bylo vhodnější si

závislosti instalovaného balíčku zjistit a nachystat si potřebné balíčky předem. Toto byl jeden

z prvků, které Linux činily pro běžné uživatele poněkud uživatelsky nepřívětivým.

Dnes prakticky všechny linuxové distribuce, které se snaží být přívětivé pro uživatele,

používají pro instalaci a aktualizaci softwaru tzv. repozitáře. Repozitář je adresář se

zkompilovanými balíčky. Většinou je umístěný na webu, ale jako repozitář je možné připojit

i lokální adresář s balíčky vlastními. Uživatel nemusí procházet repozitáře ručně. Má

k dispozici správce balíčků, který kontroluje verze balíčků obsažených v repozitářích a verze

balíčků nainstalovaných v systému a přehledně je zobrazuje včetně verzí. Může také

automaticky nabízet aktualizace v případě výskytu vyšší verze. Po vybrání balíčku k instalaci

nebo aktualizaci si správce balíčků ověří závislosti a zajistí případné stažení požadovaných

dalších balíčků. Po potvrzení uživatelem dojde ke stažení balíčků, instalaci a patřičné

konfiguraci systému a je hotovo. Díky tomu, že repozitáře jsou velmi obsáhlé, pro běžného

uživatele prakticky vymizel problém se závislostmi balíčků.

Pomocí repozitářů se instaluje nebo aktualizuje v systému prakticky všechno. Od

kernelu, jaderných modulů a ovladačů až po „nejposlednější“ aplikaci. Veškerý software je

tak spravován jednotně a centrálně, což je pro uživatele velmi komfortní.

12

Page 13: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Každá linuxová distribuce používá určitý balíčkovací systém a svého správce balíčků.

OpenSUSE používá balíčkovací systém RPM a jako správce balíčků je použit modul Správce

programů, který je součástí ovládacího centra YAST (obr. 4). K dispozici je ještě Zypper, což

je správce pro příkazový řádek. Ve Správci programů se zobrazují balíčky ze všech repozitářů,

které máme připojeny (obr. 5).

Častá je situace, kdy daný software (v tomto případě wine) je obsažen v hlavním

repozitáři distribuce a zároveň je možnost připojit si komunitní repozitář zaměřený výhradně

na daný software. Zde jsou pak většinou novější a častěji aktualizované verze. Tato možnost

v OpenSUSE existuje. Máme tak na výběr mezi různými verzemi Wine. Občas se stává i to,

že balíčky v různých repozitářích jsou zkompilovány s různými parametry a software má pak

odlišnou podporu různých funkcionalit. S tímto jsem se ale u Wine nesetkal. Pro potřeby této

práce byla použita verze 1.4.1 z hlavního repozitáře distribuce. Ve stejné době byla v

repozitáři Vývojové verze Wine k dispozici verze 1.5.1.

13

Obr. 4: Ovládací centrum YAST v OpenSUSE

Page 14: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

2.3.3 Konfigurace Wine

Wine jako takový není software, který musí uživatel ručně spouštět před spuštěním

samotné aplikace (tak jako u klasického emulátoru – např. DOSBoxu). Wine při instalaci

nakonfiguruje systém tak, že spustitelné windowsové soubory (.exe) jsou zasociovány tak, že

si při pokusu o spuštění zavolají Wine. Tak to platí při spouštění z některého grafického

správce souborů – v mém případě z Dolphinu nebo Krusaderu. V případě spouštění aplikace

pomocí příkazového řádku je třeba specifikovat, že jde o Wine. V podstatě spouštíme Wine,

jehož parametrem je windowsová aplikace. Např.:

wine ~/downloads/setup.exe

Předtím, než pod Wine spustíme první aplikaci, musí proběhnou konfigurace prostředí

Wine. Konfigurační utilitu můžeme spustit kdykoliv příkazem winecfg. Objeví se následující

okno (obr. 6):

14

Obr. 5: Správce programů s nainstalovaným software Wine

Page 15: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Toto okno se objeví i v případě, kdy

máme čerstvou instalaci wine a pokusíme se

spustit nějakou windows aplikaci. Aby bylo

možno se v konfiguraci orientovat, je třeba si

ujasnit souborovou strukturu Wine.

Pokud se pro názornost přidržíme

představy, že Wine jsou „jakási Windows“, pak

jejich „instalační složka“ je

~/.wine

Pro úplnost dodávám, že vlnovka značí

domovský adresář uživatele a tečka v názvu

značí, že adresář je skrytý. Z hlediska Linuxu

je tedy adresář .wine pouze jeden z mnoha

adresářů v profilu daného uživatele. Pokud si

do prostředí Wine uživatel nainstaluje nějaký windowsový software, ostatní uživatele to nijak

neovlivní a ani se to nedozví. Celé prostředí Wine je tedy pro každého uživatele v Linuxu jiné

a oddělené. Adresář .wine se vytvoří při prvním spuštění Konfigurace Wine.

Adresářová struktura Wine je následující:

~/.wine/

|-dosdevices

| c: -> ../drive_c

| z: -> /

|-drive_c

| Program Files

| Program Files (x86)

| users

| windows

|system.reg

|userdef.reg

|user.reg

Adresář dosdevices obsahuje pouze několik symbolických linků (odkazů),

odkazujících na adresáře v linuxové struktuře. Slouží k mapování diskových jednotek pod

písmeny, jak je to běžné ve Windows. Link c: vede na adresář ../drive_c, který obsahuje

známé adresáře Windows, Program Files, Users. Adresář Users obsahuje adresář

uživatele, kde jsou položky jako Plocha, Dokumenty, apod. opět pouze jako linky na příslušné

adresáře v linuxové struktuře uživatele. Soubory .reg jsou obdoba registrů ve Windows.

15

Obr. 6: Konfigurace Wine

Page 16: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Jednotlivé karty okna Konfigurace Wine (obr. 6) mají následující význam:

• Programy – zde se nastavuje, jak se má Wine „tvářit“, kterou verzi Windows má

předstírat. Je možné zadat i pro jednotlivé aplikace individuálně.

• Knihovny – v případě, že aplikace má problém s knihovnou, určí se zde, zda použít

vestavěné knihovny Wine nebo dodané zvenčí.

• Obraz – zde se nastavují možnosti integrace Windows oken do linuxového desktopu.

Zde je možno vyhradit pro windowsové aplikace virtuální desktop a zadat mu

rozměry. Někdy toto může vyřešit problémy s grafikou.

• Začlenění do pracovní plochy – zde je možné nainstalovat motiv vzhledu oken, jinak

bude použit vzhled podobný Windows 2000. Dále je zde možno měnit namapování

složek Plocha, Dokumenty, apod do Wine.

• Disky – zde se provádí již zmíněné mapování adresářů pod písmenka disků. C: je

neměnné (namapované na ~/.wine/drive_c). Ostatní písmena je možno editovat.

Např. flashdisk mám jako D: namapovaný na /media/jmenovkadisku,

• Zvuk – možnost otestování zvukového výstupu, popř. konfigurace. Pokud není

problém se zvukem, všechny položky je lépe ponechat na System default.

V praxi je někdy vhodné mít „více instalací Windows“. Například tvůrce webových

stránek testuje svoje dílo v různých prohlížečích a může si do jedné instance Wine

nainstalovat Internet Explorer 7 a do jiné instance Internet Explorer 8 a mít je v případě

potřeby spuštěné oba současně.

Tato možnost se nazývá instalace aplikací do wine lahví (bottles). Základní lahev je

adresář .wine. Ostatní lahve mají svoje adresáře, svoje nastavení. Na vytváření a správu lahví

existuje i utilita s grafickým rozhraním WIBOM (Wine Bottles Manager). Je popsána v [7].

Všechny operace, které program nabízí, se ale dají snadno vykonat i „ručně“ pomocí

příkazového řádku. Všechny operace s lahvemi se vykonávají za pomoci příkazu

WINEPREFIX. Kompletní zápis je:

WINEPREFIX=cesta k složce wine lahve

Tento výraz se předřazuje běžnému příkazu. Pokud nepoužijeme WINEPREFIX, pracuje se vždy

automaticky s výchozí lahví .wine

Např.

winecfg

– založí (pokud již neexistuje) výchozí wine lahev .wine

WINEPREFIX=/home/franta/.wine_ie7 winecfg

16

Page 17: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

– založí (pokud již neexistuje) wine lahev .wine_ie7 pro uživatele franta.

Adresář s lahví se může jmenovat libovolně, pouze je vhodné použít tečku, aby byl

skrytý. Dále je vhodné volit pro přehlednost název adreáře ve tvaru .wine_něco. Pozor,

Linux, stejně jako ostatní unixové systémy, je case-senzitivní. Výraz WINEPREFIX musí být

zapsán velkými písmeny.

Příklad spuštění programu ve výchozí lahvi:

wine iesetup.exe

Příklad spuštění programu v lahvi .wine_ie7:

WINEPREFIX=/home/franta/.wine_ie7 wine iesetup.exe

Další důvod pro používání Wine lahví je určitý způsob zabezpečení instalace vybrané

aplikace před nechtěnými zásahy uživatele. Je třeba si uvědomit, že každá Wine lahev je

umístěna v domovském adresáři uživatele, a proto k ní má uživatel plný přístup. Pokud je

třeba provozovat pod Wine aplikaci, na jejíž funkčnosti záleží, je vhodné tuto aplikaci

nainstalovat do zvláštní lahve. Filozofie tohoto přístupu spočívá ve faktu, že běžný uživatel

neovládá práci s příkazovým řádkem. Pokud si opatří nějaký windowsový instalátor a spustí

ho poklepem myši v grafickém prostředí, poběží tento ve výchozí Wine lahvi (.wine). Tímto

způsobem může uživatel pracovat s různými soubory, které si například „postahuje“

z internetu. Wine lahev je pak „nakonfigurována“ vším možným, včetně malwaru a virů.

Pokud je potřeba pod Wine provozovat aplikaci, na jejíž funkci záleží, není optimální, běží-li

ve výchozí lahvi spolu se vším ostatním, co si uživatel (i nevědomky) nainstaloval.

Pokud by chtěl uživatel nainstalovat program do vyhrazené Wine lahve, musel by

spustit konzoli (příkazový řádek) a tam použít parametr WINEPREFIX spolu s názvem adresáře

příslušné Wine lahve. Použití konzole, znalost problematiky Wine lahví – to jsou předpoklady,

které méně zkušený uživatel splňuje s malou mírou pravděpodobnosti.

Pokud jsou aplikace nainstalované do různých láhví, uživatel se tuto skutečnost vůbec

nedoví, pokud se po ní nebude pídit. Na ploše nebo v nabídce aplikací bude mít patřičné

ikony a vůbec nemusí mít ponětí o tom, že je spouští z různých lahví.

Tato myšlenka se objevila v souvislosti s problematikou, uvedenou v [8]. Tento příklad

bude uveden v praktické části této práce, konkrétně se bude jednat o instalaci programu

Bakaláři na linuxovou stanici. Bakaláři, jakožto windowsová aplikace na linuxovém desktopu

jsou typický příklad, kdy si aplikace zasluhuje instalaci do samostatné lahve.

17

Page 18: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

V [9] je doporučeno pro každou významnější aplikaci vytvořit vlastní Wine láhev.

Ostatně touto cestou jde i CrossOver - komerční varianta Wine.

2.3.4 Winetricks

Winetricks není aplikace, je to jenom skript, který se používá pro zjednodušení práce při

doinstalovávání runtime knihoven a jiného podpůrného software do Wine. Postupně se

nabídka rozrůstala o konkrétní software pro Windows, dnes je ve Winetricks např. i podsekce

hry. Winetricks se většinou nainstaluje spolu s Wine. Pokud by bylo potřeba, je možné jej

stáhnout z http://winetricks.org/winetricks. Pro správnou funkci Winetricks je třeba ještě

balíček cabextract.

Po spuštění se objeví jednoduché okno, kde lze potřebné volby naklikat. Mně se jako

efektivnější jevila práce v příkazovém řádku, tudíž budu dále popisovat práci s winetricks

v konzoli. Pro zobrazení nápovědy stačí napsat:

winetricks -h

Vypíše se seznam parametrů, se kterými lze skript spustit. Pro moje potřeby byly

nejužitečnější volby:

winetricks dlls list

Vypíše všechny podporované položky (runtime knihovny, DirectX, patří sem ale např.

i Internet Explorer, apod.).

winetricks list-installed

Vypíše nainstalované položky.

V případě vybrané položky proběhne stažení a instalace následovně:

winetricks položka

V případě instalace do oddělené láhve se použije WINEPREFIX:

WINEPREFIX=~/.wine-něco winetricks položka

Konkrétní případy použití Winetricks budou uvedeny v praktické části.

18

Page 19: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

3 Praktické aplikace

3.1 Internet Explorer

Je nepravděpodobné, že by uživatel Linuxu preferoval Internet Explorer (IE) jako

výchozí prohlížeč k běžnému prohlížení webu. Pokud ale tvoří webové stránky, měl by svoje

dílo testovat ve všech rozšířených prohlížečích. V případě Internet Exploreru to platí zvláště,

protože chování tohoto prohlížeče je oproti prohlížečům založeným na jádře Gecko (Mozilla),

Webkit (Chrome, Safari, Konqueror) či Presto (Opera) mírně odlišné. Často je potřeba

optimalizovat kód speciálně pro IE. Z vlastní praxe vím, že pokud vytvořím validní kód

a bude bezproblémový např. ve Firefoxu, odchylky zobrazení na ostatních ne-IE prohlížečích

budou žádné nebo nepodstatné. Navíc díky značnému rozšíření Windows XP je stále hodně

přístupů na web z IE 8, který oproti IE 9 nepodporuje některé funkce, např. v CSS. Proto je

vhodné testovat i funkčnost starších verzí IE oproti IE 9.

Při pokusu instalace Internet Exploreru pomocí Wine jsem narazil na tři problémy, které

způsobily, že v podstatě musím konstatovat, že instalace IE pomocí Wine je problematická.

I. Winetricks nabízí k instalaci IE6, IE7 a IE8. Postupoval jsem podle [10], kde jsou

informace totožné s mnoha podobnými informačními zdroji. Použil jsem vyhrazený

prefix (láhev) pro tuto instalaci, správně jsem nastavil architekturu „stroje“ pomocí

příkazu WINEARCH. Celý příkaz potom vypadal následovně:

Vytvoření prefixu (lahve):

WINEPREFIX=~/.wine32ie7 WINEARCH=win32 winecfg

Instalace:

WINEPREFIX=~/.wine32ie7 WINEARCH=win32 winetricks ie7

Předstíraný restart „Windows“:

wineboot -r

Následně spuštění:

WINEPREFIX=~/.wine32ie7 WINEARCH=win32 wine 'C:\Program Files\Internet

Explorer\iexplore'

Program se spustil, nicméně po několika sekundách nahlásil chybu a došlo k ukončení.

Nepomohla ani aktivace virtuálního desktopu v nastavení Wine. Pravděpodobně je funkčnost

velmi závislá na verzi Wine. Ostatně to že situace není jednoduchá, vyplývá ze záznamu

v databázi testovaných aplikací Wine [11]. Je možné, že na jiné konfiguraci bude funkčnost

lepší, nicméně nemohu toto řešení označit za funkční.

II. Instalace IE pod Wine porušuje licenční ujednání k programu. Jak jsem se sám

19

Page 20: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

přesvědčil a jak se uvádí i v [10], je v licenčním ujednání v instalátoru IE výslovně

stanoveno, že software je uživatel oprávněn použít, jestliže má licenci k patřičné verzi

Windows. Jestliže tuto licenci nemá, není oprávněn software instalovat a používat.

III. Verzi IE9, která je aktuální, pomocí Wine provozovat nelze. Uvádí to jak [10], tak

[11].

V [10] je pro případ IE9 uvedena možnost, která se nabízí v [12]. Microsoft nabízí

hotové virtuální disky ve formátu VHD určené pro vytvoření virtuálního stroje v Microsoft

VirtualPC. V tomto souboru VHD je zkušební instalace Windows s příslušnou verzí IE. Na

stránce je uveden jako účel testování webů na rozdílných verzích IE. Jelikož Virtual BOX

plně podporuje formát virtuálních disků VHD, není problém vytvořit virtuální stroj. Tato

možnost se mi jeví jako jediná schůdná pro spouštění IE na linuxovém systému.

3.2 Bakaláři

Pokud chceme požívat Linux na pracovních stanicích ve školství, narazíme často na

aplikace, které potřebujeme a které nemají v oblasti open-source alternativu. Typický příklad

je správa školní matriky systémem Bakaláři. Při řešení tohoto problému jsem použil postup

uvedený v [8].

Při instalaci Bakalářů na Windows stanici je nutné nejdříve namapovat adresář

s Bakaláři na serveru jako síťový disk na stanici. Tento síťový disk je potom použit pro

instalaci programu Bakaláři na síťovou stanici. V případě instalace na linuxovou stanici je

situace podobná. Ve Wine je třeba namapovat vhodné písmeno disku na adresář na serveru.

Wine ale neumožňuje mapovat přímo síťové položky, pouze lokální. Proto je nutno nejdříve

obsah serverového adresáře připojit na linuxové stanici do vhodného adresáře.

Situace, na které byla vyzkoušena funkčnost Bakalářů pod Linuxem, byla následující:

Souborový server se systémem Windows 2003, síťová stanice s nainstalovanou linuxovou

distribucí Ubuntu, přesněji řečeno Lubuntu (Ubuntu s „lehkým“ grafickým prostředím

LXDE) verze 12.04 LTS.

Prvním krokem je připojení obsahu adresáře na serveru do lokální adresářové struktury

Linuxu. Příkaz pro připojování souborových systémů je univerzálně platný mount. Jeho přímé

použití by mělo dvě nevýhody. Jednak bychom museli tento příkaz vykonat ručně a komfort

dále snižuje fakt, že pro připojení disku potřebujeme mít oprávnění roota. Tato situace se dá

řešit použitím su nebo sudo. Pohodlnější je ale provést připojení automaticky při startu

systému záznamem do konfiguračního souboru /etc/fstab.

V [8] je uveden zápis do fstab v tomto tvaru:

20

Page 21: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

//10.108.6.10/bakalar /mnt/albert/bakalar cifs

_netdev,iocharset=utf8,domain=WORKGROUP,credentials=/etc/cifs/cifs_bakalar,

gid=bakalari,dir_mode=0770,file_mode=0660 0 0

Mnou použitý zápis byl následující:

//192.168.1.100/Aplikace /mnt/bakalari cifs

_netdev,iocharset=utf8,credentials=/etc/cifs/cifs_bakalar,dir_mode=0777,fil

e_mode=0666 0 0

Některé položky v zápisu jsou proměnlivé případ od případu (IP adresa serveru, názvy

adresářů). Další rozdíly vyplývají z faktu, že autor měl linuxový server se Sambou, protože

některé stanice měl s Linuxem, některé s Windows . Já jsem měl k dispozici server s Bakaláři

pod Windows, tudíž mi stačil na straně stanice samba-klient a server jsem nemusel

konfigurovat vůbec.

Jak vyplývá z výpisu, připojení se děje protokolem cifs a je použit samostatný soubor

s uloženými přístupovými údaji k serveru (položka credentials). Pokud máme menší

nároky na bezpečnost, je možno přístupové údaje uvést přímo do zápisu v fstab. Potom

použijeme položky username= a password= místo credentials. Dále jsem musel přístupová

práva změnit z 770 na 777 pro adresáře a z 660 na 666 pro soubory.

Autor doporučuje instalaci Bakalářů do vyhrazené Wine láhve (pod samostatným

prefixem). Předpokládejme, že máme výchozí wineprefix (.wine) vytvořen. Vytvoření

samostatného prefixu pro Bakaláře se provede:

WINEPREFIX=~/.wine_bakalar winecfg

Otevře se okno Konfigurace Wine, kde na záložce Obraz je dobré zapnout emulaci

21

Obr. 7: Virtuální desktop ve Wine Obr. 8: Mapování disků

Page 22: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

virtuálního desktopu a nastavit rozlišení nižší, než je rozlišení monitoru (obr. 7). Autor

postupu uvádí, že integrace oken není vždy zcela bezproblémová a u Bakalářů se mu virtuální

desktop osvědčil. Na záložce disky se nastaví namapování vhodného písmene disku na

adresář /mnt/bakalari (obr. 8).

Dále je doporučeno doinstalovat do Wine základní fonty a některé knihovny. To se

pohodlně provede pomocí WINETRICKS (postupně):

WINEPREFIX=~/.wine_bakalar winetricks corefonts

WINEPREFIX=~/.wine_bakalar winetricks vb6run

WINEPREFIX=~/.wine_bakalar winetricks vcrun6sp6

WINEPREFIX=~/.wine_bakalar winetricks mdac28

Na tomto místě bych připomenul, že v [8] má autor drobnou chybu, kdy v některých

příkazech má jako název adresáře .wine_bakalar, v jiných .wine_bakalari. Pokud jsou učiněny

předchozí kroky, můžeme přistoupit k instalaci Bakalářů. Autor doporučuje totéž, k čemu

jsem v praxi došel také, a to nakopírování obsahu instalačního CD Bakalářů do podadresáře

na serveru. Obsah je tak dostupný pohodlně z kterékoliv stanice. V mém případě na

linuxovém desktopu je cesta k instalátoru:

/mnt/bakalari/install/Baka_verze/install/winlocal/inst_lok.exe

Celý příkaz pro instalaci Bakalářů na stanici je:

WINEPREFIX=~/.wine_bakalar wine

/mnt/bakalari/install/Baka_verze/install/winlocal/inst_lok.exe

Od této chvíle dál instalace postupuje stejně jako na stanici s Windows. Nainstalovaný

software Bakaláři na linuxové stanici je na naší škole používán více uživateli převážně

z 1. stupně ZŠ zcela bezproblémově, a to včetně tiskových výstupů. Na obr. 9 je screenshoot

běžících Bakalářů na stanici s linuxovou distribucí Lubuntu 12.04 LTS. Jak je vidět, přidržel

jsem se doporučení autora [8] použít emulaci virtuálního desktopu. Okno Bakalářů tedy není

volně integrováno do linuxového desktopu, ale běží ve virtuálním desktopu Wine.

22

Page 23: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

3.3 Výukové programy

3.3.1 Terasoft

Software Terasoft patří k velmi rozšířeným výukovým programům na školách. Výrobce

vytvořil mnoho titulů, není tedy v mých silách, ani v rozsahu této práce, otestovat větší počet

produktů. Pro test byl vybrán titul TS Angličtina hrou I pro 1. stupeň ZŠ.

Postup instalace:

Vytvoření Wine láhve (založení instance Wine pod vlastním prefixem).

WINEPREFIX=~/.wine_terasoft winecfg

Spuštění instalátoru z CD.

WINEPREFIX=~/.wine_terasoft wine "/media/TS English/setup"

Instalátor byl spuštěn z uvedené cesty, protože sem byl systémem připojen disk CD.

Uvozovky v adresářové cestě k CD instalátoru byly použity, protože v cestě se vyskytuje

mezera. Poté se spustila standardní instalace Terasoft. (obr. 10 a 11)

23

Obr. 9: Bakaláři, běžící na linuxové stanici (Lubuntu 12.04 LTS)

Page 24: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Po proběhlé instalaci bylo možno program spustit ze systémového spouštěče aplikací,

kde instalátor vytvořil spouštěcí ikonu automaticky. (obr. 12)

Program se bez problémů spustil a bezchybně fungoval. (obr. 13)

24

Obr. 10: Instalace Terasoft Obr. 11: Instalace Terasoft

Obr. 12: Spouštěcí ikona Terasoft ve Spouštěči aplikací

Page 25: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Jelikož program Terasoft Angličtina hrou běžel naprosto bez problémů, rozhodl jsem se

vyzkoušet další produkty od této firmy, aby test měl větší výpovědní hodnotu. Vybral jsem

produkty TS Němčina 4 a Český jazyk 4. Vytvářet pro každý program samostatný prefix

(lahev) jsem považoval za zbytečné. Všechny programy Terasoft jsem instaloval do společné

lahve .wine_terasoft. Instalační příkaz je analogický u všech Terasoft programů, liší se

pouze v cestě k instalačnímu programu na CD. Instalace proběhla bezproblémově u obou

programů. Automaticky se vytvořily ikony ve spouštěči aplikací.

Oba programy se bez problémů spustily ve správném rozlišení. Ovšem u obou

nefungoval zvuk. Pokusil jsem se problém napravit konfigurací Wine:

WINEPREFIX=~/.wine_terasoft winecfg

V konfiguračním okně (obr. 14) jsem se soustředil na nastavení na kartě zvuk.

Z výchozích hodnot (system default) jsem výstupní i vstupní zvukové zařízení přepnul na

konkrétní hardware, což v mém případě je HDA ATI SB – AD198x Analog. V jiném systému

tato položka bude jiná. Zvuk začal bez problémů fungovat u obou testovaných programů.

Pravděpodobná příčina je v přímém přístupu k zvukovému systému ALSA, zatímco

v defaultním nastavení se přistupuje přes zvukový server Pulse Audio, který byl možným

zdrojem problémů.

25

Obr. 13: Výukový program TS Angličtina hrou v distribuci OpenSUSE

Page 26: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

3.3.2 Didakta

Z výukových programů Didakta (výrobce Silcom) byl vybrán program Geometrie 1.

Instalace má obdobné kroky, jako v případě Terasoftu – vytvoření prefixu a instalace

programu z CD. Podobně jako u Terasoftu se vytvořil spouštěč v systémové nabídce. Pokus o

spuštění ale vedl k chybovému hlášení: Run-time error '425': Object doesn't

support this action. Program je poměrně starý – z roku 2002. V systémových

požadavcích jsou verze Windows uvedeny po Windows 2000 včetně. První, co jsem tedy

zkusil, bylo v nastavení Wine deklarovat starší verzi Windows. Dále jsem zkusil prefix založit

znovu s výslovnou deklarací platformy Windows 32bit. Můj linuxový systém je 64-bitový a

wine ve výchozím nastavení se „chová“ jako 64-bitová Windows. Toto by nemělo být na

závadu při spouštění 32-bitových aplikací, nicméně s ohledem na stáří programu jsem raději

zkusil nadeklarovat 32-bitovou architekturu pomocí parametru WINEARCH. Celý zápis je

pak následující:

WINEARCH=win32 WINEPREFIX=~/.wine-didakta winecfg

Obdobná syntaxe je i v případě instalace programu. Všechna tato opatření ale nevedla

ke změně k lepšímu. Informace k chybě 425, které jsou k dohledání na webu, jsou buď příliš

všeobecné nebo vedou na softwarové nástroje pro automatickou „opravu“ instalace Windows.

Z uvedeného vyplývá, že chyba 425 může mít pestrou paletu příčin. Nevylučuji, že by se

řešení dalo nalézt, ale spíše to považuji za nepravděpodobné. Jelikož posuzuji dosažení

funkčnosti z hlediska uživatele, který nechce nebo nemůže nad každou instalací příliš dlouze

přemýšlet, nezbývá mi než program hodnotit jako nefunkční.

26

Obr. 14: Konfigurace zvuku pro Terasoft

Page 27: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Od uvedeného výrobce jsem vyzkoušel ještě program Diktáty 1 – nižší stupeň. Tento

program je novějšího data – 2005. Tentokrát jsem se rozhodl, že opatření, jež jsem zkoušel

u programu Geometrie 1 (a která ke zdárnému výsledku stejně nevedla), provádět nebudu

a omezil jsem se na vytvoření samostatného prefixu bez dalších úprav instance Wine. V tomto

případě jsem zaznamenal částečný úspěch. Program se spustil, nicméně v poměrně hrubém

rozlišení 640x480. Zvuk fungoval. Z odpozorovaných projevů usuzuji, že programy Didakta

jsou vytvořeny technikami, které s Wine nejsou zcela kompatibilní.

3.3.3 BSP multimedia

Od tohoto vydavatele jsem vyzkoušel tituly:

• Jak věci pracují

• Encyklopedie přírody

• ASTRO 2001 – Báječný vesmír

Po zkušenostech s programy Didakta jsem zvolil jednotný postup: Vytvoření

vyhrazeného prefixu bez dalších nastavení a následně instalace bez zkoušení dalších praktik.

První dva programy měly problém se spuštěním instalátoru a instalace neproběhla. V případě

ASTRO 2001 sice proběhla instalace, program se i spustil, nicméně po úvodní obrazovce

přestal reagovat. Nezbylo, než jej ukončit příkazem KILL ve správci procesů v hostitelském

systému. Následně program zanechal linuxový desktop v rozlišení 800x600 a bylo nutno jej

opravit ručně zpět na původní hodnotu.

27

Page 28: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

4 ZávěrPři prověřování funkčnosti aplikací byly zjištěny značné rozdíly u jednotlivých aplikací.

Přesto nelze jednoznačně formulovat vhodnost či nevhodnost nasazení GNU/Linux ve škole

bez toho, aniž abychom přihlédli ke konkrétní situaci ve škole. Pokud by byl požadavek na

funkčnost libovolného windowsového programu prostřednictvím Wine, pak tento samozřejmě

splnit nelze. Při použití GNU/Linux ve škole z pohledu tématu této práce je možno uvažovat

následující situace:

• Kabinet učitele – zde požadujeme hlavně kancelářský balík (zde u nás ve škole

používáme LibreOffice, a to i na stanicích s Windows) a ostatní běžné aplikace, dále

přístup do školní matriky. U nás používáme software Bakaláři, jehož funkčnost pod

Wine je bezproblémová. Pokud škola používá výukové programy, je vhodné, aby je

měl pro případ přípravy učitel k dispozici v kabinetu. Z tohoto hlediska se pak tento

bod prolíná s následujícím.

• Počítačová učebna – zde záleží na způsobu využití. Většinou se v praxi počítačová

učebna využívá jak pro výuku informatiky, tak pro využívání výukových programů.

V případě výuky informatiky požadavek na spouštění windowsových aplikací ustupuje

do pozadí, protože potřebné aplikace existují v nativní linuxové variantě. V případě

využívání výukových programů pro podporu výuky předmětů mimo informatiku je již

situace pestřejší. Mnoho škol (i naše) má poměrně velké množství výukových

programů, které získaly z velké části v minulosti v rámci různých hromadných akcí

vybavování škol softwarem. Výsledky mého testu naznačují, že nejméně

problematickou skupinou jsou programy Terasoft. Testovány byly tři programy

a všechny se podařilo zprovoznit. Další testované skupiny už jako použitelné ke

spouštění pod Wine označit nelze.

• Počítač u interaktivní tabule – naše škola používá tabule SMART, výrobce tyto tabule

podporuje i pod Linuxem.

• Počítač pro volnočasové využití žáky – některé školy mají pro žáky vyhrazený prostor

s přístupem k počítačům pro využití mimo běžnou výuku. U nás mají žáci k dispozici

po vyučování počítače ve školním klubu, čímž je současně vyřešena i problematika

dozoru. Zde požadavek na výukové programy ustupuje do pozadí, pro žáky je důležitý

hlavně přístup na web, popřípadě běžná práce s dokumenty a jejich tisk.

28

Page 29: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

Učitel, používající výukové programy, nenarazí na zásadní odlišnost mezi používáním

programu pod Windows a používáním programu prostřednictvím Wine pod Linuxem. Při

instalaci programu se vytvoří ve spouštěči aplikací ikony podobně, jako při běhu programu

pod Windows v nabídce Start. Z hlediska uživatele (učitel, žák) tedy nedochází k podstatnému

rozdílu při práci s programem. To platí samozřejmě za předpokladu, že daný program je

provozuschopný pod Wine.

Z hlediska koordinátora ICT přináší svobodný software úsporu finanční za licence a

úsporu práce při správě licencí a dohledu nad legálností používání softwaru. Samotné

výukové programy jsou však většinou pro Windows, s placenou, uzavřenou licencí.

Koordinátor ICT zde ale může zasáhnout v případě, že se pořizují výukové programy až po

zavedení open source softwaru ve škole, a vybírat podle funkčnosti. Funkčnost odzkouší

podle postupů uvedených v této práci ve spolupráci se správcem učebny.

Na správci učebny leží konkrétní technické řešení. Pokud zvládá administraci

linuxových systémů, problematika Wine pro něj není příliš obtížnou součástí jeho práce.

Provádí konfiguraci Wine, testování programů a následnou instalaci na pracovní stanice.

Výběr programů provádí ve spolupráci s koordinátorem ICT.

Z uvedeného vyplývá, že v případě využití GNU/Linux ve škole a potřebě spouštění

windowsových aplikací se těžiště problematiky přesouvá na pole výukových programů. Těch

je v praxi velké množství, prakticky výlučně pro Windows. Z výsledků této práce a ze

zkušeností z praxe vyplývá, že situace situace bude na různých školách různorodá a musí se

posuzovat individuálně. Věřím, že k tomu může přispět i tato práce.

29

Page 30: Uživatelský software v operačním systému GNU/Linux · PDF fileV tomto případě půjde o windowsových aplikací na Linuxu. Jak uvádí [3], virtualizace se v zásadě dělí

5 Použité zdroje informací1. BEDNÁŘ, Vojtěch. Linux na firemním PC: možnosti, rizika, cena. Praha: BEN -

technická literatura, 2007, 143 s. ISBN 978-80-7300-225-1.

2. Emulátor. Wikipedie [online]. 2013 [cit. 2013-02-02]. Dostupné z:

http://cs.wikipedia.org/wiki/Emul%C3%A1tor

3. Klonovanie tučniaka alebo virtualizácia v Linuxe: úvod. Root.cz [online]. 2005 [cit.

2013-02-03]. Dostupné z: http://www.root.cz/clanky/klonovanie-tucniaka-alebo-

virtualizacia-v-linuxe-uvod/

4. DOSBox. DOSBox Wiki [online]. 2012 [cit. 2013-02-02]. Dostupné z:

http://www.dosbox.com/wiki/Main_Page

5. Oracle VM VirtualBox [online]. 2012 [cit. 2013-02-03]. Dostupné z:

https://www.virtualbox.org/

6. WineHQ - Run Windows applications on Linux, BSD, Solaris and Mac OS X [online].

2013 [cit. 2013-02-04]. Dostupné z: http://www.winehq.org/

7. Správce Wine lahví Wibom spouští aplikace pro Windows v Linuxu z grafického

programu. Linux EXPRES [online]. 2010 [cit. 2013-02-13]. Dostupné z:

http://www.linuxexpres.cz/okenko-do-oken/wibom-spravce-wine-lahvi

8. Bakaláři na Wíně. Linux ve škole [online]. 2012 [cit. 2013-02-13]. Dostupné z:

http://linuxveskole.cz/bakalari-na-wine/

9. Wine pro pokročilé. ABC Linuxu [online]. 2012 [cit. 2013-02-13]. Dostupné z:

http://www.abclinuxu.cz/clanky/wine-pro-pokrocile

10. How to Run Internet Explorer 7, 8 and 9 in Linux with or without Wine. Rdeeson.com

[online]. 2012 [cit. 2013-02-17]. Dostupné z:

http://www.rdeeson.com/weblog/126/how-to-run-internet-explorer-7-8-and-9-in-linux-

with-or-without-wine.html

11. Internet Explorer. WineHQ [online]. 2013 [cit. 2013-02-17]. Dostupné z:

http://appdb.winehq.org/objectManager.php?sClass=application&iId=25

12. Internet Explorer Application Compatibility VPC Image. Microsoft Download Center

[online]. 2012 [cit. 2013-02-17]. Dostupné z: http://www.microsoft.com/en-

us/download/details.aspx?id=11575

30