Chyba czas wreszcie opisać tego słynnego X-Window, który przez wiele osób
jest uznawany jako jedną z najważniejszych rzeczy w Linuxie. O X-ach krążą
legendy - niewiele osób wie, jak ten system działa naprawdę. Czas rozwiać
wszystkie legendy...
X-Window jest systemem, który pozwala na wyświetlanie grafiki w oknach przez
wiele programów na jednym wyświetlaczu. Zbudowany jest na architekturze
klient-serwer. X-Serwer zajmuje się obsługą sprzętu - karty graficznej, myszy,
klawiatury. Udostępnia on te zasoby X-klientom - programom, wyświetlającym swoje
dane na serwerze i korzystające ze zdarzeń klawiatury i myszy z serwera.
Podstawową zaletą takiej architektury jest fakt, że klienci X nie muszą być
wcale uruchamiani na Twoim komputerze, lecz na innym (szybszym) w sieci - a
zdalny program będziesz obsługiwał swoją klawiaturą i myszą, a wyniki będą
wyświetlane na Twoim monitorze! Daje to niewyobrażalne możliwości - wyobraźcie
sobie, że postawimy potężny, wieloprocesorowy serwer, bądź nawet klaster, w
centrum firmy. Pracownikom natomiast udostępnimy tanie komputery bez twardego
dysku, ładujące system z sieci. Łączą się one z centralnym systemem i
uruchamiają wszystkie aplikacje właśnie na nim! Zauważcie, że jest to dużo
tańszy i łatwiejszy w zarządzaniu układ, niż ze standardowymi stacjami
roboczymi... Drugą zaletą układu klient-serwer jest to, że aplikacje stają się
niezależne od platformy. Można np. uruchomić X-Serwer na komputerze z Windows, a
następnie uruchamiać aplikacje na komputerze z Linuxem tak, aby wyświetlały swe
dane na komputerze z Windows! Niesamowite, nie? :)
Sam X-Window nie wystarczy, żeby programy mogły pracować w trybie graficznym.
Potrzebny jest program i biblioteka: menedżer okien i biblioteka widgetów.
Menedżer okien zajmuje się sterowaniem oknami aplikacji uruchomionych na
serwerze X. To menedżer okien odpowiada za wygląd i zachowanie "ramek" okien.
Istnieje kilkanaście różnych menedżerów okien, więc na pewno wybierzesz jakiś
dla siebie. Ja polecam Sawmilla, Enlightenment i AfterStepa. Pierwszy - szybki i
łatwy w konfiguracji, drugi - niezwykle wybajerowany, trzeci - to już klasyka...
Zresztą sprawdźcie sami.
Biblioteka widgetów pozwala programom na łatwe złożenie funkcjonalnego
interfejsu użytkownika. Biblioteka ta wykonuje całą "czarną robotę" komunikacji
z X-serwerem. Aplikacja tylko mówi bibliotece, jakie okienka, o jakich wymiarach
i z jaką zawartością mają wyświetlić, a biblioteka wykonuje całą resztę.
Bibliotek widgetów jest wiele rodzajów - od prostego Athena Widgets i 3d Athena
Widgets, przez Motif aż do Qt i GTK+. Z tego powodu obserwujemy różnorodność
wyglądu i zachowania interfejsu użytkownika różnych programów.
Na końcu są tzw. środowiska użytkownika. Są to zintegrowane zestawy aplikacji
do zarządzania plikami i uruchamiania programów. Tworzą pasek zadań, menu
startopodobne, pulpit. Nie są potrzebne do działania X-ów - wiele menedżerów
okien przejmuje częściowo ich funkcje. Ale, jeśli ma się odpowiednio mocny
komputer, warto ich używać. Pozwalają znacznie ułatwić użytkowanie komputera. Są
dwa najważniejsze środowiska: KDE i GNOME. Ja preferuję GNOME, ale nie
przekreślam KDE - to sprawa gustu.
Myślę, że napisałem już wszystko, co wystarczy do zrozumiena X-ów,
przynajmniej częściowego. Już nie są taką tajemnicą, nie? :)
|