Enlightenment e17: Univerzální výkonné desktopové prostředí I.

První díl článku o tomto prostředí přinese charakteristiku Enlightenmentu e17 a pohled na vnitřní strukturu jeho komponent.

5.11.2012 10:00 | Petr Ježek | přečteno 10592×

Dnes patrně existuje pouze nemnoho uživatelů výpočetní techniky, kteří neslyšeli o operačním systému GNU/Linux v podobě některé z mnoha linuxových distribucí. Obdobně existuje pouze nemnoho uživatelů kteréhokoli operačního systému, kteří slyšeli o desktopovém prostředí Enlightenment, ačkoli jde o prostředí patrně ze všech nejuniverzálnější. Jestliže ve Windows a v MacOS nejsou uživatelé vedeni k možnosti volby okenního manažeru (WM – Window Manager) a jen velmi málo vědí o desktopových manažerech (DM – Desktop Manager) či desktopových prostředí (DE – Desktop Environment), v Linuxu je naopak poměrně běžné si grafické prostředí uživatelsky volit a upravovat. V repozitářích většiny linuxových distribucí je možné najít také Enlightenment, resp. jeho poslední verzi označovanou E17 (DR17).

Jsou to jen pro oko úchvatné klikací omalovánky s realistickým vlněním na ploše nebo jde o něco jiného či o něco více? O tom všem v následujícím textu.

A-Beauty2

Následující text bude členěn na dvě části. První přinese charakteristiku Enlightenmentu e17 a pohled na vnitřní strukturu jeho komponent. V druhé části bude e17 popisován očima uživatele, který se právě rozhodl jej nainstalovat a objevuje jeho specifické vlastnosti a hodnotí je.

první část

Charakteristika a struktura

Enlightenment je zpravidla chápán uživateli i dle svých tvůrců jako odlehčený, rychlý, modulární a značně rozšiřitelný WM s grafickým vyšperkováním. Ostatně, tak tomu bylo až do verze e16 včetně. Současně je ale poukazováno na nebývalé možnosti individuálního grafického nastavení s množstvím efektů, které u jiných WM nenalezneme a které do zavedení Compizu v jiných WM/DM vůbec nebyli. Obdobně zdůrazňování schopností Enlightenmentu e17 nejen ovládat desktopové prostředí, ale současně spouštět aplikace a řídit jejich zobrazení a provádět systémové úkony jako je správa systému a souborů a správa režimu a ukončování prostředí (suspend, reboot...) nesvědčí o strohém WM. Z toho je zřejmé, že Enlightenment e17 má všechny podstatné znaky DM (DE) s výjimkou vlastního systémového manažeru, který by zahrnoval i veškerá administrátorská nastavení. Zato ale toto desktopové prostředí plně využívá širokého pojetí uživatelského prostoru k nastavení toho, co pro uživatele činí práci příjemnější a efektivnější.

Od jiných WM a DM se Enlightenment liší v několika směrech. Podstata odlišností tkví ve vlastních knihovnách, které jsou pro poslední verzi e17 vyvíjeny v rámci EFL (Enlightenment Foundation Libraries), což je zřetelně vidět např. ve srovnání s Xfce či LXDM používajících běžné knihovny pro GTK prostředí. EFL obsahuje následující knihovny:

S ohledem na aktivní odkazy zde postačí pouze základní informace k uvedeným knihovnám. Evas představuje API pro zobrazení textu, obrázků a dalších objektů. Eina je výsledkem snahy o skutečně efektivní implementací API různých typů dat, současně poskytuje nástroje pro řízení sdílení knihoven, správu sdílené paměti a další systémové operace. Edje je knihovnou pro grafické nastavení desktopu, jádro onoho pověstného „eye candy“. Eet zajišťuje efektivní práci s daty pomocí vlastního kompresního a dekompresního algoritmu ke zrychlení práce se soubory a aplikacemi. Ecore nabízí sadu obslužných funkcí zaměřenou na uživatelské pohodlí a ergonomii. Efreet poskytuje propojení se standardy freedesktop.org pro desktopové soubory, menu a ikony. E_Dbus implementuje dbus knihovnu pro vzájemnou komunikaci aplikací na úrovni procesů v rámci IPC (Inter Process Communication). Embryo je vlastní verzí kompilátoru Small, dnes známého jako Pawn. Eeze jako vlastní API umožňuje rychlou a jednoduchou manipulaci se zařízeními prostřednictvím udev. Elementary je programátorský nástroj pro psaní jednoduchých aplikací.

Celé prostředí s Enlightenmentem e17 pak vypadá tak, že toto prostředí fakticky propojuje operační systém s aplikacemi:

Na výše uvedené základní knihovny navazuje další sada knihoven rozšiřující funkce a možnosti v rámci Enlightenmentu. Pokud některá z knihoven není pro účel celého systému funkčně potřebná, není třeba ji v rámci Enlightenmentu instalovat, což je výrazem jeho modulárního charakteru. Vše je navrženo kompatibilně vzhledem k běžně používaným programovým platformám, jako je C++, Perl, Python, Ruby či Javascript. Jinými slovy, uvedené jazyky jsou v e17 použity jak přímo tak jako pojítko na externí prostředí.

Kromě knihoven se autoři neubránili nutkání vyvinout některé vlastní aplikace. Vlastní knihovny k tomu vybízejí, ale současně jde o poměrně náročné programátorské zadání. Proto vlastních aplikací je pro e17 málo a jsou spíše jednodušší z hlediska funkčních vlastností. Tyto aplikace se zpravidla neobjevují jako součást hlavní instalace, ale jsou k dispozici v experimentálních repozitářích distribucí nebo jsou samostatně dostupné z webu. Některé mají obecný charakter jako např. mediální přehrávač Enna, jiné jsou naopak spíše nástroji pro práci s prostředím Enlightenmentu (např. Edje_viewer pro prohlížení souborů s tématy).

Enlightenment e17 je principiálně multiplatformální prostředí. Lze jej používat nejen v Linuxu, pro nějž je primárně vyvíjen, ale také v desktopových (BSD, Solaris, Mac, Windows) i mobilních (Openmoko, WinCE...) systémech.

 

Serverové použití pochopitelně nedává u graficky orientovaného DM smysl a z tohoto důvodu také v e17 chybí např. přesnější a kompletnější nastavení HW komponent. Hardwarová podpora zahrnuje kromě běžných desktopových PC s 32 i 64bitovými procesory také různá mobilní zařízení včetně většiny verzí ARMu. I odtud je vidět, že Enlightenment nezapomíná na rychle rostoucí trh lehkých mobilních a mikro zařízení zpravidla využívajících energeticky úsporné HW platformy ARM. Tvůrci Enligtenmentu nicméně upozorňují, že míra podpory se pro různé konkrétní systémy a zařízení může lišit a doporučují v případech nejistoty a problémů kontaktovat vývojáře.

Instalace

Když už jste zjistili základní informace o Enlightenmentu e17, je tu vysoká pravděpodobnost, že se vám nejen zalíbil, ale že nemůžete odolat jeho instalaci. V takovém případě jistě poslouží následující řádky a pár ilustrací, aby se ušetřily rozpačité okamžiky při zjištění, že něco je jinak než jsme zvyklí. Takže do toho.

Jelikož se v oblasti ICT koncentruji na práci na platformě GNU/linux, bude toto omezení plně aplikováno v následujícím textu. Ostatně, Enlightenment, jak již bylo výše uvedeno, je primárně prostředím pro Linux. Není tedy divu, že se s ním můžeme setkat u většiny běžných distribucí. Pokud vezmeme ty základní s ohledem na rozšířenost (včetně derivátů a komerčních verzí), pak Enlightenment nalezneme v repozitářích Debianu (Ubuntu, Mint, ...), Opensuse (SUSE), Fedory (RHEL), Mageiy (Mandrivy), Archlinuxu, Gentoo i Slackware. Kromě toho vznikají i specifické distribuce s Enlightenmentem jako preferovaným prostředím, např. Bodhi Linux (derivát Ubuntu), Sabayon (Gentoo), PClinuxOS (Debian), YellowDog (RHEL/CentOS) a další, využívající s výhodou vlastností Enlightenmentu e17.

Instalační nároky odpovídají množství vybraných modulů. V Archlinuxu, v němž přednostně pracuji, zabere instalace Enlightenmentu se všemi základními a několika doplňkovými knihovnami cca 70 MB diskového prostoru, což je s ohledem na vlastní knihovny relativně málo, pokud budeme srovnávat třeba s výrazně odlehčeným LXDE, které ale používá univerzální GTK knihovny a k rozumné funkčnosti vyžaduje další GTK utility. Náročnost na datový tok při stahování závisí přirozeně na distribuci, správci balíčků, na datové kapacitě připojení a datové propustnosti systému repozitáře.

Struktura balíčků se mezi distribucemi liší, což signalizuje různou míru podpory Enlightenmentu e17 v dané distribuci Linuxu. V Archlinuxu je podpora na vysoké úrovni a ze základních repozitářů se stahují všechny knihovny nezbytné pro rozšířené použití tohoto DM. Na obrázku níže je dobře vidět struktura stahovaných balíčků ze standardního repozitáře.

 Dále jsou zde k dispozici oficiálně nepodporované balíčky z uživateli plněného repozitáře AUR (Arch Users Repository). Správce balíčků pacman zde rozlišuje mezi samotným WM e16 (e nlightenment) a kompletním aktuálním DM e17 ( e17-svn). Na tomto příkladě lze ukázat, že samotná instalace nepředstavuje žádný zásadní problém, je pouze vhodné vědět, jakou verzi a které balíčky (knihovny) je žádoucí instalovat. Především témata Enlightenmentu jsou zpravidla zabalena do jednoho objemného balíčku a mohou zůstat nevyužita a zabírat pouze prostor.

Instalace Enlightenmentu e17 je v Archlinuxu spojena s defaultním nastavením nejen grafických prvků, ale i aplikací spustitelných z panelu a XDG menu, které je vytvořeno detekcí aplikačních souborů s příponou . desktop v /usr/share/applications. Prostředí také přebírá základní nastavení HW podle udev a podle systémové a uživatelské konfigurace v rámci nastavení Archlinuxu.

V jiných distribucích záleží na tom, zda je Enlightenment preferovaným prostředím nebo zda jde pouze o doplňkovou instalační možnost.  V prvním případě je Enlightenment po instalaci distribuce již defaultně nastaven s ohledem na distribuční specifika podle voleb v instalátoru distribuce a podle automatické detekce. Jinde se implicitní nastavení omezí zpravidla na základní nastavení menu (je-li k dispozici XDG, pak podle něj) a aplikačního bloku Jsou-li nainstalovány jiné DM, pak se jejich nástroje objeví v nabídce nastavení Enlightenmentu.

Autor pracuje jako vysokoškolský pedagog a ekonom, vyučuje informační systémy a používá PC s Archlinuxem.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1947