Předchozí Další Obsah

3. X Window System

3.1 X server

Základem X Window je tzv. X-server. X-server představuje jediný binární, spustitelný soubor na kterém celé X Window stojí, zajišťuje správné kreslení okýnek, vyhodnocování události jako stisk klavesy nebo klik myši. Vztah mezi X-serverem a ostatními aplikacemi je "Server - Client". X-server je jediný program který si v X Window "sahá" přímo na Video kartu, může tedy jako jediný využívat různé akcelerace video karty apod. Na volbě správného X-serveru tedy zaleží celý dalsi chod X Window.

Předem musíte přesně vědět jakou máte video kartu, tedy aspoň název čipu a velikost video paměti. Podle čipu vaší karty musite zvolit správný X-server. Jak najít v Red Hatu balík s tím správným X-serverem? Dejme tomu balík: "XFree86-Mach32-3.3.2-8.i386.rpm". Již z nazvu se dozvíme že se urcen pro karty s čipem "Mach32" číslo "3.3.2" je číslo verze X-Window "8" je číslo vydaní (release). Více dozvime třeba příkazem

"rpm -qip XFree86-Mach32-3.3.2-8.i386.rpm"

mimo jiné se dozvíme toto:

Description :
X server for cards built around ATI's Mach32 chip, including the ATI
Graphics Ultra Pro and Ultra Plus.

A už víme vše. Pokud nemužete v distribuci nalézt X-server právě pro vaši videokartu, zde ješte pár Internetových zdrojů kde je k nalezení několik dalších X-serverů:

http://www.suse.de mirror: http://www.suse.com
http://www.xfree.org

Když tedy máme naistalovaný správný X server, zkontrolujeme ještě strávné umístění důležitých souborů. (dejme tomu že jste nainstalovali standartní SVGA X server "XF86_SVGA")

3.2 /etc/X11/XF86Config

/etc/X11/XF86Config je asi nejduležitějším souborem pro konfiguraci X-Window. X Window hledají tento soubor postupně v těchto adresářích a použijí ten který naleznou nejdříve:

Nastavíme v něm typ a frekvence monitoru, klávesnici, myš, fonty, rozlišení a barevnou hloubku videokarty apod. Soubor je rozdělen na sekce, kde kazda popisuje jednu z výše uvedených záležitostí. Nejlepší bude ukázat si to nejdůležitější na příkladě.

Vybiram jenom nejdulezitejsi sekce souboru, ktere se tykaji X serveru.
(znak '#' slouzi pro oznaceni komentare)

...
  
############################################################################
#zacatek sekce "Monitor"

  Section "Monitor"
   Identifier      "My Monitor"
   VendorName      "Unknown"
   ModelName       "Unknown"

# obnovovaci frekvence monitoru

   HorizSync       30-100            
   VertRefresh     40-150

# rozliseni ve kterych ma X server pracovat
# muzete zadat dvema zpusoby, but nasledujicim:

    Mode "800x600"
        DotClock      45
        HTimings     "Unknown"
        VTimings     "Unknown"
        Flags         "Interlace"
    EndMode

# nebo pouzit vystup programu xvidtune a vybrat z nej do XF86Configu
# patricne radky,  napr.:

  Modeline  "800x600"    36.17 800 820 892 996 600 601 603 625

# rozliseni muzete byt samozrejme vice
  
  Modeline "1024x768"    65    1024 1032 1176 1344   768  771  777  806 -hsync -vsync
  Modeline "1280x1024"  110    1280 1328 1512 1712  1024 1025 1028 1054
  
EndSection

################################################################################
# sekce definujici typ videokarty

Section "Device"

# podle sveho gusta zvolite identifikator karty 

    Identifier  "Stealth"
    
# firemni nastaveni...?

    VendorName  "Unknown"
    BoardName   "Unknown"
    
# velikost video pameti

    VideoRam    4000
EndSection        

###############################################################################
# sekce definujici konecny chrakter displaye
#
# zde si X server sam vybere nastaveni podle toho, zda je akcelerovany,
# nebo treba jen pro 16-ti barevny display

Section "Screen"

# "trida" X serveru, pro neakcelerovany X server s SVGA vlastnostmi ( >= 256 barev, >= 640x480,...)

    Driver      "svga"

# videokarta a monitor

    Device      "Stealth"
    Monitor     "My Monitor"

# v jake barevne hloubce ma automaticky startovat
# 8 =  256 barev, 15 = 32000, 16 = 65000, 24 = 16000000, 32 = hodne

    DefaultColorDepth 16

# jaka rozliseni a berevne hloubky jsou pro X server na vyber
    
    Subsection "Display"
        Depth   16
        Modes       "800x600" "1024x768" "1280x1024"

# velikost "virtualni plochy" muze byt vetsi nez rozliseni monitoru
# nastavenim ViewPortu rikate na ktere souradnici "virtualni plochy"
# ma zacit

        ViewPort    0 0
        
# velikost plochy (pokud virtualni plochu nechcete muzete oba prikazy zakomentovat

        Virtual 1024 768
        
    EndSubsection
EndSection

#############################################################################
# obdobne nastaveni pro 16-ti barevny X server

Section "Screen"
    Driver      "vga16"
    Device      "Generic VGA"
    Monitor     "My Monitor"
    Subsection "Display"
        Modes       "640x480" "800x600"
        ViewPort    0 0
        Virtual     800 600
    EndSubsection
EndSection          

#############################################################################
# obdobne nastaveni pro 2 barevny X server

Section "Screen"
    Driver      "vga2"
    Device      "Generic VGA"
    Monitor     "My Monitor"
    Subsection "Display"
        Modes       "640x480" "800x600"
        ViewPort    0 0
        Virtual     800 600
    EndSubsection
EndSection            

#############################################################################
# a nastaveni pro akcelerovane X servery
# napr. pro videokarty s temito chipy
#(S3, Mach32, Mach8, 8514, P9000, AGX, W32, Mach64, I128, and S3V)

Section "Screen"
    Driver      "accel"
    Device      "My Video Card"
    Monitor     "My Monitor"
    Subsection "Display"
        Depth       16
        Modes       "800x600"
        ViewPort    0 0
        Virtual     800 600
    EndSubsection
EndSection               

   ...
  

Správnou funkci X serveru vyzkoušíte jednoduše spuštěním holého X serveru. Asi takhle:

$ X

Že X server běží v pořádku poznáte podle mřížkovaného pozadí a fungujícího kurzoru myši. (křížek)
X ukončíte stiskem [CRTL] + [ALT] + [BACK SPACE]. Pokud zčerná obrazovka a nic se nedeje podařilo se vám definitivně zmást videokartu nezbude vam než restartovat PC a skusit to s jinou konfigurací nebo jiným X serverem.

3.3 Jak X Window startují

Tedy X Window se mohou být spouštěny dvěma způsoby buď příkazem startx z konzole, nebo pomocí démona xdm.

První metodu má smysl používat pokud nehodláte pracovat v X Window stále, ale jen si do X občas odskočit z konzole (nebo z Quakea :-))

Pokud chcete používat X Window stále. Tedy od přihlášení do Linuxu po odhlášeni a vypnutí PC. Je pro vás určen démon xdm. Ten sám spustí X Window a již přihlášení do Linuxu probíhá v X.

Pro tento způsob je vybrán jeden runlevel (viz. kapitola o startu Linuxu), a sice 5. Než však změníte defaultní runlevel na 5, ujistěte se že X Window fungují dobře.

Existují různé variaty xdm, např. větší desktopy jako KDE, nebo GNOME mají vlastní verze jako kdm, gdm, které zvyšují komfort a přidávají další užitečné funkce. Vlastni xdm mají také některé lepší window managerery, např. Window Maker (wdm).

3.3.1 Start X Window pomocí startx

Při zavolání příkazu startx se nejprve spustí samotný X server, a pak se provádí davkový soubor /etc/X11/xinit/xinitrc nebo .xinitrc v domácím adresáři (pokud ho tam máte) V tomto souboru se provádí minimálně spouštění window manageru (viz. níže), ale může si tam také zařadit aplikaci která se má spouštět automaticky při startu X. Apod.

3.3.2 Start X Window pomocí xdm

V případě startu X pomocí xdm, se místo souboru xinitrc volá /etc/X11/xinitrc/Xclients , nebo opět v domovském adresáři .Xclients . Jeho funkce je stejná.

3.4 Výběr Window manageru

Jednou ze skvělých vlastností X Window je to naprostá svoboda ve vzhledu systému. Samotný X server zajištuje vykreslování pouze obsahu okna, tedy aplikace samotné, o tom jak bude vypadat okolí okna, rámečky, tlačítka různá menu apod. nerozhoduje X server, ale speciální program tzv. Window Manager. Tedy podle toho jaký Window Manager si zvolíte tak budou X Window vypadat. Window Managerů je ohromná spousta, takže je opravdu z čeho vybírat, nebudeme tady popisovat jednotlivé Window Managery (tím se zabýval např. článek v nedávných Linuxový novinách), jenom uvedeme základní způsoby jak se Window Managery instalují.

Způsob jak říct X Window který Winodow Manager (MW) při startu spustit, je velmi jednoduchý. Pro většinu WM stačí na posledni řádek souboru xinitrc (resp. Xclients) připsat:

exec [nazev MW]

napr.

exec wmaker

Red Hat (od verze 5.2) používá pro lepší konfiguraci X program wmconfig který zajišťuje spouštění potřebných skriptů pro ten který window manager (snaží se sjednotit způsob konfigurace). V případě, že používáte wmconfig stačí do souboru .wm_style ve vašem domovském adresáři napsat název window manageru který chcete používat (např. "WindowMaker").



Odkazy na různé WM: A kompletní desktopy, ucelená prostředí s balíkem aplikací a jednotným vzhledem:



Předchozí Další Obsah