# Manuál pre &kdm;

Neal Crook

    nac@forth.org

Steffen Hansen

    stefh@dit.ou.dk

Vývojár
Lauri Watts

    lauri@kde.org

Recenzent
Stanislav Višňovský

    visnovsky@nenya.ms.mff.cuni.cz

Preklad
2000 Neal Crook
2000-12-12
0.05.02

Tento dokument popisuje správcu displejov KDE &kdm;. &kdm; je známy aj ako Správca prihlásenia.

KDE kdm xdm správca displeja správca prihlásenia

## Úvod

&kdm; poskytuje grafické rozhranie, ktoré umožňuje prihlásenie do systému. Čaká na zadanie loginu (používateľského mena) a hesla, overí používateľa a spustí jeho "sedenie". &kdm; je náhrada za xdm, X Display Manager a je vo veľa smeroch výrazne lepší.

Používateľské rozhranie &kdm; má dva dialógy. Hlavné okno má tieto funkcie:

- Pole "Prihlásenie" kam máte zadať používateľské meno.

- Pole "Heslo" pre zadanie vášho serveru.

- Oblasť vľavo od "Prihlásenie" a "Heslo" sa dá použiť pre zobrazenie statického obrázku alebo analógových hodín.

- (Nepovinný) obrázok pre každého používateľa (napríklad naskenovaná fotografia). Kliknutím na obrázok je rovnaké ako zadanie používateľského mena do poľa Prihlásenie. (Toto je imiitácia prihlásenia na systéme IRIX).

- Typ sedenia umožňuje vybrať v &kdm;, aby spustil sedenia s rôznymi správcami okien alebo prostrediami, ktoré máte nainštalované, vrátane KDE, KDE2 a GNOME.

- Tlačidlo Štart overí kombináciu meno/heslo a pokúsi sa spustiť sedenie podľa vybraného typu.

- Tlačidlo Zrušiť vymaže texty z polí Prihlásenie a Heslo.

- (Nepovinné) tlačidlo Vypnúť zobrazí dialóg Vypnúť.

Dialóg Vypnúť zobrazuje skupinu volieb, ktoré umožňujú vybrať jednu z týchto akcií:

Vypnúť

  Vypne systém rozumným spôsobom.

Reštart

  Reštartuje počítač. Pre systémy, ktoré používajú Lilo nepovinný zoznam umožňuje vybrať operačný systém, ktorý sa má po reštarte použiť.

Reštart X Servera

  Zastaví a potom reštartuje X-server. Toto typicky potrebujete v prípade zmeny vášho nastavenia X11.

Konzolový režim

  Vypne X srver a vráti sa do módu konzole. To sa dosiahne zapnutím úrovne 3. Typicky je nutné túto voľbu použiť pri aktualizácii alebo zmene konfigurácie softvéru X11.

Stlačením OK spustíte vybranú akciu, stlačením Zrušiť vráti hlavný dialóg &kdm;.

Nasledujúca kapitola vysvetľuje nastavenie &kdm;. Ostatné potom popisujú, ako nainštalovať a preložiť &kdm; zo zdrojového kódu a naučiť sa viac o &kdm; a projekte KDE.

## Nastavenie &kdm;

Táto kapitola predpokladá, že &kdm; už beží na vašom systéme a že iba chcete zmeniť jeho chovanie. Ak máte vážnejší problém, prejdite na dalšie kapitoly.

Pri štarte &kdm; načíta nastavenie zo súboru `kdmrc`. Pretože &kdm; musí bežať predtým, ako sa prihlási používateľ, nie je s ním asociovaný žiadny. Preto nie je možné použiť `$HOME/share/config/kdmrc` ale všetci používatelia zdieľajú spoločnú verziu `kdmrc` v `$KDEDIR/share/config/kdmrc`. Z toho vyplýva, že nastavenie &kdm; môže zmeniť iba ten, kto má práva pre zápis do `$KDEDIR/share/config/kdmrc` (normálne to môže byť iba administrátor systému "root").

Môžete si pozrieť momentálne používaný súbor `kdmrc` (obvykle `$KDEDIR/share/config/kdmrc`) a úpravou tohto súboru môžete &kdm; nastavovať. Alebo môžete použiť grafické nastavenie pomocou Ovládacieho centra KDE (v Aplikácie Systém Správca prihlásenia), ktoré je popísané v súboroch pomocníka KControl.

Zvyšok tejto kapitoly popisuje obsah súboru `kdmrc`. Ak radšej používate grafické nástroje, už nemusíte čítať dalej.

V `kdmrc` sú štyri časti:

### KDM

Kľúče v tejto časti sú:

    StdFont
    FailFont
    GreetFont
    GreetString
    SessionTypes
    LogoArea
    LogoPixmap
    ShutdownButton
    Shutdown
    Restart
    ConsoleMode
    UserView
    Users
    NoUsers
    SortUsers
    GUIStyle

Krátky popis kľúčov:

*Font

  Reťazec písma formátovaný ako: Courier,12,5,iso-8859-2,50,0.

GreetString

  Titulok prihlasovacieho okna &kdm;.

SessionTypes

  Čiarkami oddelený zoznam sedení, obvykle pužívaný pre výber správcu okien. Štandardne je to `SessionTyp=kde,failsafe`.

LogoArea

  Určuje to, čo sa zobrazuje v ľavom dolnom rohu okna prihlásenia. Môže to byť bud `KdmLogo` (v tom prípade je obrázok zadaný v `LogoPixMap`) alebo `KdmClock` (v tom prípade sú zobrazené hodiny).

LogoPixmap

  Určuje obrázok zobrazený v ľavom dolnom rohu prihlasovacieho okna pri použití LogoArea=KdmLogo.

ShutdownButton

  ShutdownButton ovláda, či sa má zobraziť tlačidlo pre vypnutie. Môže to byť `All`, `None`, `RootOnly` a `ConsoleOnly`. Význam `All` a `None` je jasný. Ak použijete `ConsoleOnly` nemôžete vzdialene vypnúť počítač. Ak použijete `RootOnly`, musíte zadať heslo roota, aby ste počítač vypli.

Shutdown and Restart

  Príkazy, ktoré sa majú spustiť pri vypnutí alebo reštarte systému. (Štandardné: `/sbin/halt` a `/sbin/reboot`).

ConsoleMode

  Reťazec príkazu použitý v možnosti konzolového režimu tlačidla Vypnúť. (Štandardne `/sbin/init `3``). Táto voľba nie je dostupná pod BSD.

UserView

  Ak je to nastavené na `1`, v okne &kdm; bude zobrazený grafický pohľad na používateľov.

Users

  Zoznam oddelený čiarkami mien používateľov, ktoré budú zobrazené v grafickom pohľade. Ak je nastavené UserView na 1 a chýba Users, &kdm; bude hľadať zoznam v súbore `/etc/passwd`. Zobrazení sú tí používatelia, ktorý majú nastavené aj reálne meno, domovský priečinok a štandardný shell - ostatné sa preskočia. &kdm; bude v `$KDEDIR/share/apps/kdm/pics/users/` hľadať ikony pre jednotlivých používateľov. Ak existuje ikona pomenovaná `jannovak.png`, &kdm; ju použije pre používateľa jannovak. Ak nie, &kdm; použije `default.png`.

  &kdm; dokáže spracovať ikony rôznych veľkostí, ale výsledok môže vyzerať divne. Riešením je použiť napríklad Pixie (alebo GNU Image Manipulation Program, (gimp) alebo XV od Johna Bradleyho) pre prevedenie všetkých obrázkov na rovnakú veľkosť. Dostatočná by mala byť veľkosť 64x64 bodov a je rovnaká akú majú štandardné ikony. Tieto dva programy môžete použiť aj pre prevedenie obrázkov z rôznych formátov do png.

NoUsers

  Zoznam používateľov oddelených čiarkami, ktorí nebudú zobrazení. Použite ho pre odfiltrovanie "pseudo-používateľov" ako `sync` a `shutdown`.

SortUsers

  Ak je to nastavené na `0`, zoznam používateľov bude zobrazený v poradí, ako budú načítané. Štandardne sa zobrazujú používatelia utriedení.

GUIStyle

  Môže byť bud `Motif` alebo `Windows`.

### KDMDESKTOP

Táto časť je zastaralá. Staršia verzia &kdm; dokázala ovládať pozadie pri prihlásenie. Grafický konfigurátor &kdm; túto časť stále ešte generuje, ale &kdm; ju ignoruje.

### Locale

Túto časť používa štandardná knižnica KDE. Jediné kľúče, ktoré majú nejaký efekt, sú:

    Country
    Language
    Charset

Krátky popis kľúčov:

Country

  určuje krajinu. Úplný zoznam kódov nájdete v `$KDEDIR/share/locale/l10N`. Kód krajiny sa používa pre nájdenie súboru `$KDEDIR/share/locale/l10n/kód_krajiny/entry.desktop`, ktorý obsahuje informácie ako formát času a dátumu a symbol lokálnej meny.

Language

  určuje použitý jazyk &kdm; (štandardne: `C` pre americkú angličtinu). Hodnotu je možné predefinovať premennou `KDE_LANG`.

Charset

  určuje použitú znakovú sadu (štandard: `iso-8859-2`).

Ak zmeníte klávesy, ale všetky texty v dialógu zostanú anglické, asi to znamená, že nemáte nainštalované preklady.

### Lilo

Lilo (Linux Loader) je správca bootovania, ktorý sa často používa na systémoch GNU/Linux. Lilo obsahuje podrobnú dokumentáciu (pre začiatok si prečítajte man lilo). Táto časť nastavuje mechanizmy pre reštart systému pomocou Lilo. Kľúče sú:

    Lilo
    LiloCommand
    LiloMap

Krátky popis kľúčov:

Lilo

  Ovláda, či sa používa Lilo pre reštartovanie systému (štandardne: `FALSE`). Ak je tento kľúč nastavený na `TRUE`, dialóg pre vypnutie obsahuje extra nastavenie vedľa voľby "reštartovať". Umožňuje vybrať operačný systém, ktorý sa má použiť pri budúcom štarte systému. Ich zoznam je vytvorený z mapového súboru Lilo.

LiloCommand

  Umiestnenie programu Lilo (štandardne `/sbin/lilo`).

LiloMap

  Umiestnenie mapového súboru Lilo. Spravuje ho Lilo a obsahuje zoznam verzií jadier operačných systémov, ktoré je možné spustiť (štandard: `/boot/map`).

## Nastavenie systému, aby používal &kdm;

Táto kapitola predpokladá, že už máte správne nastavený X Window System, ale musíte ho iba zmeniť tak, aby umožnil grafické prihlásenie.

### Nastavenie &kdm;

Fundamentálna vec, ktorá ovláda či váš počítač spustí termináloé prihlásenie (konzolový mód) alebo grafické prihlásenie, sa nazýva štandardná úroveň runlevel. Nastavuje ju program /sbin/init v konfiguračnom súbore `/etc/inittab`. Štandardná úroveň používaná v rôznych systémoch (a rôznych distribúciách Linuxu) je rôzna, ale ak sa pozriete do `/etc/inittab`, malo by tam byť niečo takéto:

    # Default runlevel. The runlevels used by RHS are:
    # 0 - halt (Do NOT set initdefault to this)
    # 1 - Single user mode
    # 2 - Multiuser, without NFS
    # 3 - Full multiuser mode
    # 4 - unused
    # 5 - X11
    # 6 - reboot (Do NOT set initdefault to this)

    id:3:initdefault:

Všetko okrem posledného riadku sú komentáre. Ukazujú, že úroveň 5 sa používa pre X11 a že úroveň 3 sa používa pre viacužívateľský mód bez X11 (konzolový mód). Posledný riadok určuje, že štandardná úroveň systému je 3 (konzolový mód). Ak váš systém momentálne používa grafické prihlásenie (napríklad pomocou xdm), štandardná úroveň bude tá, ktorá je určená pre X11.

Úroveň pre grafické prihlásenie (xdm) pre niektoré známe distribúcie sú:

- 5 pre Red Hat 3.x a novšie a pre Mandrake

- 4 pre Slackware

- 3 pre S.u.S.E. 4.x a 5.x

Prvý krok je nastavenie systému tak, aby spustil &kdm; z príkazového riadku. Ak to funguje, môžete zmeniť nastavenie ssystému tak, že &kdm; sa spustí automaticky pri každom reštarte vášho počítača.

Pre otestovanie &kdm; najprv musíte váš systém previesť do úrovne, ktorá nespúšťa xdm. Použite takýto príkaz:

    /sbin/init 3

Namiesto čísla `3` by ste mali použiť správnu úroveň pre konzolový režim na vašom systéme.

Dalej musíte nájsť konfiguračný priečinok xdm, obvykle `/etc/X11/xdm/` alebo `/usr/X11R6/lib/X11/xdm/`. Obsahuje súbor `Xsetup_0`. Ak ste preložili &kdm; zo zdrojového kódu a krok `configure` nedokázal tento priečinok nájsť, musíte nainštalovať novú verziu `Xsetup_0` zo šablóny v zdrojovom strome &kdm;. Môžete pridať riadok:

    kdmdesktop

aby váš systém zobrazoval nejaké pekné pozadie (obrázky a farby). (Neviem určite, či to funguje, ale určite to nie je nutné). Ak váš `KDEDIR` nie je `/opt/kde`, možno budete musieť zmeniť cestu na `kdmdesktop`.

Ak váš systém používa Pluggable Authentication Modules (PAM), ktoré sú normálne s novými systémami Mandrake a Red Hat, mali by ste overiť, že nastavenie PAM umožňuje prihlásenie pomocou služby `xdm`. Ak ste predtým úspešne používali xdm, nemalo by byť treba robiť žiadne zmeny vo vašom nastavení PAM, aby ste mohli používať &kdm;. `/etc/pam.conf` alebo `/etc/pam.d/xdm`. Informácie o nastavení PAM je mimo rozsah tohto manuálu, ale PAM obsahuje podrobnú dokumentáciu (skúste hľadať v `/usr/doc/pam*/html`).

Teraz je čas otestovať &kdm; pomocou tohto príkazu:

    kdm -nodaemon

Ak ste dostali prihlasovací dialóg &kdm; a môžete sa prihlásiť, je to dobre. Hlavná vec, ktorá sa tu môže pokaziť je, že sa pri behu nenájdu zdieľané knižnice Qt alebo KDE. Ak máte binárnu distribúciu knižníc KDE, overte, že &kdm; je nainštalované tam, kde si to myslia knižnice (obvykle `/opt/kde/bin`) a skúste nastaviť niektoré premenné prostredia tak, aby ukazovali na knižnice KDE a Qt. Napríklad:

    export
    KDEDIR=/opt/kde
    export
    QTDIR=/usr/lib/qt2
    export
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    export
    LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib

Ak sa vám stále nedarí, skúste spustiť xdm aby ste overili, že nemáte nejaký vážny problém v nastavení X.

Ak sa vám &kdm; podarí spustiť, môžete sa pokúsiť nahradiť xdm &kdm;. Toto je zase závislé na distribúcii.

- Pre RedHat upravte `/etc/inittab`, hľadajte xdm a nahradte ho &kdm; (spolu s celou cestou).

- Pre Mandrake je úroveň X11 v `/etc/inittab` a spustí shellový skript `/etc/X11/prefdm`, ktorý je určený na to, aby sa vybralo z viacerých správcov displejov vrátane &kdm;. Overte, že máte správne nastavené všetky cesty.

- Pre S.u.S.E upravte `/sbin/init.d/xdm` a pridajte ako prvý riadok:

      . /etc/rc.config
      DISPLAYMANAGER=kdm
      export DISPLAYMANAGER

- Väčšina distribúcií je nejaká variácia týchto postupov.

Ak sa vám nepáči zmena `inittab`, môžete premenovať `xdm` na `xdm.bak` a urobiť `xdm` ako symbolický odkaz na &kdm;.

V tomto momente môžete znovu otestovať &kdm; spustením vášho systému v úrovni, ktorá má &kdm; spustiť. Použite na to príkaz:

    /sbin/init 5

Namiesto čísla `5` použite správnu úroveň pre spustenie X11 na vašom systéme.

Posledný krok je upraviť položku initdefault v `/etc/inittab` pre zadanie správnej úrovne pre beh X11.

Pred touto zmenou overte, že máte možnosť, ako v prípade problémov váš systém reštartovať. Možno sa vám hodí záchranná disketa pre váš operačný systém, alebo nejaká špeciálna distribúcia ako je `tomsrtbt`.

Po reštarte systému by sa malo objaviť grafické okno &kdm; pre prihlásenie.

Ak bol tento krok neúspešný, problém je asi v tom, že prostredie použité pri štarte systému je iné než prostredie, ktoré ste použili pre testovanie z príkazového riadku. Overte, že súbory `/etc/X11/xdm/Xsetup_0` (a skripty, ktoré spúšťa) nie sú zmenené a že cesty sú nastavené správne. Ak sa pokúšate používať naraz dve verzie KDE, dávajte si pozor hlavne na premenné `PATH` a `LD_LIBRARY_PATH` tak, aby boli konzistentné a štartovacie skripty ich neprepisovali.

### Podpora viacerých správcov okien

Hlavný dialóg &kdm; obsahuje zoznam typ sedenia, ktorý umožňuje vybrať správcu okien, ktorý chcete použiť pre sedenie. Táto kapitola popisuje zmeny, ktoré musíte urobiť v konfiguračných súboroch, aby vám toto fungovalo.

Možnosti v zozname typ sedenia sú nastavené položkami v časti `KDM` súboru `kdmrc`.

Po prihlásení pomocou &kdm; sa spustí skript `Xsession`. Vybraný typ sedenia sa predáva ako argument príkazového riadku. (`Xsession` nájdete v `/etc/X11/xdm` pre Red Hat a Mandrake a v `/usr/X11R6/lib/X11/xdm` pre S.u.S.E). Pre ladenie sa vám môže hodiť pridanie tohto riadku do `Xsession`.

    echo "$0 || $1 || $2"
    > $HOME/.Xsession_args

To, ako teraz pokračovať, závisí na tom, ako váš systém obvykle štartuje správcu okien. Existujú dva rôzne prístupy s príkladmi, čo musíte urobiť:

- Správca okien sa spúšťa príkazmi v `Xsession`. V tomto prípade môžete pridať dalšiu možnosť pre spustenie správneho správcu okien. Linux Mandrake používa tento spôsob, tu je ukážka z `Xsession`.

      # now, we see if xdm/gdm/kdm has asked for a specific environment
      case $# in
      1)
          case $1 in
              kde)
              source /opt/kde2/bin/kde1
              exec startkde
              ;;
              kde2)
              source /opt/kde2/bin/kde2
              exec startkde
              ;;
          	failsafe)
      	exec xterm -geometry 80x24-0-0
      	;;
      	default)
      	;;
      	*)
      	exec /bin/sh -c "$(/usr/sbin/chksession -x=$1)"
      	;;
           esac
      esac

- Správca okien sa spúšťa iným skriptom spusteným z `Xsession`. V tomto prípade musíte overiť, že parameter predaný `Xsession` sa predáva aj tomuto skriptu. Napríklad sa môže správca okien môže spustiť takto:

      exec $startup

  musíte ho zmeniť na:

      exec $startup $@

  Po tejto zmene musíte nájsť miesto v procese štartu, kde sa spúšťa správca okien. Jeden prístup používa súbor `xinitrc`. To umožňuje použiť systémový súbor `/etc/X11/xinit/xinitrc` alebo používateľský `$HOME/.xinitrc`. Ak upravíte `$HOME/.xinitrc`, možno si budete chcieť jeho kópiu uložiť v `/etc/skel`, takže sa bude automaticky generovať pre každého novo vytvoreného účtu. Tu je príklad súboru `xinitrc`:

      #!/bin/bash
      #
      # .xsession/.xinitrc
      #
      # choose a window manager
      #

      defaultwm=kde
      #set the window manager to $1 if it was supplied
      windowmgr=${1:-$defaultwm}

      #start the respective window managers
      case ${windowmgr} in
        kde|kwm|kdestart)
      	WINDOWMANAGER=startkde
      	;;
        fvwm|fvwm2)
      	WINDOWMANAGER=fvwm2
      	;;

        fvwm95)
      	WINDOWMANAGER=fvwm95
      	;;

        *)    WINDOWMANAGER=windowmgr   # default for unknown wm's

      esac

      #
      # load resources
      #

      if [ -f /usr/X11R6/lib/X11/Xmodmap ]; then
          xmodmap /usr/X11R6/lib/X11/Xmodmap
      fi

      if [ -f ~/.Xmodmap ]; then
          xmodmap ~/.Xmodmap
      fi

      if [ -f ~/.Xdefaults ]; then
          xrdb -merge ~/.Xdefaults
      fi

      if [ -f ~/.Xresources ]; then
          xrdb -merge ~/.Xresources
      fi
      #
      # finally start the window manager
      #
      exec $WINDOWMANAGER

## Preklad a inštalácia kdm

&kdm; je súčasťou projektu KDE. Rôzne časti projektu KDE sú rozdelené do balíkov. &kdm; je časť balíka kdebase. Zdrojové kódy KDE získate z rôznych distribúcií Linuxu a BSD, alebo ich môžete stiahnuť z www.kde.org a jeho mirrorov. Ak máte starý strom kódu, môžete použiť niektorý zo serverov cvsup, aby ste ho aktualizovali čo najjednoduchšie.

Pred prekladom kdebase musíte preložiť a nainštalovať (v tomto poradí) verziu 2 knižnice qt a balíkov KDE kde-qt-addon, kdesupport a kdelibs.

Aby ste každý z nich preložili, musíte už mať nainštalovaný X Window System spolu s prekladačom C++ a nástrojmi GNU configure, automake a autoconf.

Ak vám niekoľko posledných odstavcov prišlo divných, asi ste narazili na nesprávnu časť tohto manuálu, alebo práve zažili niečo veľkého.

Ak ste zvládli splniť tieto požiadavky, asi nebudete mať žiadne problémy s prekladom a inštaláciou kdebase. &kdm; je nainštalovaný vo vašom priečinku `$KDEDIR/bin`.

`make `install`` prepíša váš starý `kdmrc`.

## Iné zdroje informácií

Pretože &kdm; vznikol z xdm, môže manuálová stránka xdm poskytnúť niektoré zaujímavé informácie. Pre problémy týkajúce sa X serveru skúste manuálové stránky X a startx. Ak máte nejaké otázky o &kdm;, na ktoré vám tento manuál neodpovedal, využite toho, že &kdm; používa licenciu GNU Public License: pozrite sa do zdrojového kódu.

## Autori a licencia

&kdm; je odvodený a obsahuje k=od z xdm.

&kdm; 0.1 napísal Matthias Ettrich. Všetky novšie verzie napísal Steffen Hansen.

Xdm je copyright (c) 1990, X Consortium.

Ostatné časti kódu &kdm; sú copyright autorov a licencované pod GNU GPL. Každý môže &kdm; zmeniť a distribuovať výsledok, ak budú mená autorov zachované.

&kdm; vyžaduje knižnicu Qt, ktorá je copyright TrollTech AS.

Do dokumentácie prispeli:

- Dokumentáciu napísal Steffen Hansen stefh@dit.ou.dk

- Dokumentáciu rozšíril Gregor Zumsteinzumstein@ssd.ethz.ch. Posledná zmena 1998/07/09

- Revízia dokumentácie pre KDE2 Neal Crooknac@forth.org. Posledná zmena 2000/07/06

Documentation copyright Steffen Hansen, Gregor Zumstein a Neal Crook.

Preklad dokumentácie Stanislav Višňovský visnovsky@nenya.ms.mff.cuni.cz

&underFDL; &underGPL;