poniedziałek, 7 marca 2022

X Window System


X Window System – środowisko okien graficznych stworzone w latach 80. XX wieku w laboratoriach MIT (pierwsze wydanie X1 w czerwcu 1984 roku). Jest stosowamy głównie w systemach Unix i Linux. Najnowszym wydaniem jest wersja 11. Często oprócz X Window System stosuje się też nazwę X, X11, X11R6 (dla implementacji X.Org w wersji 6) lub X11R7. Najpopularniejszymi implementacjami X Window System są X.Org oraz XFree86.

X Window System tworzy okna, na których program może tworzyć obraz, oraz zajmuje się obsługą urządzeń wejściowych (myszki, klawiatury). Serwer X może rysować tylko najprostsze obiekty (odcinki, wielokąty, elipsy, wyświetlać bitmapy, pojedyncze piksele), nie dostarcza natomiast żadnego interfejsu użytkownika, czyli przycisków, rozwijanych menu, pasków przewijania itp. Rysowaniem i obsługą tych elementów musi zająć się program, najczęściej jest to biblioteka widgetów. System X nie zajmuje się również obsługą okien, nie dostarcza żadnych wbudowanych mechanizmów do ich przesuwania, zmiany rozmiaru, zamykania i uruchamiania programów, nie rysuje także pasków tytułowych dla okien – tym wszystkim musi zająć się osobny program, tzw. menedżer okien (Window Manager) lub jeszcze bardziej coś rozbudowanego tzn. środowisko graficzne (Desktop Environment).

Opcjonalnie można jeszcze doinstalować menedżera logowania (display manager lub login manager), bo bez niego X Window System odpala się w kontekście użytkownika, który zalogował się do konsoli tekstowej.

X Window System działa w architekturze klient-serwer, co oznacza, że składa się z dwóch elementów:
- serwera, zajmującego się wyświetlaniem grafiki oraz obsługą myszy i klawiatury,
- klienta, czyli oprogramowania żądającego od serwera zmian zawartości okna.
Nie ma znaczenia, czy oba elementy systemu działają na tym samym komputerze, czy na dwóch różnych maszynach. Jedna maszyna może wykonywać program, druga może wyświetlać wynik działania programu.

Wszystkie poniższe komendy były wydawane w systemie operacyjnym FreeBSD.

Instalacja X Window System - X.Org:

# pkg install xorg

Istnieją różne metody uruchomienia X-ów oraz aplikacji graficznych. Oto najbardziej prymitywna:

# X

lub

# Xorg

Uzyskamy czysty X Window System bez żadnego menedżera okien (czarny/szary ekran z kursorem myszy) - aplikacje odpalają się bez ramki, nie można zmieniać ich rozmiaru oraz przesuwać (ale działają!). Aplikacje odpalamy z dowolnej konsoli tekstowej np. [Ctrl+Alt+F2] w następujący sposób:

# xcalc -display :0

Można również odpalić czysty X Window System razem z terminalem xterm za pomocą polecenia:

# xinit

W systemie FreeBSD można uruchomić X Window System razem z domyślnym menedżerem okien TWM za pomocą poniższej komendy:

# startx

Mamy już zapewnioną obsługę okien.

Inne menedżery okien (lub całe środowiska graficzne) trzeba doinstalować. Na przykład FVWM:

# pkg install fvwm

Po instalacji menedżera okien FVWM, edytujemy plik ~/.xinitrc. Dodajemy wpis:

exec fvwm

Podsumowując, polecenie startx domyślnie uruchamia menedżera okien TWM lub inny menedżer okien (Window Manager) lub środowisko graficzne (Desktop Environment), gdy mamy odpowiedni wpis w pliku ~/.xinitrc.

Należało by wspomnieć, że rozbudowane środowiska graficzne np. XFCE, Gnome do prawidłowej pracy wymagają też odpowiednich wpisów w pliku /etc/rc.conf.

Przydatne "X-owe" programy, których nie trzeba doinstalowywać:

xcalc - kalkulator
xterm - terminal
xclock - zegar
xkill - zamyka okno graficzne (klienta)

Na koniec tego artykułu polecam książkę online: X Window System User's Guide.