Portál AbcLinuxu, 22. května 2024 02:22


Dotaz: Linux pojmy: XServer, Compiz, Window Manager atd.

14.10.2010 21:44 titili
Linux pojmy: XServer, Compiz, Window Manager atd.
Přečteno: 667×
Odpovědět | Admin
Ahoj!

Začínám s Linuxem a potřeboval bych vysvětlit trochu hlouběji některé pojmy.

X Window System, X Server, X klient, Xgl, Compiz, Window Manager, GTK+

Chápu to tak, že X Window System je nějaká specifikace, která popisuje jak implementovat GUI. X Server je centrální aplikace, která komunikuje s X klienty. Může to být na jednom PC nebo na více PC v síti. X klient komunikuje s X serverem. A teď bych potřeboval vysvětlit jak to je. X klient je Compiz a Xgl protokol? Chápu, že GTK+ je window manager, který používá Xlib knihovnu ke komunikaci s X serverem. A aplikace pak používají jen GTK+ a už ne Xlib. GTK+ by tak měl být X klient, je to tak?

Dokážete mi někdo vysvětlit jak GUI na Linuxu funguje a co se dneska používá např. jestli GTK+ Gnome, KDE, Compiz apod a co je už zastaralé/překonané?

/titili

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.10.2010 22:40 Wily
Rozbalit Rozbalit vše Re: Linux pojmy: XServer, Compiz, Window Manager atd.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Kdo začíná s Linuxem, měl by se napřed naučit používat google. Neni to neochota poradit, ale je to prostě fakt, že tyto věci jsou napsaný a i v češtině. :-) A k tomu, aby jste pochopil, jak funguje GUI v Linuxu, tak musíte pochovat, jak funguje X window
15.10.2010 09:09 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Linux pojmy: XServer, Compiz, Window Manager atd.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Při odpovědi lze použít jen nějakou „lež dětem“, zde je máte: A příště hledat sám a ptát se na něco konkrétního, ne pokládát otázku života, vesmíru a vůbec.
PS: Když bych byl hodný tak bych větu „Chápu to...“ oznámkoval za čtyři-a-třicet-devět-čtyřicetin a pak zaokrouhlil na celé číslo :).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
stativ avatar 15.10.2010 09:56 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Linux pojmy: XServer, Compiz, Window Manager atd.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Začátek chápeš opravdu správně.

X klient je v cokoliv, co běží na X serveru, tedy cokoliv, co má nějaké GUI. Existují i věci jako QT Embeded, které eliminují potřebu X serveru, ale používají se v podstatě jen, jak už název napovídá, u embeded zařízaní jako jsou mobily apod.

XGL byla součást X serveru používající OpenGL pro vykreslování, ca dva roky zpět ale bylo XGL zavrhnuto a odstraněno z X serveru. Zejména kvůli ne příliš vysoké kvalitě v porovnání s AIGLX.

GTK+ je společně s Qt nejpoužívanější knihovnou pro tvorbu GUI. Samotné GTK není X klient, ale aplikace, která je s jeho pomocí vykreslovaná na X serveru už ano.

Xlib je knihovna sloužící pro komunikaci klientů se serverem. Použití samotného Xlib je už velká vzácnost, protože se vše řeší pomocí knihoven jako je Qt a GTK.

Pak tu máš window managery. Ty se starají o okýnka. Nejrozšířenější je KWin (window manager z KDE), Metacity (WM z Gnome) a Compiz (může fungovat v KDE i Gnome, ale používá se většinou jen s Gnome, protože KWin efekty podporuje sám o sobě). Je tu ještě sousta dalších WM, jako je enlightenment, openbox atd. ale nejsou tak časté.

Můj názor na to co je zastaralé/překonané – X server a protokol X11. Zejména na X11 protokolu je vidět jeho stáří (1987, nepletu-li se). X server kvůli tomu obsahuje spoustu různých rozšíření, které se snaží některé nedostatky X11 protokolu obcházet, ale není to ono. Chtělo by to novou specifikaci protokolu (X12), ale to se možná nikdy nestane. Bohužel tu nic jiného než X zatím není (existuje projekt wayland, který by tyto problémy mohl řešit, ale není zdaleka hotový)
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
16.10.2010 15:01 titili
Rozbalit Rozbalit vše Re: Linux pojmy: XServer, Compiz, Window Manager atd.
>Nic z dotazovaného není zastaralé nebo překonané, vše je živé a každé vyhovuje jiným potřebám. Když je v Linuxu tolik variant, tak se v tom pak člověk ztrácí. Zajímalo by mě, když chci používat Linux místo Windows co mám nainstalovat - co se nejvíce používá, co je nejnovější, nejmodernější, nejrychlejší a nejvíce se to blíží nebo je lepší než Windows. A hlavně má to nějakou budoucnost. Třeba je lepší používat GNOME nebo KDE nebo něco jiného? Jaky Window Manager? Compiz je nej a používají ho ostatní nebo nějaký jiný? Jaký X server a X klient? Když bych chtěl třeba nainstalovat GUI do Linuxu, tak jakou cestou se mám dát. Tzn. kde mám stáhnout XServer, XKlient, Window Manager? Mám stáhnout Compiz nebo je lepší jiného? No a kdybych chtěl vytvořit na Linuxu program, tak se asi taky musím rozhodnout jaké prostředí budu používat. Je pravda, že když vytvořím aplikaci, která bude používat funkce GTK tak nebude fungovat v prostředí KDE a jen v GNOME?

>Chtělo by to novou specifikaci protokolu (X12), ale to se možná nikdy nestane. Proč by se to nemohlo stát? X Window Systém jako specifikaci nebo jeho implementaci XServer a XKlient už nikdo nevyvíjí? Btw: existuje více implementací XServerů nebo Xklientů?

Takže aby fungovalo GUI musím spustit XServer. To bude nějaká aplikace, která bude čekat na to až se k ní připojí (přes síť nebo lokálně) nějaký klient že. Podle mě je ten klient window manager. Třeba ten Compiz. Představuju si to tak, že když stisknu klávesu, tak XServer pošle zprávu všem XKlientům a ti něco provedou akci na Window Manageru. Třeba stisknu zkratku pro minimalizaci okna, tak Xklient dostane zprávu minimalizace okna a řekne to Compizu a ten to okno schová. No a uvnitř Window Manageru musí být to GTK nebo QT, které zobrazuje kontrolky jako tlačítko text apod. Takže - když chci vytvoři GUI aplikaci v Linuxu, tak stačí zvolit GTK nebo QT a to je vše? A ty dvě aplikace nějakým způsobem už budou mít integrovanou komunikaci s Window Managerem a Window Manager bude mít implementovanou komunikaci s XKlientem?

Rozumíte tomu někdo? Jestli to nějak takto funguje, je to docela fajn :-) Ale nechápu tímpádem jak můžu vzdáleně přistupovat k Linuxu, když se přenáší jen pozice okna, zprávy apod. a ne obraz (aspoň myslím) - obraz je lokálně generovaný Window Managerem (okraj kolem okna) a kontrolky pomocí GTK nebo QT.

> S Xgl má tento systém obsaženu hardwarovou akceleraci (přes OpenGL). > Compiz - Kompozitní windows manager, stará se o okna a dělá různé efekty na obrazovce a využívá na to hardwarovou akceleraci OpenGL. > XGL byla součást X serveru používající OpenGL pro vykreslování, ca dva roky zpět ale bylo XGL zavrhnuto a odstraněno z X serveru. Zejména kvůli ne příliš vysoké kvalitě v porovnání s AIGLX.

Kompozitní znamená, že je to 3D? Takže Xgl je nějaká knihovna v XServeru? To by pak znamenalo, že Obraz vytvořený GTK nebo QT se přenáší do Window Manageru (Compiz) a ten to předává XKlientu a ten to přenáší po síti XServeru. Kdyby to tak bylo a bylo by vytvořeno hodně okne, bylo by to dost pomalé ne?

Takže AIGLX je lepší než Xgl? Četl jsem myslím, že Compiz používá Xgl. Tak co je lepší místo Compizu?

Mám z toho nějakou zamotanou hlavu.
16.10.2010 18:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Linux pojmy: XServer, Compiz, Window Manager atd.
Máte možnost si vyzkoušet spoustu distribucí aniž by jste si je nainstaloval (Live Distribuce).
Máte možnost si nainstalovat spoustu distribucí na jeden počítač.
Máte možnost si nainstalovat jednu distribuci a v ní virtualizovat spoustu dalších.
A pak se rozhodnout.
Místo Windows, jakoukoliv :), záleží, co se Vám líbí, co do funkčnosti a dostupnosti software je v Linuxe-ch větší výběr a většina distibucí Vám umožní si nainstalovat spoustu prostředí.
Máte možnost mít obě (nebo i více) GNOME a KDE prostředí a při přihlášení si zvolit
Evidentně jste si nic nezkusil, protože kdyby jste si vzal nějakou distribuci, např. Ubuntu, tak by jste hned zjistil, že řešit věci, na které se ptáte vůbec nemusíte, např. Ubuntu máte přednastaveno s GNOME, OpenSuSe myslím s KDE4, ale nic nebrání kdykoliv si tam cokoliv přidat či ubrat.
Distribuce používají balíčkovací systémy pomocí, kterých jen vybíráte co chcete a ono si to samo stáhne a nainstaluje.

Aplikace vytvořená v GTK+ potřebuje GTK+ atd. ale je to věc knihoven, aplikace v GTK+ primárně připravené pro GNOME, klidně spustíte pod KDE a obráceně (stačí mít nainstalovány knihovny, které si balíčkovací systém sám automaticky přidá pokud je aplikace vyžaduje).

Na dotazy v odstavci Takže aby fungovalo GUI... si netroufám(nechci) rozumně odpovědět, je třeba postupovat po kouscích a nesměšovat věci.
Vzdáleně přistupovat můžete různým způsobem, většinou se používá ssh (textový přístup), sshtunel a přes něj se můžete připojit přímo na X-server, nebo třeba přes VNC nebo kdoví jak :)

Nic není lepší, nic není horší. Compiz se obvykle používá s konzervativnějším GNOME, KDE má vlastní efekety, v sekci desktopy uvidíte různá nastavení.
Já mám třeba něco takového a považuji to za super, ale někdo potřebuje jiný, a o mém si bude myslet, že je 100let za opicemi, ale já jsem v něm rychlý a umí to vše co potřebuji a třeba ten uvedený bych nezvládl, ale autorovi asi vyhovuje, takže si musíte sám vybrat, či projít vývojem.

Hlavně nic nestahujte, jak píšete, stáhněte si jen instalačku, libovolné distribuce a v ní využijte balíčkovací systém, ALE hlavně ZKUSTE si to, odpadnou některé otázky

PS: Vytvořit okenní aplikačku lze mnoha způsoby a (snadněji než na windows). A pro běžnou práci s okýknky se nemusíte vůbec starat o pojmy jako Compiz apod. :).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.