Aha. Kaip suprantu, pas tamstą Linux'as iškart paleidžia X'us ir login'as yra grafinis.
Ctrl-Alt-F1 išmes iš grafinio režimo į tekstinį. X'ai pasileidžia (kaip taisyklė) ant 7-os konsolės, taigi sugrižti į X'us galima bus su Ctrl-Alt-F7.
Galima pasileisti sistemą kitame runlevelyje (SuSE grafika yra 3, tekstinis yra 2, RedHat grafika yra 5, tekstinis 3), taip, kad X'ai net nebūtų startuojami. Tam reikia įrašyti runlevelį į LILO: promptą po pasirenkamo os'o varianto pavadinimo:
LILO: linux 2
Kitas, tikresnis būdas -- pasikrauti single user mode'e ir viską pataisyti.
LILO: linux s
arba
LILO: linux single
Default runlevelis yra nustatomas faile /etc/inittab eilutėje su
:initdefault:
X Window System, sutrumpintai vadinama X Window arba tiesiog X, yra paremta
kliento/serverio architektūra. X serveris -- grafikos, klaviatūros bei
pelės draiverių visuma, leidžianti kelioms programoms (X klientams) rodyti
bet ką atskiruose, gal būt persidengiančiuose languose.
Pavyzdžiai: XFree86 serveriai (XF86_SVGA, XF86_S3 ir t.t.), Metro X,
Accelerated X.
Visi X klientai yra lygūs, bet vienas iš jų lygesnis uz kitus. Jis vadinasi window manageriu (gal į lietuvių kalbą nebandysiu išversti... "langų vadybininkas?" ;) Window managerio paskirtis -- duoti kiekvienam langui rėmelį su pavadinimų, porą arba kelias dešimtis mygtukų (uždarymo, padidinimo ir t.t.), jis pirmas apdoroja klaviatūros bei pelės paspaudimus ir leidžia langus nešioti, didinti, iškelti į priekį, aktyvuoti ir taip toliau. Pavyzdžiai: Enlightenment, kwm (iš KDE), fvwm, Window Maker ir devynios galybės kitų.
Toliau lieka tik vartotojo programos. Jos, žinoma, galėtų pačios keistis su X serveriu žemo lygio komandomis, bet daug paprasčiau naudoti pilnavertes bibliotekas. Šios biliotekos suteikia įvairių standartinių įrankių (vadinamų `widget') -- mygtukų, scroll barų ir t.t. Pavydžiai: Xaw (Athena Widget Set), Xaw3d, Motif, Gtk+, Qt.
Galų gale beliko desktopai (na, aš ne kalbininkas, atleiskit kaip nors...). Desktopo paskirtis -- suteikti įvairioms programoms vienodą išvaizdą ir naudojimą (nevykęs `look and feel' vertimas). Paprastai desktopą sudaro biblioteka, window manageris ir krūvelė bendros paskirties programų (paleidimo panelė, failų tvarkyklė ir t.t.). Pavyzdžiai: CDE, KDE, Gnome.
Tai sukūrė ir į konfą atsiuntė (spekit kas?) Marius Gedminas.
Pasirinkti norimą spalvų skaičių galima leidžiant X serverį:
$ startx -- -bpp 24
(vietoje 24 įrašykite norimą bitų skaičių pikseliui, pvz., 8, 16, 24,
32). Žinoma, jūsų XF86Config faile esančioje Section "Screen" turi būti
po Subsection "Display" kiekvienam spalvų gyliui.
Nutylėtą reikšmę nurodykite toje pačioje sekcijoje "Screen":
DefaultColorDepth 24
Išvardinkite norimas rezoliucijas "Screen" sekcijos "Display" subsekcijose, pvz.:
Modes "1024x768" "800x600"
Startavus X serverį bus pasirinkta pirmoji rezoliucija; kitas galėsite
perjunginėti klavišų kombinacijomis Ctrl+Alt+[+], Ctrl+Alt+[-].
Žinoma, jūsų XF86Config faile turi būti įrašyta bent po vieną Modeline
eilutę kiekvienai rezoliucijai.
XFree86 automatiškai pasirenka didžiausią įmanomą ekrano atnaujinimo dažnį (refresh rate). Pasirinkimo algoritmas yra toks: norimai rezoliucijai surandamos visos Modeline eilutės. Kiekvienai iš jų patikrinami trys parametrai:
Siuos tris dydzius sieja ekrano rezoliucija. Supaprastinus:
hsync = dot_clock / horiz_total
vsync = hsync / vert_total
Kur horiz_total bei vert_total -- ekrano rezoliucija (tiksliau -- gal apie 20% daugiau, nes dar reiktų pridėti rėmeli abiejuose kraštuose bei sinchronizacijos taktus). Kas nori daugiau apie tai sužinoti, tegu paskaito XFree86-Video-Timings-HOWTO
Video kortos palaikomus taškų dažnius XFree86 serveris nustato pats
(arba galima juos nurodyti Clock eilte, jei tikrai žinote, ką darote).
Leidžiamus horizontalios ir vertikalios sinchronizacijos dažnius turite
nurodyti patys XF86Config faile:
HorizSync 30-70 # kHz -- Mano ViewSonic E655-2 manualas
VertRefresh 50-120 # Hz šitaip sako
Standartinis perspėjimas: jei nurodysite reikšmes virš savo monitoriaus sugebėjimų, galite jį sudeginti. Kiek žinau, šis perspėjimas galioja tik seniems akmens amžiaus fixed frequency monitoriams, bet per daug manim netikėkit, nesu specialistas. Jei kas ne taip -- aš nekaltas.
Jei jums neužteks standartinio dažnio (arba jis nepatiks), tuomet galite susirasti visas Modeline eilutes konkrečiai rezoliucijai ir pakaitalioti jose dot_clock parametrą
Modeline "1024x768" 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
# dot_clock --^ horiz_total --^ vert_total --^
Žinoma, senų modelainų geriau neliesti, jas tiesiog užkomentuoti ir (nusikopijavus) palikti tik vieną bandymams.
Leidžiamas dot_clock reikšmes pamatysite įvykdę komandas
$ X -probeonly > /tmp/X.out
$ less /tmp/X.out
Ieškokite dviejų eilučių "Clocks".
Jei vaizdas ekrane atrodo pasislinkęs, per siauras ar per platus,
pasileiskite xvidtune, susireguliuokite parametrus, o rezultatą
(Modeline eilutę, kurią xvidtune išspausdins terminale paspaudus kažkurį
mygtuką) įrašykite į savo XF86Config failą.
... # čia praleistos sekcijos "Files", "ServerFlags", "Keyboard",
# "Pointer"
Section "Monitor" # Tokių sekcijų gali būti kelios, bet pakanka ir
# vienos
Identifier "ViewSonic E655" # kaip norit -- taip vadinkit ;)
# VendorName, ModelName -- nesvarbu
HorizSync 30-65 # įrašykit teisingas reikšmes
VertRefresh 50-100 # tik neklauskit manęs, kur jas gauti
# ... Modeline eilutės ...
EndSection
Section "Device"
Identifier "My Video Card" # kaip norit -- taip vadinkit II
# ...
EndSection
Section "Screen" # Po vieną kiekvienai X serverio atmainai, t.y.
# draiveriui
Driver "svga" # palaiko daugumą video kortų.
Device "My Video Card" # čia nurodote atitinkamą Device sekciją
Monitor "ViewSonic E655" # atitinkama monitoriaus sekcija
DefaultColorDepth 24 # nutylėtas spalvų gylis
Subsection "Display" # po vieną kiekvienam gyliui
Depth 8 # 256 spalvos
Modes "1024x768" "800x600"
EndSection
Subsection "Display" # po vieną kiekvienam gyliui
Depth 24 # TrueColor
Modes "800x600" # tarkime, nereikia man 1024x768, 24bpp
Virtual 1024x768 # bet aš noriu didelio virtualaus ekrano
EndSection
EndSection
Tai yra įvairios X konfigūracijos priemonės, bet visos jos daro
praktiškai tą patį: keičia XF86Config failą. (Kitas dalykas, kurį jos
daro -- pasirenka norimą X serverio atmainą, e.g. XF86_SVGA). Apsimoka
iš pradžių su kuria nors iš šių programėlių susigeneruoti XF86Config, o
po to rankomis jį keisti, jei kas ne taip (pvz., su Xconfiguratorium
nepasirinksi daugiau nei 256 spalvų režimo).
$ man X
$ man XF86Config
$ less /usr/doc/HOWTO/XFree86-HOWTO
$ less /usr/doc/HOWTO/XFree86-Video-Timings-HOWTO
ir t.t.