Bociek PLD - Pisarz
I. Informacje podstawowe
II. Instalacja
III. Podręcznik użytkownika
IV. Podręcznik administratora
X-Window
Zaawansowane
V. Tworzenie PLD - Praktyczny poradnik
VI. O podręczniku
O tej książce
Spis treści
Inne wersje tego dokumentu
HTML (jeden plik)
Odnośniki
Tworzymy dokumentację PLD
Strona PLD
Listy dyskusyjne PLD

Zaawansowane

<- ->
 

W tym miejscu zajmiemy się bardziej zaawansowaną konfiguracją X-Servera. Zakładam, że istnieje wstępnie skonfigurowany plik /etc/X11/xorg.conf, za pomocą polecenia X -configure. Wiele opisanych tu czynności konfiguracyjnych dla konkretnych podsystemów, wykonujemy za pomocą programu xorgcfg, uruchamiamy go w trybie tekstowym :

# xorgcfg -textmode

Po uruchomieniu zobaczymy listę dostępnych kategorii, odpowiadają one dalszym opisom. Przykładowo, aby skonfigurować myszkę, wybieramy z listy opcję: Configure mouse a następnie Edit Mouse0 itd. Po ustawieniu wszystkich interesujących nas opcji, wybieramy Write xorg.conf and quit

Bardziej zaawansowane będą wymagały ingerencji za pomocą edytora tekstu, przypominam, że "obrabiamy" plik # /etc/X11/xorg.conf.

Mysz

Zakładam, że w programie wybraliśmy sekcję konfiguracji myszki. Dla współczesnych myszek, w konfiguracji protokołu wybieramy Auto, dla myszek szeregowych wybierzemy Microsoft. Następnie konfigurator spyta o to, czy dla myszek dwuprzyciskowych włączyć emulację trzeciego klawisza, w przypadku myszek o większej ilości przycisków odpowiadamy negatywnie. Jako urządzenie wybieramy /dev/input/mice. Po zapisaniu wybranej konfiguracji, otrzymamy w sekcji ustawień myszy w pliku /etc/X11/xorg.conf fragment o zbliżonej konstrukcji:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "Auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Jeśli posiadamy myszkę z wieloma klawiszami i rolkami, a standardowy sterownik nie radzi sobie z obsługą wszystkich zdarzeń, to możemy wybrać bardziej nowoczesny i elegancki sposób na uruchomienie naszego sprzętu - evdev. Przykładowa instalacja i konfiguracja zostanie przedstawiona dla popularnej myszki Logitech MX500. Pierwszym krokiem jest załadowanie modułu jądra modprobe evdev oraz instalacja pakietu xorg-driver-input-evdev (X11-driver-evdev dla Ac). Następnie odszukujemy w /proc/bus/input/devices numer urządzenia eventX naszej myszki i wpisujemy do konfiga X.Org poniższą sekcję:

Section "InputDevice"
    Identifier "Mouse1"
    Driver     "evdev"
    Option     "Device"   "/dev/input/event1"
    Option     "Buttons"  "10"
EndSection

Klawiatura

Nowo wygenerowany plik konfiguracji nie zawiera opcji lokalnych, aby je ustawić, z menu programu wybieramy Configure keyboard, Jako model (Keyboard model) wybieramy np. Generic 104-key PC, a w Keyboard layout ustawiamy Poland. Powyższa operacja wygeneruje następującą konfigurację klawiatury:

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc104"
        Option      "XkbLayout" "pl"
EndSection

W przypadku starszych wersji X.Org (w Ac) X -configure ustawiany jest zły sterownik klawiatury, należy go zmienić na kbd, jak na powyższym fragmencie. Możemy to wykonać za pomocą dowolnego edytora tekstu.

Jeśli posiadamy klawiaturę multimedialną i chcemy wykorzystywać jej dodatkowe klawisze, to musimy wybrać odpowiedni model klawiatury. Nasz wybór będzie dotyczył wartości parametru XkbModel, następnie musimy sprawdzić za pomocą programu xev czy wszystkie zdarzenia z klawiszy multimedialnych są prawidłowo obsługiwane przez X-serwer.

Monitor

Właściciele monitorów LCD/Plasma są na uprzywilejowanej pozycji, jeśli sterownik karty graficznej potrafi "porozumieć się" z monitorem (za pomocą DDC), to nie są wymagane żadne czynności konfiguracyjne. Aby detekcja następowała automatycznie musimy w pliku konfiguracji postawić znak komentarza ("#") przed opcjami HorizSync, VertRefresh.

W pozostałych przypadkach musimy określić parametry monitora. Wybierając opcje programu Configure monitor, będziemy będziemy mogli wybrać jakiś monitor z listy lub podać parametru własnego urządzenia: Enter your own horizontal sync range. Tu podajemy wartości HorizSync (w kHz) i VertRefresh w (Hz) zgodne ze specyfikacją naszego urządzenia. Po zapisaniu pliku konfiguracji otrzymamy:

Section "Monitor"
        Identifier  "Monitor0"
        HorizSync   31.5 - 96.0
        VertRefresh 50 - 100
        Option "DPMS"
EndSection

O ile HorizSync jest opcją ściśle zależną od możliwości monitora i pod żadnym pozorem nie powinniśmy jej dowolnie zmieniać, o tyle VertRefresh daje więcej swobody. Za jej pomocą ustawiamy odświeżanie obrazu, Nie możemy oczywiście przekroczyć parametrów monitora, ale możemy ustawić minimalne odświeżanie, np. 85 - 85 wymusi częstotliwość 85Hz. (oczywiście pod warunkiem, że nasz monitor, przy danej rozdzielczości pozwala na wyświetlanie z taką wartością).

Rozdzielczość obrazu

Wstępnie plik konfiguracji nie zawiera żadnych definicji rozdzielczości i będzie ona ustalana automatycznie, co jest wskazane przy monitorach LCD/Plasma. W przypadku monitorów CRT, zapewne będziemy chcieli użyć najbardziej ergonomicznej. Mamy tu dwa wyjścia, możemy nic nie ustawiać w X.Org, ale za to ustawić ją w aplikacjach konfiguracyjnych środowisk Gnome/KDE, lub ustawić ją na stałe w konfiguracji X-serwera. Możliwości ustawień konfiguratorów w środowiskach graficznych są dosyć skromne, dlatego niektórzy pokuszą się zapewne o ustawienie odpowiednich wartości na stałe.

Po wybraniu Configure screen w programie, zostaniemy zapytani o ilość dostępnych kolorów, dla współczesnego sprzętu bez zastanowienia możemy wybrać 24bity na piksel a następnie wybieramy listę rozdzielczości, które mają być dostępne. W większości wypadków wystarczy nam jedna rozdzielczość. Oczywiście musi być obsługiwana przez monitor. Zapisana konfiguracja może wyglądać następująco:

Section "Screen"                                                                                                              
        Identifier "Screen0"                                                                                                  
        Device     "Card0"                                                                                                    
        Monitor    "Monitor0"                                                                                                 
        SubSection "Display"                                                                                                  
                Viewport   0 0                                                                                                
                Depth     24                                                                                                  
		Modes "1024x768"
        EndSubSection                                                                                                         
EndSection

Zaawansowane - DPI

X.Org pozwala na wskazanie DPI (dots per inch), w celu lepszego dopasowania wielkości wyświetlanych czcionek ekranowych. W przypadku współczesnych monitorów, za pomocą DDC odczytywany jest rozmiar obszaru wyświetlania, by automatycznie określić DPI. Dla monitorów, które nie posiadają takiej możliwości lub podają ją nieprawidłowo, będziemy mogli sami ten parametr ustawić. Wartość DPI można też ustawić bezpośrednio w konfiguracji środowiska (np. w Gnome) my jednak pokażemy jak zrobić do w X-serwerze. W sekcji Monitor pliku konfiguracji należy dodać opcję:

DisplaySize $x $y

gdzie parametry $x i $y są wymiarami w milimetrach, odczytanymi z dokumentacji urządzenia lub po prostu zmierzonymi linijką. Sekcja konfiguracji monitora może wyglądać następująco:

Section "Monitor"
        Identifier  "Monitor0"
        HorizSync   31.5 - 96.0
        VertRefresh 50 - 100
	DisplaySize 269 201
EndSection

Zaawansowane - serwer czionek

Zaczynamy od instalacji serwera XFS(Th): xorg-app-xfs, w przypadku Ac jest to pakiet X11-xfs. Dla wygody założymy także, że będziemy korzystać z serwera czcionek X11-xfs, który uruchamiamy poleceniem /etc/init.d/xfs start. Dlatego też sekcja dotycząca czcionek w pliku xorg.conf.new powinna wyglądać podobnie do podanego niżej przykładu:

Section "Files"
	RgbPath     "/usr/X11R6/lib/X11/rgb"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/local/"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
	#    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
	FontPath    "unix/:7100"
	#    ModulePath "/usr/X11R6/lib/modules"

EndSection

Czyli komentujemy wszystkie wywołania bezpośrednie do czcionek i przekazujemy obsługę zarządzania czcionkami serwerowi xfs.

Uwagi

Parametry monitora mogą być odczytywane za pomocą modułu DDC, o ile monitor jest włączony. Powinniśmy zatem włączać monitor przed uruchomieniem X-Servera lub ustawić "na sztywno" jego parametry, inaczej w skrajnym wypadku obraz będzie miał rozdzielczość 640x480, przy odświeżaniu 60Hz.

 
<- ->