X Window System
Obsah
Úvod
X Window System jsem chtěl původně přeskočit - jednak už existuje hodně článků na tohle téma a také proto, že je to zrovna část, která spíše vysvětluje principy fungování grafiky. Navíc můžeme počítač dost dobře a hodně dlouho používat, bez znalosti, jak X Window System funguje.
Proto jsem chtěl X Window System jenom okrajově zmínit a podrobněji se mu věnovat mnohem později, protože však ze strany začátečníků byl velký zájem pochopit alespoň některé základní otázky ohledně grafiky - hlavně otázky týkající se velkého množství desktopových prostředí, napsal jsem tuto část.
› zpět na obsah
› zpět úvodní stránku
Otázky a odpovědi
Citace:
Desktopové prostředí mi nabídne grafické uživatelské rozhraní (GUI), zobrazí mi tedy grafické ovládací prvky a umožní mi
ovládat PC v grafickém režimu. Dobře, to chápu, ale:
1. Popsal jsi pár základních ovládacích prvků, ale ty jsou v podstatě stále stejné, takže proč je na výběr více desktopových prostředí,
když se vlastně jedná pořád o to samé?
2. Proč se něco jmenuje "Desktopové prostředí" a něco "Správce oken"? Vždyť nabízí ty samé ovládací prvky.
3. Já vidím pouze rozdíl ve vzhledu a ten se dá přeci nastavit?
Tyto otázky jednak poukazují na nepochopení prvního dílu, ale asi za to může i situace, která je momentálně ve světě počítačů. Velká rozšířenost OS Windows (obzvlášť mezi obyčejnými uživateli) zřejmě přináší problémy pochopit, že může být i něco odlišného. Absolutně nehodlám hodnotit OS Windows a říkat, co je lepší nebo horší (to ať si posoudí každý sám), ale je důležité si uvědomit, že tak, jak OS Windows zpracovává grafiku, není jediný možný způsob - jako ve všem existuje více různých možností.
Add 1. První otázka je v podstatě zbytečná. Zamysleme se - proč je na světě tolik značek a typů aut? Vždyť všechny auta mají v podstatě to stejné.
Čtyři kola, volant, páčku na blinkr, kolečka na větrák a na topení atd.
Představte si, kdyby bylo všechno stejné. Pak už bychom nemohli posuzovat, co nám víc vyhovuje a co je lepší. Je lepší klakson na volantu nebo na páčce?
Add 2. Rozdíl mezi "Desktopovým prostředím" a "Správcem oken" vysvětlím detailně v samostatné kapitole.
Add 3. Když si vyzkoušíte více desktopových prostředí, a dokonce když si to porovnáte s jiným OS, opravdu zjistíte, že rozdíl není pouze ve vzhledu. Jeden umí tohle a druhý zase tamto. Pokud to opět srovnám s autem, tak jedno má třeba cyklovač na stěrače, který dělá mezi stíráním stále stejnou pauzu a jiné auto třeba umí délku pauzy nastavit. Jedno elektrické ovládání okének vám otevře okno celé jen při zmáčknutí a ve druhém autě prostě musíte tlačítko držet po celou dobu otevírání okna.
Nyní se tedy podíváme na základní princip grafiky, abyste pochopili, proč máme možnost vybírat si desktopové prostředí a proč je GNU/Linux taková menší skládačka, ve které si můžeme vybrat grafické uživatelské rozhraní, jaké chceme - jakou chceme palubní desku a jaká tlačítka. Dokonce je možné si naše auto poskládat úplně a vyloženě si určit, jakou budeme mít páčku na blinkry a dokonce i na kterou stranu volantu si ji umístíme.
› zpět na obsah
› zpět úvodní stránku
X Window System
Stručně: X Window System (X11, X, X-ka) je software, který má na starosti zpracování grafiky. X zpracuje DISPLAY, na kterém zobrazí grafické prvky a také se postará o vstupy (klávesnici, myš), které budou tyto grafické prvky ovládat.
Abychom mohli pracovat s počítačem v grafickém režimu, potřebujeme něco, co vytvoří grafické uživatelské rozhraní (GUI), anebo umožní dalším programům GUI vytvořit. To znamená, že se postará o zobrazení grafických prvků, ale taky zajistí zpracování vstupu, takže tyto grafické prvky budou reagovat na myš a klávesnici a budou se zobrazovat výstupy.
Příklad:
V tomto příkladu přirovnám počítač k bytu, kde si jako GUI představím kuchyň.
Abychom mohli doma vařit jídlo a jíst, potřebujeme kuchyň, která nám nabídne sporák, lednici, kuchyňskou linku,
dřez atd. Takže buď si koupíme byt, který už bude mít kuchyň zařízenou nebo potřebujeme partu
dělníků (zedník, stolař, instalatér,...), kteří nám v prázdné místnosti vybudují kuchyň.
Jestliže si pořídím operační systém, který má GUI vestavěné, pak nic neřeším, nemusím si nic vybírat a nemusím přemýšlet, co je lepší a co hezčí. Tohle ovšem není případ GNU/Linuxu. Protože GNU/Linux nemá GUI integrováno (vestavěné), je potřeba nějaký software, který nám GUI vytvoří. A tím softwarem je X Window System.
Příklad:
Vestavěné GUI v OS mi trochu
připomíná panelákové byty, které se stavěli za minulého režimu. Lidé
přišli do bytu, který měl kuchyň kompletně zařízenou a všechny tyto
kuchyně vypadaly v podstatě stejně.
Ale OS, který nemá vestavěné GUI, bych přirovnal bytu, který si
pořídíme s prázdnou místností, ve které si vytvoříme kuchyň podle
vlastních představ.
› zpět na obsah
› zpět úvodní stránku
X & Desktopové prostředí
Máte pocit, že jsem to právě pořádně zamotal? V prvním díle jsem pronesl, že se o GUI postará
desktopové prostředí a nyní tvrdím, že to má na starosti X Window System.
Skutečně bychom mohli říct, že nám GUI vytvoří X Window System a úplně
stejně můžeme říci, že nám GUI vytvoří desktopové prostředí. Jak to
tedy ve skutečnosti je?
X Window System má totiž architekturu klient - server (to hned vysvětlím) a díky tomu X potřebuje programy (klienty), které nabídnou nějaké grafické prvky. Tyto programy jsou součástí desktopového prostředí a X Window System se postará o zobrazení všeho, co tyto programy chtějí zobrazit.
Funguje to velice jednoduše: Desktopové prostředí nám nabízí GUI a
X Window System se stará o jeho zpracování (zobrazení a funkčnost).
To znamená, že když desktopové prostředí chce zobrazit například nějaké okno s aplikací,
tak požádá X Window System ("zde mi prosím zobraz tohle okno") a X to zařídí.
Opět si to ještě vysvětlíme na příkladu:
Jedna moje sousedka, u které se občas stavím na kafe, mi
pokaždé začne ukazovat svůj dům a popisovat, co kde a jak udělali.
"Tady jsme si postavili stříšku. Zde jsme si zabudovali vestavěné
skříně a schovali jsme je za posuvné dveře, atd." Ve skutečnosti je to
přesně ten typ rodiny, která si na jakoukoliv práci najme a zaplatí
dělníky. Ovšem nikdy od této sousedky neuslyším - "Tady nám truhláři
postavili stříšku a zde nám stolaři udělali vestavěné skříně."
A úplně stejné je to v našem příkladu, kde si jako GUI představíme kuchyň. Desktopové prostředí nám nabídne kuchyňskou linku, která bude mít např. 5 spodních skříněk a v jedné bude vestavěná myčka a ve druhé bude ještě kulatý dřez. Ale desktopové prostředí nám tuto linku nesmontuje a nepostará se o rozvod vody do myčky a do dřezu. Tohle udělá parta dělníků (stolař, instalatér, stavební firma,...) a v našem příkladu je X Window System právě takováto parta dělníků (stavební firma).
› zpět na obsah
› zpět úvodní stránku
Xserver - Xklient
S architekturou "server - klient" se setkáte ještě mnohokrát. Jednak na tomto principu funguje internet, ale existuje i hodně softwaru, který tyto způsoby využívá.
server - Obecně je tímto pojmem označován počítač, který poskytuje nějaké služby ostatním. A stejně, jako může poskytovat služby počítač, tak je může poskytovat třeba i nějaký program.
klient - je zákazník (počítač nebo program) využívající některých služeb (funkcí) serveru.
Už jste asi pochopili, že pro X Window System se používá označení Xsever a Xklient. Desktopové prostředí - Xklient se tedy stane zákazníkem Xserveru. Desktopové prostředí tedy definuje, jaké grafické prvky se mají zobrazit, jak budou vypadat a jaké budou mít ovládání a Xserver se postará o zobrazení a o to, že ony ovládací prvky budou skutečně reagovat na vstupní zařízení.
A jak to tedy bude s naší kuchyní. Nebudeme se trápit s
tvorbou vlastního projektu a využije toho, že už existuje velké
množství projektantů (desktopové prostředí), kteří už mají hotový
projekt, jak by naše kuchyň mohla vypadat. Každý k tomu přistoupil
jinak, takže i každý projekt naší kuchyně je jiný.
Výběr desktopového prostředí = výběr projektanta s projektem.
Takový projektant se v našem případě postará i o realizaci.
To znamená, že si najme stavební firmu (Xserver), a požádá ji o
vytvoření kuchyně, tak jak ji navrhnul a zpracoval. Stavební firma
kuchyň vybuduje a my jako uživatel ji můžeme užívat.
Xserver = stavební firma (parta dělníků)
Xklient = projektant
Nezapomeňte si povšimnout, jak snadno vzniknul vztah Xserver a Xklient, kdy stavební firma se stala dodavatelem a projektant zákazníkem. Stavební firma poskytuje zákazníkovi služby (výroba kuchyně), o které si zákazník (projektant) požádal.
› zpět na obsah
› zpět úvodní stránku
Výhody
Způsob odděleného zpracování grafiky od samotného OS sebou přináší určité výhody.
- Snazší vývoj
- Snazší údržba
- Flexibilita
- Konfigurovatelnost (možnost nastavení)
- Nezávislost na systému
Jak při vývoji, tak při údržbě (opravování chyb) je snazší věnovat se pouze jednomu programu, než celému systému. A to stejné platí i při samotném užívání PC. Jestliže nám zhavaruje grafika, nestáhne sebou celý systém a my můžeme v klidu pracovat s PC dál a případný problém odstranit.
Vzájemná závislost mezi Xserverem a Xklientem má zajímavou podobu. Je to stejné jako všude v životě mezi dodavatelem a zákazníkem a jde jen o to si to uvědomit. Na jednu stranu Xserver není vůbec závislí na Xklientu. Je mu úplně jedno, jestli Xklientem bude KDE, nebo Gnome. Ovšem na druhou stranu, je na něm životně závislí, protože kdyby neměl Xklienta, nemá co dělat.
Stejné jako v našem příkladu. Naší stavební firmě (partě dělníků) je úplně jedno, jestli bude dělat práci pro tamtoho projektanta, nebo pro nějakého jiného. Také je jí úplně jedno, jestli projektant chce kulatý dřez, nebo čtvercový. Prostě pouze potřebuje nějakého zákazníka (klienta), který jí zadá práci, a oni ji udělají. A kdyby stavební firma neměla žádného klienta, tak nemá co dělat a zkrachuje. V PC sice Xserver nezkrachuje, ale když nebude mít xklienta, tak nebude mít vůbec nic na práci. A stejné je to s projektantem. Kdyby neměl k dispozici stavební firmu, tak nikdy žádnou kuchyň nevytvoří a bude mít pouze plány, které budou na nic.
Poslední velká výhoda, kterou zmíním je, že Xserver dokáže zpracovávat požadavky několika Xklientů a hlavně není nutné, aby Xklient byl na stejném stroji jako Xserver. Xklient, který je na vzdáleném počítači komunikuje s Xserverem úplně stejným způsobem, jako kdyby byl na tom stejném PC. Proto je tento způsob zpracování grafiky výborný pro vzdálený přístup na jiný počítač.
› zpět na obsah
› zpět úvodní stránku
Závěr
Doufám, že nyní už chápete, že si mohu vybrat jakékoliv desktopové prostředí (podle toho, které se mi líbí a které mě víc vyhovuje), protože grafickému zpracování GUI je úplně jedno, kdo se stane Xklientem. Jelikož komunita v GNU/Linuxu je velká a každému člověku se líbí něco jiného, není divu, že je z čeho si vybírat. Tito lidé prostě tvoří něco, co jim vyhovuje a co jim připadá dobré. Já osobně jsem rád, že tomu tak je, protože si mohu vybrat takovou kuchyň, která se mi líbí.
› zpět na obsah
› zpět úvodní stránku





















