X (Debian)

A HupWiki-ből...

Debian HOWTO-k, írások: Útmutató (egyszerű)

Tartalomjegyzék

X telepítése

kitérő (x): az XFree86 (jelenleg) a legelterjedtebb ingyenes x11 klón; legismertebb képessége a grafikus megjelenítés;
rengeteg információt találsz erről a témáról az 'xfree86-common' csomaghoz tartozó '/usr/share/doc/xfree86-common/FAQ.gz'-ban;

kitérő (Miért nincs xorg a Sargeban?): A Sargeben jelenleg a 4.3-as xfree86 található, ezt patchelik biztonság és kompatibilitás szempontjából (xorg forrásából is). Az X csomagjainak karbantartása rendkívűl idő és erőforrásigényes. Az eredeti komplex halmazból (forráskód, driverek, dokumetáció, fontok, stb.) kell kialakítani a csomagokat, majd ezeket az összes hivatalosan támogatott arhitektúrára (jelenleg sac egy tucat) elkészíteni és tesztelni (a forrás fordítására pillanatnyilag használt elavult imake is hátráltatja ezt). A teljes átállás XFree86ról X.Orgra ezért a Sarge kiadása után történt meg.

telepíteni: x-window-system-core - ~40megát tölt le

fontconfig:

  • Native, Autohinter, None: a hinter érték segítségével a vektor alapú fontok sokkal pontosabban méretezhetők; az elsőt a jó minőségű fontoknál érdemes választani, mivel rendelkezik megfelelő hinter értékekkel (ezt érdemes választani, mivel msttcorefontt fogjuk telepíteni); második képes bármilyen ttf fonthoz hintert generálni; az utoldó kikapcsolja ezt a szolgáltatást
  • Enable subpixel rendering? ennek segítségével a fontok nem egy színnel kerülnek renderelésre, hanem minden csatornán külön-külön, ez javítja az LCD kijelzőkőn a fontok minőségét, míg CRTn inkább zavaró; érdemes Automaticra állítani
  • Enable bitmapped fonts by default? nem vektoralapú fontok alapértelmezett engedélyezése (kompatibilitási okokból ajánlott bekapcsolni, pld. konsole igényli)

xserver-common:

  • Select what type of user has permission to start the X server: Console Users Only; nice value: 0 (a -10 nice régen jól jött, de egy mai rendszer akadozik tőle)

xserver-xfree86:

  • Attempt to autodetect video hardware? előre kitölti a video driver és name részt
  • Select the desired X server driver. : 'lspci' megmondja
  • Enter an idnetifier for your video card. : maradjon alapbeállítás
  • Please enter the video card's bus identifier. : általában jó üresen
  • Enter the amount of memory (in kB) to be used by your video card. : általában jó üresen
  • Please select the XKB rule set to use. : xfree86; Please select your keyboard model. : pc105
  • ... keyboard layout. : hu
  • ... keyboard variant. : általában jó üres
  • ... options. : általában jó üresen
  • Please choose your mouse port: a szöveg elmagyarázza
  • Emulate 3 button mouse? : ha két gombos egered van, akkor igen
  • Enables scroll events from mouse wheel? : ha van görgő, akkor igen
  • Enter an identifier for your monitor. : maradjon alapbeállítás
  • Is your monitor an LCD device? : logikus
  • Please choose a method for selecting your monitor characteristic. : Medium ajánlott
  • ... select your monitor's best video mode. : tegyük azt
  • Select the video modes you would like the X server to use. : a moitorod és videókártyád képességei (kézikönyve) alapján válaszd ki a használni kívánt felbontásokat
  • Please select your desired default color depth in bits. : a magasabb színmélység jobb minőségő képet eredményez; itt a 24 megfelel a 32bittel
  • Select the XFree86 server modules that should be loaded by default. : GLcore kívül minden mehet
  • Write default Files section to configuration file? : igen
  • ... DRI ... ? : igen

(Megjegyzés: ha VMware alól telepítesz, akkor a vmware X server drivert add meg.)

Pár tipp az egérhez:

  • A 2.6 kernelszéria már egységesen a /dev/input/mice-t használja mindenféle egérhez (ps/2, soros, usb, ...). Ha 2.4ről 2.6ra váltasz (vagy vissza), akkor mindíg generáld újra a konfigot, különben nem fog megfelelően működni az X.
  • A gpm csomag is okozhat egérkezelési problémákat. Hacsak nem akarsz X nélkül egeret használni: purgáld.
  • Az mdetect -v segít az egér beazonosítására, de egyrészt az Xet kiakasztja (nem elég, ha karakteres módba váltasz, hanem lődd is le) másrészt néha megkergül, ha többször egymás után használod; ilyenkor reboot segít
  • ha ez sem elég, akkor a Mouse Support in XFree86® oldalon érdemes körülnézni)

(Ha a konfigot inkább automatikusan szeretnéd kezelni, akkor telepítsd fel az xdebconfigurator csomagot. Az xdebconfigurator parancs elvégzi a beállításokat és a dexconf parancs legenerálja az XF86Config-4et.)

telepíteni: twm xdm xterm - alap ablak- és bejelentkezéskezelő, valamint terminál emulátor; nem árt felrakni őket, mert ha más megoldásokat használsz, akkor is jól jöhetnek vész esetén; alternatívákat találsz a Desktop alkalmazásokban

X.Org

Etchtől kezdve már ez az alapértelmezett. Új telepítés simán felrakja, de ha xfree86ról frissíted a rendszert, akkor egy problémás rész lesz: az xserver-xorg csomagot az x lelövése után telepítsd, mivel leszedi az xserver-xfree86ot; ez a művelet egy futó x mellett nem megvalósítható.

Néhány állomány új néven szerepel:

/etc/X11/XF86Config-4/etc/X11/xorg.conf
/var/lib/xfree86/XF86Config-4.md5sum/var/lib/xfree86/xorg.conf.md5sum
/var/log/XFree86.0.log/var/log/Xorg.0.log.

X beüzemelése

Fontos: alapból az X nem engedélyezi a root kapcsolódását, még terminál emulátorról sem.

A hibaüzenet:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

vagy újabban:

Xlib: connection to ":0.0" refused by server
Xlib: Protocol not supported by server

Megoldások:

  • a root vegye át egy létező user .Xauthority állományát (általában azét, akivel beléptél): ln -s /home/user_akivel_beleptel/.Xauthority /root/
  • felhasználóként kiadod az xhost +local: parancsot
  • kikapcsolod az ellenőrzést:
    • GDMben alapból ki van kapcsolva
    • xdm esetén az /etc/X11/xdm/xdm-config állományban a DisplayManager*authorize: értéke false legyen

két leggyakoribb hiba, ami az X nem megfelelő működéséhez vezet:
1. videókártya ("No screen found.")
ilyenkor újra egyeztetni kell az 'lspci' eredményét és a 'xserver-xfree86' beállításait; ha nagyon nem jutsz dűlőre ebben, akkor ideiglenesen próbáld meg 'vesa' módban;
még okozhatja a monitor rossz konfigurálása (nem támogatott felbontás);
nvidia és ati specifikus problémák a "Hardware" részben;

2. egér ("No core pointer registered")
egyszer be kell lőni, itt találsz tippeket: Mouse Support in XFree86®

először a '/var/log/XFree86.0.log'ban érdemes körülnézni, és keressük ki (ha less a pager: "/" majd szöveg, újbóli keresés az "n") az "EE" kifejezésre;
(megj.: a "0" szerepe az, hogy ez a 0. x; mivel a rendszer szempontjából az X is csak egy program, ezért ebből is egyszerre több futhat)

egyéb:

az xet a ctrl+alt+backspace kombinációval lehet újraindítani (pontosabban az X leáll, de ha egy dm van előtte, akkor az újra indítja); ha le akarjuk állítani, akkor lépjünk ki az egyik virtuális konzolra (ctrl+alt+f1), majd lépjünk és rootként állítsuk le a megfelelő dmet;

pár szó az 'XF86Config-4'ről:
a debian külön adatbázist vezet a fontos beállításokról ('/var/cache/debconf/config.dat' kézzel nem ajánlott belenyúlni), ezeket a beállításokat használja a 'debconf' a tényleges konfigurációs állományok generálásához; ha egy generált konfigurációs állományt kézzel megváltoztatsz, az a következő automatikus írásakor (pld frissítés vagy újrakonfigurálás) a változtatások elvesznek (vagy rákérdez a debconf, hogy felülírhatja-e); ellenben az XF86Config-4 speciális, mivel az egyedi igények miatt megengedett a szerkesztése, mivel ilyenkor megváltozik az md5 értéke, így a csomagkezelő értesül, hogy a megváltozott tartalom miatt ne írja felül; ez van mikor jó és van mikor mégis szükség van egy friss generálására; utóbbi eléréséhez a következő parancsokat kell kiadni (az 'XF86Config-4' elején is szerepelnek):

cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
dpkg-reconfigure xserver-xfree86

(további információk: '/usr/share/doc/xfree86-common/FAQ.gz'; másrészt a dexconf paranccsal bármikor újragenerálahtó az XF86Config-4)

Ablakkezelő (xfce4)

A sok elérhető Desktop környezet közül most az XFceet tesszük fel, ez elég jól használható, ugyanakkor kicsi és egyszerű (Xfce4 Overview); késöbb lesz szó a többi ablakkezelőről.
telepíteni: xfce4 xfce4-goodies - ~20 mega letöltés
kérdések:
libpango1.0-common: ... defoma? igen;
(megj.: az xfceből közvetlen rendszer le- vagy újraindítás csak akkor fog működni, ha az '/etc/sudoers' helyesen ki lett töltve)

még szükség van az ablakkezelő automatikus elindításának elintézésére; az alap 'xdm' (x display manager; a dm felel az X indítása után a grafikus bejelentkezésért és megfelelő init scriptek elindításáért) nem a legnagyobb tudású, de mindig kézénél van; ha egy látványosabb és könnyebb dmet akarsz, akkor tedd fel pld. a 'gdm'et (és a 'gdm-themes' csomagot); az aktuális dm nevét az '/etc/X11/default-display-manager'ből lehet lekérdezni;
ha xdmnél maradsz, akkor el kell készíteni egy kis scriptet a '~/.xsession' állomány formájában: (GDM alól is használható az .xsession, ha az "Alapértelmezett rendszerkörnyezet"et választod)

exec xfce4-session

ez indítja az xfce4et;
(megj.: az xdmet a ctrl+r kombinációval lehet leállítani)

még egy kis xdm tuning:
az '/etc/X11/xdm/Xservers' utolsó sor végére írd be: " -br"
így az eredeti ízléses fekete/szürke rács helyett sima fekete háttere lesz a bejelentkezésnek;

Fontok

(A beállítások egy része (pld.: "locales") az "Ékezetek" részben van.)

telepíteni: dfontmgr x-ttcidfont-conf msttcorefonts
(első egy gui a 'defoma'hoz (debian standard karakteres font kezelője); második standard ttf/cid font kezelő; harmadik a ms szabadon terjeszthető ttf készletét telepíti fel kérdések:
msttcorefonts: ezek nem ingyenes fontok; ha már letöltöttük külön a fontokat, akkor adjuk meg a könyvtárat; ha meg akarjuk tartani, adjuk meg könyvtárat, ahová mentse;
x-ttcidfont-conf: Backend use for TrueType handling on X. : "xtt" (nagyobb tudású); Prefer speed over quality while rendering? nem;
Fontos! Ha Sarge alatt alapból nem lehet az msttcorefonts csomagot telepíteni, akkor ellenőrizd, hogy az elérhető csomaglisták között szerepeljen a contrib ág is (pld.: deb http://ftp.debian.org/debian/ stable main non-free contrib, de az apt-setuppal is könnyen beállítható.)

pár beállítást kézzel kell elintézni az '/etc/X11/XF86Config-4'ben:
xfs letiltása: X font servernek igazság szerint csak hálózatban lehet haszna, amikor csak egy gép tárol fontokat; a "FontPath "unix/:7100"" sor elé #, így 3-4 másodperccel gyorsabban tölt be az x; (az X akkor is vár az 'xfs're, ha az nincs telepítve, ezért ezt a beállítást ilyenkor is tedd meg;)
'x-ttcidfont-conf' engedélyezése: az "# if the local font server has problems, we can fall back on these" sor után szúrd be ezeket:

FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"

Ha meg akarod nézni, hogy jól mennek-e a truetype fontok, tedd fel a gtkfontsel csomagot, majd ugyanilyen nevű binárist indítsd el; Szűrő fül, Betűkészlet-típusok csak Méretezhető legyen, Karakterkészlet pedig iso10646-1 (unicode), majd Betükészlet fülön lehet tesztelni.

probléma: fontokat adtam hozzá vagy távolítottam el és most hibásan / lassan jelenik meg minden:
generáld újra a cachet: 'fc-cache -fv'

probléma 2: gtk1.2-t használó programoknál (pld. xmms, gmplayer) a hosszú ékezettől kezdve eltünnek a sorok: gond van a '~/.gtkrc' állományokkal, töröld őket és geenráld újra a következő részben leírt módon.

X tippek

GTK és Qt finomhangolás

Gondolom már feltűnt a GTK és Qt programok hanyag eleganciája: a helyzeten változtatni GTK esetén a gtk-theme-switch csomag telepítésével lehet, majd switch választ gtk1.2 skinek közt, switch2 a gtk2.x (persze a root és minden user külön konfigurációs állományt kap). A megfelelő működéshez nem árt skineket felvenni (gtk-engines- és gtk2-engines- csomagok). Qt esetén a qt3-qtconfig csomagra lesz szükség (ha KDEet használsz, akkor inkább annak az Irányítópultját maceráld), majd qtconfig program: az Appearance fülön a Select GUI style pld. CDE legyen, a Fonts fülön a Default Font alatt Family pld. Arial.

X alaplértelmezett dpije

Érdemes felülbírálni az X alapértelemezett DPI értékét, mert nagyobb felbontásoknál gyakori az olvashatatlanul kicsi betüméret. A jelenlegi dpi érték az xdpyinfo | grep resolution paranccsal kérdezhető le. A 75x75 megfelelő 1024x768 felbontásig, de e fölött már ajánlott 100x100 dpire kapcsolni. Ehhez egyszerűen az Xet indító parancssort ki kell egészíteni egy -dpi ertek résszel, ahol az ertek 75 vagy 100 legyen.

milyen DM indítja az Xet?hol az indító parancs?melyik sor?
xdm/etc/X11/xdm/Xservers:0 local /usr/X11R6/bin/X vt7 (...)
kdm/etc/kde3/kdm/Xservers
gdm/etc/gdm/gdm.conf a "[server-Standard]" rész command sora
startx/etc/X11/xinit/xserverrc

Az X hatékony használata

Pár unixon elterjedt módszer (szinte minden ablakkezelő támogatja):

  • a "desktop switching" (munkaterület váltás) lényege, hogy egy ablakkezelő több munkaasztalt képes kezelni, ezzel pld. az ablakok tologatása, ikonizálása helyett annyi teljes képernyős program futhat, amennyi jólesik
  • "shrink" (felgörgetés): az ikon állapotnál jobban kezelhető, ha az ablak ahelyett, hogy a képernyő vmelyik végébe vándorolna, inkább fejléc méretűre zsugorodik (nem kell annyit kolbászolni az egérrel, hogy vissza lehessen állítani eredeti méretére)
  • a másolás és beillesztés meggyorsítására szolgál az egér középső gombja, amivel az előzőleg kijelölt szöveg illeszthető be (két gombos egér esetén be kell állítani a középső gomb emulációját, majd a bal és jobb gomb egyidejű lenyomását alkalmazni); vagy nyomj egy shift+insert kombinációt)

Egér magas szinten

Az ablak bármelyik részén:

  • alt + bal egérgomb = mozgatás (easy moveként is ismert)
  • alt + jobb egérgomb = átméretezés (az ablak sarkainál érdemes)
  • alt + középső gomb = átváltás a fedésben lévő ablakra
  • a jobb egérgomb a maximalizálás gombon horizontális maximalizálást eredményez (pld. terminál emulátoroknál hasznos)

(Megj.: nem minden ablakkezelő támogatja ezeket és nem mindenhol ugyanezek a kombinációk.)

Egér emulálása:
rosszul konfigurált vagy hibás egér esetén jól jöhet a shift+ctrl+num-lock kombináció, amely hatására az alfanumerikus billentyűzetet lehet egérként használni.

Billentyűzetváltás

X beállítás:
újrakonfig xserver-xfree86: Please select the XKB rule set to use. - xfree86; Please select your keyboard model. pc105; Please select your keyboard layout. - hu,us; Please select your keyboard variant. - (üres); Please select your keyboard options. grp:alt_shift_toggle.

Segédprogrammal: apt-cache search keyboard switch
Pár alternatíva: gnome-applets, gswitchit, hunglish, nonlock, wmkbd, xkbsel, xkeysw, xruskb, xxkb

Merre tovább?

Tippek & Trükkök (Debian)