KDE grafikus bejelentkezés beállítása HOGYAN

John P. Meshkoff,II johnm@sivakalpa.org

v1.03 2003.04.13 ikon megjegyzés és kde 3.1 kézikönyv megjegyzés frissítése
Ez a HOGYAN bemutatja a grafikus bejelentkező (GUI login) képernyő beállítását. A következő témákat öleli fel: Ablakkezelő hozzáadása a lenyíló listához; a felhasználó ikonjának engedélyezése a bejelentkező ablakban; root hozzáférés szükségességének a beállítása a rendszer leállításához.

1. Szerzői jog

Szerzői jog (c) 2002 John Meshkoff

Ez a dokumentum szabadon másolható és terjeszthető bármilyen formátumban. Az esetleges módosításokat és/vagy megjegyzéseket kéretik a dokumentum karbantartójának továbbítani. Származtatott munka létrehozható és közzétehető belőle, a következő feltételekkel:

1. Elküldöd a származtatott munkádat (megfelelő fájlformátumban, például sgml) az LDP-nek (Linux Documentation Project) vagy ehhez hasonlónak az Interneten. Ha nem az LDP-nek küldöd, tudasd az LDP-vel, hol lesz elérhető a fájl.

2. A származtatott munkát azonos licensszel tedd közzé, vagy használd a GPL-t. A szövegbe legyen szerzői jogi nyilatkozat és legalább figyelmeztetés a licensz használatáról.

3. Tedd közzé az előző szerzők és főbb közreműködők névsorát.

Ha a fordításon kívül másfajta származtatott munkát is tervezel, kérlek, tudasd terveidet a dokumentum jelenlegi fenntartójával.

1.1 Magyar fordítás

A magyar fordítást Soponyai György készítette (2004.06.14). A lektorálást Daczi László végezte el (2004.06.17). A dokumentum legfrissebb változata megtalálható a Magyar Linux Dokumentációs Projekt honlapján. A dokumentum fordítása a Szegedi Tudományegyetem nyílt forráskódú szoftverfejlesztés speciálkollégiumának segítségével valósult meg.

2. Bevezetés

Ez a leírás a RedHat 6.1 alapértelmezett KDE Workstation telepítésen alapul. Ha más disztribúciót, más RedHat verziót vagy eltérő Workstation telepítőt használsz, szükséges lehet némi kutatómunka. Remélhetőleg ez a leírás segít majd a vizsgálódás elkezdésében. Ez a HOGYAN annak eredményeképpen született meg, hogy kíváncsi voltam, miként adható meg más ablakkezelő (window manager) vagy asztali környezet (desktop environment) a grafikus bejelentkező ablak legördülő listájában; a vizsgálódások további beállítási lehetőségeket tártak fel.

A saját vizsgálódásomat akkor kezdtem, amikor egy RedHat List-en találtam egy hivatkozást az /etc/inittab fájlról és a rendszerindításban betöltött szerepéről. Az /etc/inittab fájlban a következő bejegyzéseket találtam, amik az X Window rendszerindítási tulajdonságait határozzák meg az én disztribúcióm és verzióm esetén:


# xdm runlevel 5-ben fut
# xdm most egy elkülönült alkalmazás
x:5:respawn:/etc/X11/prefdm -nodaemon

A prefdm fájl a következő:


#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin

# A kedvenc X képernyőkezelő futtatása
preferred=
if [ -f /etc/sysconfig/desktop ]; then
        if grep -q GNOME /etc/sysconfig/desktop 2>/dev/null; then
                preferred=gdm
        elif grep -q KDE /etc/sysconfig/desktop 2> /dev/null; then
                preferred=kdm
        elif grep -q AnotherLevel /etc/sysconfig/desktop 2> /dev/null; then
                preferred=xdm
        fi
fi
if [ -z ":$preferred" ]; then
        if which gdm >/dev/null 2>&1; then
                preferred=gdm
        elif which kdm >/dev/null 2>&1; then
                preferred=kdm
        elif which xdm >/dev/null 2>&1; then
                preferred=xdm
        fi
fi
if [ -n "$preferred" ] && which $preferred >/dev/null 2>&1; then
        exec `which $preferred` $*
fi
exit 1  

Nem szükséges a prefdm fájlt módosítanunk; azt határozza meg, melyik képernyőkezelő (display manager) lesz a rendszerben az alapértelmezett, és melyik fusson a grafikus bejelentkezés alatt. A rendszerindítás során a prefdm megvizsgálja az /etc/sysconfig/desktop fájlt, és kiválasztja az ott meghatározott képernyőkezelőt; az én KDE Workstation telepítésem esetében ez a kdm (KDE Display Manager). Figyelembe véve, hogy a gdm (Gnome Display Manager) nincs telepítve a rendszeremben, az xdm (X Display Manager) az alapértelmezés az X Window rendszer részeként, amit nyilvánvalóan a RedHat régebbi verziói használtak.

3. Képernyőkezelő felvétele a legördülő listába

FIGYELMEZTETÉS: Ebben a HOGYANban kifejtett eljárások maguk után vonják a rendszerbeállító fájlok módosítását; ha nem vagy gyakorlott ilyen módosítások elvégzésében, nem árt némi óvatosság. Ezekben a fájlokban elkövetett hibák labilissé tehetik a rendszeredet akár annak összeomlását okozva. A HOGYAN eljárásai mind teszteltek, kipróbáltak és helyes használat esetén nem okozhatnak problémákat.

Ha KDE 2.2 -t vagy későbbi verziót használsz és kényelmetlen a rendszerfájlok kézi szerkesztése, nyithatunk egy terminál ablakot (xterm vagy konsole) a felhasználói képernyőből (NEM a root képernyőből), majd írjuk be a következőket a belépéshez:


su -c 'kcontrol'

Írjuk be a root jelszót és hajtsuk végre a KDE Control Centerben a következő módosításokat: menjünk az Applications ==> Login Manager-be. Válasszuk ki a megfelelő beállító fület; itt könnyen beállítható a bejelentkező ablak összes tulajdonsága. A KDE korábbi verzióiban a kcontrol módosíthatta a kdmrc fájlt, de nem módosíthatta az xsession fájlt, amelyet ezek a verziók használnak. Olvasd el a megjegyzéseket a KDE 2.2 óta bevezetett módosításokról.

A beállítófájlok kézi szerkesztéséhez és működésük megértéséhez az alábbiak szerint haladjunk:

(Vigyázat: Néhány beállítófájl megváltozott az általam használt kdm verzió óta, különösen a KDE > 2.0 óta:

Idézet a the FreeBSD Handbook-X11 leírásból:

"Megjegyzés: A KDE 2.2 verzióban a következő módosítások történtek: kdm most már saját konfigurációs fájljait használja. A részletekről lásd a KDE 2.2 dokumentációját.")

Megjegyzés: A KDE 3.1 rendelkezik hozzáadott kdm dokumentációval, olvasd a The kdm Handbook (Kdm kézikönyv) leírást.

Ezen új kézikönyv sok anyagot használ fel a régebbi verziókból; de leír új tulajdonságok is benne.

Ellenőrizzük a saját változatunk dokumentációját az érvényes beállítófájlok meghatározásához, ha kézzel módosítani akarjuk őket, vagy egyszerűen látni akarjuk működésüket.

Ne használjunk szövegszerkesztő (word-processor; ez képes a különböző betűkészletek kezelésére egy dokumentumon belül, és egyedi formátumban tárolja a dokumentumokat - a lektor) (például OpenOffice.org - a ford.) programot a rendszer beállítófájljainak szerkesztéséhez; ezek a programok speciális formázó karaktereket szúrnak be a fájlokba, amik elrontják azt. Használjunk "egyszerű" szerkesztőt (editor; ez sima szövegként kezeli a dokumentumokat, de szintaktikai kiemelés lehet benne - a lektor), különösen olyat, ami tudja kezelni a hosszú sorokat anélkül, hogy extra sorvége vagy soremelés karaktereket szúrna be a szerkesztett kódba. Ilyen alkalmas szerkesztők a vim (a vi továbbfejlesztése), vi és az emacs (vagy a jEdit, ez lin/win alatt is használható - a lektor). Bár léteznek mások is, de Linux munkaállomások telepítésénél leggyakrabban ezek az alapértelmezettek; ezeknek mind megfelelőek számítógépes forráskódok írásához és szerkesztéséhez. További információkért lásd a bibliográfia fejezetet a HOGYAN végén.

FONTOS: Mielőtt módosítanánk bármilyen beállítófájlt, készítsünk másolatot az eredetiről, így komoly hibák esetén visszaállíthatjuk azokat!

A következőkben az /usr/share/config/kdmrc fájlt fogjuk módosítani, ahol megadhatjuk a bejelentkező-képernyő legördülő listájában kiválasztható elemeket; valamint az /etc/X11/xdm/Xsession fájlt, ahol az elemekhez rendelt futtatható fájlok elérési útjai adhatók meg (ha eltérő disztribúciót használsz, ezen fájlok elérési útjai különbözhetnek; egyszerűen írjuk be a "locate kdmrc" és "locate Xsession" sorokat a shell-be [azaz egy terminálablakba, mint például az xterm vagy a KDE konsole emulátorába], hogy megtaláljuk ezeket).

A kdmrc alapértelmezett sora a következő:


SessionTypes=kde;gnome;anotherlevel;default;failsafe; 

Miután két új ablakkezelő kiválasztó címkéjét, a windowmakert és a blackboxot hozzáadtuk, az adott sor a következő lesz:


SessionTypes=kde;gnome;windowmaker;blackbox;anotherlevel;default;failsafe; 

Figyeljük meg a pozíciót, hová írtam az új ablakkezelők címkéit: minden bejegyzés ugyanolyan sorrendben jelenik meg a legördülő listában, ahogy a SessionTypes listában szerepelnek. Ezután az /etc/X11/xdm/Xsession fájlban játszódik le az aktuális elemekhez hozzárendelt programok kiválasztása. Itt látható az xsession megfelelő része az új bejegyzések hozzáadása előtt:


# most látjuk, ha az xdm/gdm/kdm egy sajátos környezetet kér
#
case $# in
1)
    case $1 in
    failsafe)
        exec xterm -geometry 80x24-0-0
        ;;
    gnome)
        exec gnome-session
        ;;
    kde)
        exec startkde
        ;;   
    anotherlevel)
        # feltételezzük, hogy a kapcsolótábla (switchdesk) telepítve van.
        exec /usr/share/apps/switchdesk/Xclients.anotherlevel
        ;;
    esac
esac  

Itt láthatjuk az xsession megfelelő részét az új bejegyzések hozzáadása után (VEGYÜK FIGYELEMBE, hogy a menüpontoknak (selection labels) pontosan ugyanolyannak kell lenniük az xsession és a prefdm fájlokban, azaz a helyesírásnak betű szerint (kisbetű/nagybetű) meg kell egyeznie):


# most látjuk, ha az xdm/gdm/kdm egy sajátos környezetet kér
#
case $# in
1)
    case $1 in
    failsafe)
        exec xterm -geometry 80x24-0-0
        ;;
    gnome)
        exec gnome-session
        ;;
    kde)
        exec startkde
        ;;
    windowmaker)        
        exec wmaker
        ;;
    blackbox)        
        exec blackbox
        ;;    
    anotherlevel)
        # feltételezzük, hogy a kapcsolótábla (switchdesk) telepítve van..
        exec /usr/share/apps/switchdesk/Xclients.anotherlevel
        ;;
    esac
esac  

Vegyük figyelembe, hogy amikor a futtatható fájlokat az alábbi elérési utak valamelyikére telepítjük, csak az fájl nevét szükséges az "exec" után írni; egyébként a teljes elérési utat le kell írni, amint az a fenti "xclients.anotherlevel" bejegyzésnél látható:

/usr/bin/

/usr/local/bin/

/usr/X11R6/bin/

/usr/bin/X11/

Ezeknek a példáknak elegendőnek kell lenni, hogy a kedvenc ablakkezelő(i)d hozzáadd a KDE grafikus bejelentkező ablakához, vagy kiindulási pontot ad, hogy kitaláld, hogy teheted meg ugyanezt az egyéni telepítésed esetében.

4. Felhasználókiválasztó ikonok engedélyeztetése a bejelentkező ablakban

A RedHat 6.1 változatában az alapértelmezett KDE bejelentkező ablak egy dialógusablakból áll, a felhasználónév és jelszó beírásához; valamint egy legördülő lista a ablakkezelő/asztali környezet kiválasztásához. Az /usr/share/config/kdmrc következő módosításaival felhasználói ikonok jeleníthetők meg a bejelentkező ablak tetején. Alább láthatjuk a kdmrc alapértelmezett sorait, amik a felhasználói ikonok megjelenítését határozzák meg (vannak egyéb sorok is az alább látható kettő között, amik itt nem láthatók és "..." jelöléssel helyettesítettek):


#Users=root;johndoe
...
UserView=false

Itt láthatóak ugyanezen sorok a szerkesztés után. Töröljük a kettőskereszt karaktert ("#") az "Users=..." elejéről és változtassuk "johndoe"-t a saját felhasználónevünkre (ha több felhasználó fér hozzá a rendszerünkhöz, hozzáadhatjuk az Ő felhasználói neveiket is pontosvesszőkkel elválasztva). Írjuk át az "UserView=false" sort "UserView=true" -ra, amint az itt is látható:


Users=root;johnpipe
...
UserView=true

Ezután ha be akarunk lépni a rendszerbe, elég az egérrel egy ikonra kattintani a felhasználói név beírása helyett; így csak a jelszót kell beírni.

Az alapértelmezett ikonok helyett saját ikonokat is használhatunk. Tegyük saját ikonjainkat az /usr/share/apps/kdm/pics/users/ könyvtárba. A kdm kézikönyv szerint 64 x 64 -es méretűnek kell lenniük; KDE 1.x verzióban az alapértelmezett ikonok 62 x 63 pixelesek, az új felhasználói ikonok pedig 60 x 60 méretűek, úgyhogy ha az ikonok mérete elég közel van a meghatározott 64 x 64 -es mérethez, akkor rendben fognak működni. A kézikönyv szerint "a kdm képes különböző méretű ikonokat kezelni, de a végeredmény torzulhat.", így nyilvánvalóan található itt némi eltérés. Az ikonjainkat "felhasznalonev.xpm" módon kell elnevezni, például ha az én felhasználónevem "johnpipe", akkor az új ikonom neve "johnpipe.xpm" lesz.

MEGJEGYZÉS: A KDE 1.x óta némely verzióban az ikonformátum ".xpm"-ről (XPixMap) ".png"-re (Portable Network Graphic) változott.

5. Rendszergazdai engedély megkövetelése a rendszer leállításához

Alapértelmezésben a bejelentkező ablakban lévő leállítás gomb mindenkinek lehetővé teszi a rendszer leállítását. A következő, /usr/share/config/kdmrc fájlban található rész, amely meghatározza azt, hogy ki használhatja ezt a gombot:


#ShutdownButton=RootOnly
ShutdownButton=ConsoleOnly 

Ha azt akarjuk, hogy csak a rendszergazda állíthassa le a rendszert, módosítsuk a sorokat a következő módon


ShutdownButton=RootOnly
#ShutdownButton=ConsoleOnly

Így a leállítás gombra kattintva még be kell írni a root jelszót is, mielőtt a rendszer leállna.

6. Bibliográfia

Ha még több HOGYANt akarsz olvasni, látogass el a The Linux Documentation Project ( Magyar Linux Dokumentációs Projekt) webhelyére.

Ajánlott irodalom:

A Te Linux disztribúciódtól és verziódtól függően, a fenti HOGYANok már telepítve lehetnek a rendszeredben. Ha nincsenek, a telepítő CD-n megtalálhatók.