X11 - X Windowing System

Widoki Ekranów

 

X11 jest sieciowym protokołem zaprojektowanym dla systemu Unix i jemu podobnych w celu umożliwienia graficznego, zdalnego dostępu do aplikacji. Oryginalny system okienkowy X (X Windowing System) został ogłoszony w 1984 a opracowany w MIT.

Komputer z systemem okienkowym X może uruchamiać programy na zdalnym komputerze. Przetwarzanie danych odbywa się na komputerze zdalnym, lecz obraz generowany przez aplikację pojawia się na komputerze lokalnym.

Przez pewien czas system ten tak popularny, iż stosujące go komputery nazywano terminalami X. Podobnie do terminali znakowych nie zawierały one "mózgu", jedynie to co było niezbędne do pracy ich systemów okienkowych X. Terminale X zaczęły znikać wraz ze wzrostem popularności graficznych komputerów osobistych będących wystarczająco tanimi, aby opłacało się w nich uruchamiać system okienkowy X jako nakładkę na zainstalowany system podstawowy (w przeciwnym razie występowała potrzeba przystosowania aplikacji do pracy lokalnej na komputerze osobistym). Ciekawe jest, iż dzisiaj popularność podobnych terminali znów wolno rośnie wraz z dużym businessem, który zaczyna zdawać sobie sprawę o potrzebie posiadania łatwych do zarządzania, wymiennych "chudych klientów".

Chociaż terminale X nie podbiły rynków świata, to system okienkowy X naprawdę stał się standardowym systemem graficznym dla programów pracujących w środowiskach Unixa i Linuxa.  Systemy te wykorzystują protokół X11 do rysowania grafiki na swoich lokalnych wyświetlaczach, które są traktowane jak wyświetlacze zdalne, którym zdarzyło się po prostu przywędrować na lokalne maszyny.

Aplikację okienkowe X wciąż mogą być uruchamiane zdalnie, lecz ludzie zwykle tego nie robią. Funkcjonalność ta jest również zwykle ograniczana w dzisiejszych czasach z uwagi na względy bezpieczeństwa. Gdyby nie było zabezpieczeń, to z powodu sposobu działania systemu X ktoś inny na sieci mógłby uruchomić aplikację, która pojawiłaby się na ekranach innych użytkowników.

obrazek

Ten zrzut ekranu pokazuje oparty na DOS'ie system okienkowy X zwany DeskView. Czy możesz rozpoznać, które aplikacje pracują lokalnie pod DeskView, a które pracują na zdalnym serwerze Solaris (w Unixie)?

Na tym obrazku jedynymi aplikacjami pracującymi lokalnie na tym komputerze są Remote Program Launcher (uruchamiacz zdalnych programów), AppManager (menedżer aplikacji) oraz menedżer okienek DeskView. Reszta to aplikacje X11 pracujące na zdalnym serwerze Solaris. Zwróć uwagę, iż lokalny menedżer okienek rysuje paski tytułowe i krawędzie okienek dla wszystkich aplikacji, nawet jeśli pracują one zdalnie.

Nie, dla DeskView nigdy nie istniała żadna wersja przeglądarki Netscape. Wersja unixowa wykorzystuje X11 i dlatego jej obraz można wyeksportować do maszyny innego klienta z uruchomionym systemem okienkowym X takim jak DeskView.

Uwaga techniczna: Oprogramowanie uruchomione na komputerach klienckich jest technicznie zwane X Serwerem z uwagi na sposób swojej pracy. Ponieważ dla ludzi jest to mylące, a ja staram się nie wgłębiać tutaj w zawiłości techniczne, to nie będę stosował tego terminu.

obrazek
Oto inny przykład maszyny klienta z uruchomionym systemem okienkowym X. Ten komputer kliencki pracuje w systemie Windows, podczas gdy wyświetlana aplikacja (znów Netscape) w rzeczywistości pracuje na serwerze Linuxowym.
obrazek

Oprócz systemów Linux i Unix system okienkowy X używany jest rzez inne systemy operacyjne. Ten zrzut ekranu pokazuje aplikacje X działające w systemie VMS VAX. Chociaż nie jest to popularne, ale programy aplikacji okienkowych X mogą istnieć w systemie Microsoft Windows.

Grafika i elementy okienek są rysowane zgodnie z instrukcjami serwera, jednakże czcionki muszą być załadowane na komputer kliencki lub terminal X. Podobnie jak w przypadku przeglądarki sieciowej, jeśli jakaś czcionka jest nieobecna, to zostanie użyty jej zamiennik (co nie zawsze przybiera pożądany wygląd).

obrazek
To jest zrzut ekranu starszej wersji Linuxa używającej systemu okienkowego X do wyświetlania swoich własnych aplikacji. W tym przypadku ekranem jest standardowy, lokalny system wideo na komputerze, na którym są uruchomione te aplikacje oraz Linux.
obrazek

Linux i aplikacje X11 przeszły długą drogę. Tutaj widzimy przykład nowoczesnego pulpitu Linuxa używającego systemu okienkowego X11.

System okienkowy X nie udostępnia żadnej formy przekierowywania wydruków. W Unixie i Linuxie drukowanie obsługiwane jest zupełnie oddzielnie.

obrazek

Chciałbym również wspomnieć o terminalu Sunray, który jest odpowiedzią firmy Sun na terminale X.

Terminale te zachowują się podobnie do terminali X, jednakże nie stosują protokołu X11. Zamiast tego stosują właściwy firmie Sun protokół, który obecnie współpracuje tylko z Sun Solaris. Oczywiście mogą one być używane z innymi zdalnymi aplikacjami, jeśli odpowiednie oprogramowanie klienckie zostanie zainstalowane na serwerze Solaris Sunray.

Serwery Sunray wykazują kilka zalet w stosunku do tradycjonalnych terminali X: mogą przesyłać dźwięk z aplikacji na lokalny komputer. Całe sesje pulpitu można kontynuować po wstrzymaniu na innym terminalu, a użycie  "smart cards" (inteligentne karty) może ułatwić przechodzenie z jednego terminalu na inny.

obrazek obrazek obrazek

obrazek

Tłumaczenie na język polski dla I LO w Tarnowie zostało wykonane za pisemną zgodą Nathana Linebacka z oryginalnej witryny internetowej Graphical User Interfaces
Tłumaczenie z języka angielskiego wykonał: mgr Jerzy Wałaszek

obrazek