X-Window Arkadiusz Jaworski
X-Window System X to jest zbiór protokołów, tak jak telnet, ftp, http, ktore pozwalają na zbudowanie rozproszonego systemu okienkowego. Środowisko z graficznym interfejsem użytkownika Nie jest częścią jądra Modularność
Technologia Klient-Serwer Możliwość uruchomienia serwera X na jednym komputerze oraz odczytanie i przesłanie danych wejściowych i wyjściowych z i do programu działającego na innym komputerze. Serwer odpowiedzialny jest za współpracę ze sprzętem tzn. kartą graficzną i monitorem Serwer odpowiedzialny jest za współpracę ze sprzętem tzn. kartą graficzną i monitorem Klient to różne programy które wyświetlają swoje dane poprzez ten serwer Klient to różne programy które wyświetlają swoje dane poprzez ten serwer
Komponenty X: Serwer X zarządzanie ekranem, klawiaturą i innymi urządzeniami wejścia-wyjścia oraz podstawowe procedury zarządzania oknami Xorg, XFree86 Zestaw widgetów narzędzia do prezentowania informacji wewnątrz okien (wyświetlanie menu, paski przewijania, przycisków itp.) QT i GTK Menedżery okien odpwiedzialne za obsługę wszystkich funkcji związanych z oknami (elementy otaczające okna, wielkość i położenie okien, elementy sterujące oknami) Środowiska pulpitu zbiory mniejszych lub większych narzędzi korzystających z ze wspólnego zestawu widgetów i zapewniają pełną integrację pomiędzy poszczególnymi programami Najbardziej znane: KDE (Qt) oraz GNOME (GTK)
Instalacja X11 (Xorg) z portów: # cd /usr/ports/x11/xorg # make install z pakietów: # pkg_add –r xorg
Konfiguracja X11 (Xorg) Automatyczne wykrycie sprzętu: # Xorg –configure w katalogu użytkownika utworzy się plik xorg.conf.new Przetestowanie automatycznej konfiguracji: # Xorg –config xorg.conf.new Log z błędami: /var/log/Xorg.0.log
xorg.conf Hierarchiczna struktura Początkowa sekcja: Section ”ServerLayout” Identifier ”X.org Configured” Screen0 ”MyScreen” 0 0 InputDevice ”Mouse0” „CorePointer” InputDevice ”Keyboard0” ”CoreKeyboard” EndSection
xorg.conf Ustawienia ekranu: Section ”Screen” Identifier ”MyScreen” Device”Card0” Monitor”LGFlatron” DefaultDepth24 SubSection ”Display” Vievport0 0 Depth16 Modes ”1024x768” ”800x600” ”640x480” EndSubSection SubSection ”Display” Vievport0 0 Depth24 Modes ”1024x768” ”800x600” ”640x480” EndSubsectionEndSection
xorg.conf Ustawienia kart graficznej: Section ”Device” Identifier”Card0” VendorName”ATI” BoardName”Radeon” Driver”ati” Option”DPMS” Option”OffTime” ”20” EndSection
xorg.conf Ustawienia monitora: Section”Monitor” Identifier”LGFlatron” VendorName”LG” ModelName”F700P” HorizSync30.0 – 96.0 VertRefresh70.0 – EndSection
xorg.conf Ustawienia myszy: Section ”InputDevice” Section ”InputDevice” Identifier”Mouse0” Driver”mouse” Option”Protocol” ”auto” Option”Device” ”/dev/sysmouse” Option”ZAxisMapping” ”4 5” EndSection Ustawienia klawiatury: Section ”InputDevice” Identifier”Keyboard0” Driver”kbd” EndSection
xorg.conf Ustawienia czcionek: Section ”Files” RgbPath”/usr/X11R6/lib/X11/rgb” ModulePath ”/usr/X11R6/lib/modules” FontPath ”/usr/X11R6/lib/X11/fonts/misc/” FontPath ”/usr/X11R6/lib/X11/fonts/TTF/” FontPath ”/usr/X11R6/lib/X11/fonts/TTF/” FontPath ”/usr/X11R6/lib/X11/fonts/Type1/” FontPath ”/usr/X11R6/lib/X11/fonts/Type1/” FontPath ”/usr/X11R6/lib/X11/fonts/CID/” FontPath ”/usr/X11R6/lib/X11/fonts/CID/” FontPath ”/usr/X11R6/lib/X11/fonts/75dpi/” FontPath ”/usr/X11R6/lib/X11/fonts/75dpi/” FontPath ”/usr/X11R6/lib/X11/fonts/100dpi/” FontPath ”/usr/X11R6/lib/X11/fonts/100dpi/”EndSection
Konfiguracja X11 (Xorg) Jeśli wszystko działa: # cp xorg.conf.new /etc/X11/xorg.conf Wystartowanie X: startx
Środowiska pulpitu Instalacja XFce: z portów: z portów: # cd /usr/ports/x11-wm/xfce4 # make install z pakietów: # pkg_add –r xfce4 Uruchomienie XFce: W katalogu użytkownika utworzyć plik.xinitrc, który zawiera: /usr/X11R6/bin/startxfce4
XDM XDM – X Display Manager – najprostszy serwer korzystający z protokołu XDMCP (X Display Manager Control Protocol). XDMCP – protokół zdalnego logowania poprzez okno GUI. Protokół nie obsługuje szyfrowania nazw użytkowników i haseł.
XDM Zdalne logowanie: w pliku /etc/ttys ttyv8 ”/usr/X11R6/bin/xdm –nodaemon” xterm off secure w pliku /usr/X11R6/lib/X11/xdm/xdm-config Display Manager.requestPort: 0 W pliku /usr/X11R6/lib/X11/xdm/Xacces * * CHOOSER BROADCAST w pliku /usr/X11R6/lib/X11/xdm/Xservers :0 local /usr/X11R6/bin/X
XDM Tryb kontaktowania się XDM z X Serwerem: query- (direct) zapytanie do konkretnego hosta, na którym działa xdm X –query nazwa_hosta broadcast – zapytanie do wszystkich hostów z xdm X –broadcast indirect – zapytanie do pewnego hosta z xdm, który może je przesłać dalej X –indirect nazwa_hosta
Handbook rozdział 5: The X Window System