Poglavlje 6: Konfiguracija X sustava sadržaj 6.1 xorgconfig 6.2 xorgsetup 6.3 xinitrc 6.4 xwmconfig 6.5 xdm Počevši sa Slackware-10.0, X Window sučelje u Slackwareu bazirano je na Xorg-u. X je zadužen za osiguravanje grafičkog korisničkog sučelja. Nezavisan je od operativnog sustava, za razliku od Windowsa ili MacOSa. X Window System je implementiran kroz više programa koji se izvršavaju u korisničkoj okolini. Dva glavna sastojka su server i upravitelj prozorima. Server koristi funkcije niske razine za komunikaciju s grafičkim hardverom, te je ovisan o sistemu. Upravitelj prozorima radi iznad servera i služi za korisničko sučelje. Prednost takvog pristupa je to što možete imati više različitih grafičkih sučelja jednostavnom promjenom upravitelja prozorima. Konfiguriranje X-a može biti složen posao. Razlog je velika količina grafičkih kartica dostupnih za PC platformu, većina sa različitim programskim sučeljima. Na sreću, većina današnjih kartica podržava osnovne standarde poznate kao VESA, i ako je vaša kartica među njima moći ćete pokrenuti X koristeći startx naredbu odmah Ako ovo ne radi s vašom karticom, ili ako želite iskoristiti dodatne opcije vaše kartice kao hardversku akceleraciju ili 3-D hardversko iscrtavanje, tada ćete trebati rekonfigurirati X. Da bi konfigurirali X, trebat ćete napraviti /etc/X11/xorg.conf datoteku. Ova datoteka sadrži puno detalja o vađem grafičkom hardvewru, mišu, i monitoru. To je vrlo složena konfiguracijska datoteka, ali srećom postoji nekoliko programa koji će vam je pomoći kreirati. Nekoliko njih ćemo spomenuti ovdje. 6.xorgconfig Ovo je jednostavno sučelje tekstualnih izbornika po osjećaju slično Slackware installeru. Kaže X serveru da pogleda karticu i napravi najbolju početnu datoteku na temelju informacija koje dobije. Kreirana /etc/X11/xorg.conf datoteka bi trebala biti dobra početna točka za večinu sistema (i trebala bi raditi bez izmjena). Ovo je tekstualni konfiguracijski program dizajniran za naprednog sistemskog administratora. Slijedi jednostavan prohod za korištenje. Prvo, pokrenite program # xorgconfig Prikazat će se ekran s informacijama o programu xorgconfig. Da bi nastavili, pritisnite ENTER. xorgconfig će tražiti provjeru staze. Trebalo bi biti u redu, pa samo stisnite ENTER. Slika 6-1. xorgconfig konfiguracija miša Odaberite vašeg miša iz ponuđenog izbornika. Ako ne vidite vašeg serijskog miiša u popisu, odaberite Microsoft protocol – to je najčešći slučaj i vjerovatno će raditi. Nakon toga, xorgconfig će pitati koristite li ChordMiddle i Emulate3Buttons. Sve će biti detaljno objašnjeno na ekranu. Koristite ih ako vaš srednji gumb ne radi u Xima ili imate miša sa dvije tipke (Emulate3Buttons omogućava simulaciju treće tipke pritiskom na obje tipke istovremeno). Unesite naziv uređaja. Uobičajeni izbor, /dev/mouse, bi trebao raditi jer je veza podešena za vrijeme podešavanja Slackwarea. Ako koristite GPM (linux mouse server) u repeater modu, možete podesiti vašeg miša na /dev/gpmdata kako bi X dobivali informacije o mišu kroz gpm. U nekim slučajevima (najčešće sa bus-miševima) tako će bolje raditi, ali većina korisnika ne bi trebala to raditi. Xorgxonfig će pitati za posebna podešenja tipaka. Ako vam je to potrebno, recite y. Većina korisnika može reći n – stavite n ako niste sigurni. Slika 6-2. xorgconfig horizontalna sinkronizacija Na sljedećem ekranu unesite sinkronizacijski raspon vašeg monitora. Da započnete konfiguraciju monitora pritisnite enter. Vidjet ćete listu vrsta monitora – odaberite jedan od njih. Pazite da ne prekoračite specifikacije monitora. To može oštetiti vaš hardver. Slika 6-3. xorgconfig vertikalna sinkronizacija Unesite vertikalni sinkronizacijski raspon monitora (trebao bi biti naveden u priručniku monitora). Xorgconfig će tražiti da unesete naziv monitora kako bi ga mogao identificirati u xorg.xonf. U sljedeće tri linije unesite bilo što (može i ništa) Slika 6-4. xorgconfig Video kartica Sada imate priliku pogledati bazu podataka o tipovima video kartica. To ćete vjerovatno željeti stoga recite y i odaberite karticu iz popisa. Ako ne nađete točan model kartice, probajte s nekom koja koristi isti chipset i vjerovatno će raditi. Dalje, recite xorgconfigu koliko RAMa ima vaša kartica. Xorgconfig će tražiti da unesete opisni tekst o svojoj kartici. Ako želite, na sljedeće tri linije možete unjeti opis. Tada ćete biti upitani koje ekranske rezolucije želite koristiti. Ponovno, korištenje ponuđenih opcija bi trebalo biti dovoljno za početak. Kasnije, možete editirati datoteku /etc/X11/xorg.conf i presložiti modove da 1024x768 (ili što već želite) bude početna rezolucija. Sada će vas xorgconfig pitati želite li spremiti trenutnu konfiguracijsku datoteku. Odgovorite da i X konfiguracija je spremljena, dovršavajući proces podešenja. Sada možete pokrenuti X naredbom startx. 6.2 xorgsetup Slijedeći način konfiguracije Xa je korištenje programam xorgsetup, automagičnog programa koji dolazi uz Slackware. Da bi pokrenuli xorgsetup, logirajte se kao root i utipkajte # xorgsetup Ako već imate datoteku /etc/X11/xorg.conf (jer ste već konfigurirali X) bit ćete upitani želite li napraviti sigurnosnu kopiju postojeće datoteke prije nastavka. Originalna datotekaće biti preimenovana u /etc/X11/xorg.conf.backup 6.3 xinitrc xinit (1) je program koji pokreće X; poziva ga skripta startx(1) stoga ga možda i niste primjetili ( a zapravo ni ne trebate). Njegova konfiguracijska datoteka određuje koji programi (uključujući posebno i upravitelj prozorima) će se pokrenuti kad se X pokrene. Xinit prvo provjeri vaš home direktorij za datoteku .xinitrc . Ako je nađe, pokrene je, ako ne koristi se /var/X11R6/lib/xinit/xinitrc (početna za cijeli sistem). Slijedi primjer xinitrc datoteke: #!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login Svi ovi “if” blokovi služe za ubacivanje različitih postavki iz drugih datoteka. Zanimljivi dio datoteke je blizu kraja, gdje se pokreću različiti programi. Ovo pokretanje Xa će započeti twm(1) upraviteljem prozorima, satom, i tri terminala. Primjetite exec prije zadnjeg xterm. To zamjenjuje trenutno aktivnu školjku (onu koja izvršava xinitrc) sa programom xterm. Kada korisnik zatvori taj xterm, rad u Xima završava. Kako bi prilagodili vaše Xe, kopirajte datoteku /var/X11R6/lib/xinit/xinitrc u ~/.xinitrc i editirajte je, zamjenjujući zadnje linije s čime želite. Kraj moje datoteke je: # Start the window manager: exec startkde Primjetite da ima više datoteka xinitrc.* u /var/X11R6/lib/init koje odgovaraju različitim upraviteljima prozorima i grafičkim sučeljima. Možete koristiti bilo koju, ako želite. 6.3 xwmconfig Godinama, Unix je korišten gotovo isključivo kao operativni sustav za servere, s iznimkom snažnih profesionalnih radnih stanica. Samo tehnički napredniji korisnici su koristili Unix-like operacijski sustav, i korisnička sučelja su odražavala tu činjenicu. Grafička korisnička sučelja su bila prilično uska, napravljena da pokrenu nekoliko potrebnih grafičkih aplikacija kao štro su CAD ili sustavi za iscrtavanje grafike. Upravljanje sustavom i datotekama se provodilo iz komandne linije. Različiti proizvođači (Sun Microsystems, Silicon Graphic ...) su prodavali radne stanice s pokušajem da osiguraju jedinstveni “izgled i osjećaj”, ali širok izbor GUI alata koje su koristili razvijatelji softvera nezaobilazno je vodio nestanku uniformnosti radne površine. Traka za povlačenje nije izgledala jednako u dva programa. Izbornici su se pojavljivali na različitim mjestima. Programi su imali različite tipke. Boje su se znatno razlikovale, i bile nepromjenjive za svaku alatku. Dok su korisnici bili tehnički profesionalci, sve ovo nije predstavljalo problem. S pojavom besplatnih Unix-like operativnih sustava i velikog broja različitih grafičkih aplikacija, Xi su dobili širu bazu prosječnih korisnika. Večina korisnika je naviknuta na jedinstveni izgled poznat iz Microsoftovih Windowsa ili Appleovog MacOSa; nedostatak toga u X aplikacijama postao je barijera njegovoj široj prihvaćenosti. Kao odgovor na to, dva projekta otvorenog koda su započeta: K Desktop Environment, ili KDE, i GNU Network OBJECT Model Environment, poznatiji kao GNOME. Svaki ima šrioki izbor aplikacija, od alatnih traka i upraviteljima datotekama, do igri i uredskih alata, napravljenih pomoću iste alatke i tijesno povezanih da pruže jedinstvenu i nepromjenjivu radnu okolinu. Razlike u KDE i GNOME u općenito malene. Izgledaju različito, jer koriste različite alatke korisničkog sučelja. KDE je zasnovan na Qt biblioteci tvrtke Troll Tech AS, dok GNOME koristi GTK, alatku originalno razvijenu za potrebe GNU Image Manipulation Program (skraćeno GIMP). Kao odvojeni projekti, KDE i GNOME imaju svoje programere i dizajnere, sa različitim stilovima i filozofijama. U oba slučaja, međutim, rezultat je fundamentalno isti: konzistentno, visoko integrirano radno sučelje i kolekcija aplikacija. Funkcionalnost, korisnost, i sam izgled KDEa i GNOMEa prestižu bilo što dostupno na drugim operativnim sustavima. Najbolji dio jest da su ova sučelja slobodna. To znači da možete imati bilo koji ili oba (u isto vrijeme). Izbor je na vama. Pored GNOME i KDE sučelja, Slackware sadrži veliku kolekciju upravitelja prozorima. Neki su napravljeni da oponašaju izgled ostalih operativnih sustava, neki za prilagođavanje, neki za brzinu. Izbor je poveći. Možete ih instalirati koliko hoćete, igrati se s njima, i odlučiti koji vam se najviše sviđa. Kako bi olakšao izbor radne površine, Slackware sadži program xwmconfig koji se koristi za izbor radne površine i upravitelja prozorima. Pokreće se: % xwmconfig Slika 6-5. Konfiguracija radne površine programom xwmconfig Biti će vam ponuđen popis svih instaliranih radnih površina i upravitelja prozorima. Odaberite koji želite. Svaki korisnik će pokrenuti program, jer različiti korisnici koriste različite radne površine, i neće svi biti zadovoljni izborom koji ste napravili pri instalaciji. Sada samo pokrenite X i spremni ste. 6.5 xdm Kako Linux postaje sve korisniji kao operativni sustav za svakodnevni posao, mnogi korisnici žele da se sustav pokreće u grafičko sučelje. Da bi to bilo moguće, potrebno je reći Slackwareu da pokreće sustav direktno u X, i odabrati grafički login manager. Slackware dolazi s tri takva alata, xdm(1), kdm i gdm(1). Xdm je grafički login manager koji dolazi sa X.org sustavom. On je sveprisutan, ali nema toliko mogućnosti kao alternative. Kdm je grafički login manager koji dolazi sa KDE-om, Na kraju, gdm je login manager koji dolazi sa GNOMEom. Bilo koji izbor omogućuje vam pristup kao bilo koji korisnik i odabir radne okoline. Nažalost, Slackware ne sadržava program kao što je xwmconfig za izbor login managera, tako da ukoliko instalirate sva tri morate obaviti neka ručna podešenja kako bi prilagodili sustav. Prvo ćemo razjasniti kako pokrenuti sustav u grafičko okruženje. Kako bi se Xi pokrenuli prilikom pokretanja računala, potrebno je sustav pokretati u runlevel 4. Runleveli su samo način davanja uputa init-u da nešto učini prilikom pokretanja operativnog sustava. To ćemo napraviti editiranjem odgovarajuće datoteke, /etc/inittab. # These are the default runlevels in Slackware: # 0 = halt # 1 = single user mode # 2 = unused (but configured the same as runlevel 3) # 3 = multiuser mode (default Slackware runlevel) # 4 = X11 with KDM/GDM/XDM (session managers) # 5 = unused (but configured the same as runlevel 3) # 6 = reboot # Default runlevel. (Do not set to 0 or 6) id:3:initdefault: Kako bi pokrenuli Slackware u grafičko sučelje, potrebno je samo 3 promijeniti u 4. # Default runlevel. (Do not set to 0 or 6) id:4:initdefault: Sada će se Slackware pokretati u runlevel 4 i izvršiti datoteku /etc/rc.d/rc.4. Ta datoteka pokreće X i poziva izabrani login manager. Kako izabrati login manager? Postoji više načina, i do njih ćemo doći kad pogledamo u rc.4 # Try to use GNOME's gdm session manager: if [ -x /usr/bin/gdm ]; then exec /usr/bin/gdm -nodaemon fi # Not there? OK, try to use KDE's kdm session manager: if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi # If all you have is XDM, I guess it will have to do: if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi Kao što možemo vidjeti, rc.4 prvo provjerava je li xdm izvršna datoteka, i ako jest, izvršava je. Sljedeći je kdm i na kraju xdm. Jedan način izbora je jednostavno maknuti one koji vam ne trebaju koristeći removepkg. Više o alatu removepkg u poglavlju 18. Drugi način je maknuti dozvolu za izvršavanje sa datoteka koje ne želimo koristiti. Chmod je objašnjen u poglavlju 9. # chmod -x /usr/bin/gdm Treći način je iskomentirati linije koje se odnose na login manager koji ne koristite. # Try to use GNOME's gdm session manager: # if [ -x /usr/bin/gdm ]; then # exec /usr/bin/gdm -nodaemon # fi # Not there? OK, try to use KDE's kdm session manager: if [ -x /opt/kde/bin/kdm ]; then exec /opt/kde/bin/kdm -nodaemon fi # If all you have is XDM, I guess it will have to do: if [ -x /usr/X11R6/bin/xdm ]; then exec /usr/X11R6/bin/xdm -nodaemon fi Sve linije koje započinju znakom ljestvi (#) smatraju se komentarom i preskaču se. Tako da, ukoliko je gdm instaliran i omogućeno mu je izvršavanje, školjka (bash u ovom slučaju) neće provjeravati.