Re: Kde volím login mana žera - gdm, kdm, xdm, ... ?


To CZ Debian <czdebian-l zavinac debian bod cz>
From Hans Ginzel <hans zavinac matfyz bod cz>
Date Wed, 11 Sep 2002 10:52:20 +0200
Mail-followup-to CZ Debian <czdebian-l zavinac debian bod cz>
User-agent Mutt/1.3.28i

On Tue, Sep 10, 2002 at 09:08:20AM +0200, deb_petr zavinac seznam bod cz wrote:
> Tak jsem se úspěšně prokousal upgradem XFree86 na 4.2.0, ale zasekl jsem se
:-)
> na výběru login manažeru.
;-(

> Standardně mi nabíhal "gdm". V SuSE se situace řešila "YAST" nebo editací
> "rc.confing". Jenže ve Woody mám jen adresář "inint.d" a nic dalšího jsem
> nenašel.

   Ale v tom adresari je skoro vsechno. Projdete si, jak system startuje.
Prvnim procesem je program init s konfigurakem /etc/inittab. V nem se
nastavuje defaultni runlevel, tj. cislo, ktere potazmo udava nazev
adresare, z ktereho adresare budou spousteny startovaci scripty
/etc/rc*.d/*, coz jsou linky do /etc/init.d.

> Jak tedy bez mazání navolím, aby se mi spouštěla jen čistě textová konzole ?

   Muzete si vytvorit runlevely ktere neobsahuji startovani xdaemonu
(xdm,kdm,gdm). Runlevel muzete zadat jako cislo v parametrech kernelu (v
lilo promptu, nebo pomoci apend="<cislo>" v /etc/lilo.conf)

   Jiz si nepamatuji, zda-li se default runlevel nebo startovani
xdaemona vybira pri instalaci.

> Když jsem "gdm" smazal z /etc/inint.d, začal nabíhat "xdm". Když jsem smazal
> "xdm", naběhla už jen textová konzole, což jsem chtěl. Ale asi to nebude ten
> pravý způsob.

   Soubory nemazte, jen odkazy na ne z adresare /etc/rc*.d. Ale ani to
neni doporucovane. Ma se pouzivat update-rc.

   Pokud byste soubor nesmazal, ale nahledl do nej,
zjistlil byste ze na zacatku testuje /etc/X11/default-display-manager.
Na ten se Vas instalator ptal patrne dvakrat, jak pri konfiguraci xdm,
tak pri konfiguraci kdm a mozna, instaloval-li jste, gdm.

> A jak navolím, aby se mi třeba místo "gdm" spouštěl "kdm" ?

    Reconfigorovat muzete pomoci

        dpkg-reconfigure xdm

   Je skoda, ze tam autori nepridali moznost "none". Nezkousel jsem, ale
jen rychlim nahlednutim do startocvaciho scriptu xdm bych rekl, ze je-li
soubor /etc/X11/default-display-manager prazdny, nebo obsahuje neco
jineho nez cestu k xdaemonu, zadny se nespusti.

> A ještě bych chtěl někde přenastavit, aby když napíšu "startx" se nezpustil
> "xterm", ale "KDE 2.2.2" - jenže nevím opět kde to změnit.

   Jednak si muzete opet detailne projit jak takove startovani X
probiha: vi `which startx`, pomoci gf (go to file under cursor) muzete
projit postupne soubory, ktere se spousti a co testuji. Zhruba:

   startx -> /usr/X11R6/bin/startx -> /usr/X11R6/lib/X11/xinit/xinitrc
-> /etc/X11/Xsession -> /etc/X11/Xsession.d/* ->
        50xfree86-common_determine-startup, ten postupne zkousi z moznosti:
                Vas $HOME/.xsession
                x-session-manager
                x-window-manager
                x-terminal-emulator

   Ty obecne nazvy nastavite v konkretni pomoci debianovskeho systemu
alternativ
                update-alternatives --config x-session-manager
                update-alternatives --config x-window-manager
                update-alternatives --config x-terminal-emulator

Defaultne se vybere odpovidajici balik s nejvyssi prioritou
(man update-alternatives).

   Autorum bych opet vytknul, ze, mam-li nainstalovany session-manager
(kde, gnome-session), tak opet nemohu (ja root) vybrat "none", aby se
(defaultne) startoval jen x-window-manager, ale uzivatel si mohl
nastavit ve svem ~/.xsession spousteni treba kde. Kdo neprojde
startovaci scripty, zbyvaji mu nasledujici reseni
        - odinstalovani session-manager (nezadouci)
        - do /etc/skel/ dat .xsession spoustejici jen x-window-terminal
                (opet netrivilani na to prijit),
        - nebo primo do /home/*/ dat .xsession, ale to slusny
                administrator neudela.
        - nejaky hruby zasah nekam do startovacich scriptu
                (opet neciste)
        - smirit se stim, ze to nejde
                (to muze byt nekdy dobre reseni -- smirovani je
                chvalihodne)
        - prosit nekoho (napr. sebe), aby to zmenil, ale to uz pak musi
          studovat scripty. (to je ale lepsi)

   Ciste reseni je asi

        mv /etc/alternatives/x-session-manager
/etc/alternatives/x-session-manager.bak

   to ale nejspis neprezije upgrade x-session-manageru, nebo

ln -s some_noexecutable_file /etc/alternatives/x-session-manager

   a pak si davat pozor, aby se to pri upgradu nezmenilo.

   Nejcistsi asi je vytvoreni baliku "dumy-session-manager", ktery bude
providovat nonexecutable session-manager.


> Díky za pomoc Petr Novák <deb_petr zavinac seznam bod cz> ... ;-) žabák v 
> linuxu (-;

   Je zac, docela jsem se rozepsal. :-)

> PS: Je někde tohle popsáno v manuálech ? Hledal jsem kde mě napadlo, ale
> nenašel jsem nic. Nenašel jsem ani žádné info k init.d.

   Ve vyse popsanem jsem nejvice pouzil cteni shellovych scriptu (man
sh), o meneni session-manageru je v
/usr/doc/debian/FAQ/ch-customizing.html, o systemu alternativ je zminka
v /usr/share/doc/debian-policy/. Nemate-li manuali nainstalovane, daji
se urcite dohledat na webu. Z nejake prirucky pro zacatecniky jsem se
dozvedel, ze prvni spousteny proces po startu jadra je init a jak se
ctou manualove stranky, pak uz jen staci  man init  a kombinoivat cteni
scriptu s ctenim manualovych stranek, obcas zdrojovy kod. Skoda, ze
neexistuje (nenasel jsem) obdobu perlovych manualovych stranek pro jazyk
C (man cdata, man csyn, man cop). Take je vhodne nevynehchat takove ty
specialni pripady (man man).
Rovnez HOWTO dokumenty jsou uzitecne.

  Hodne trpelivosti pri studiu preje
--
                                        Hans Ginzel

http://www.kit.vslib.cz/~satrapa/docs/vim/
http://vim.sourceforge.net/new/6kbyte.php
http://www.parrotcode.org/
http://www.infoworld.com/articles/op/xml/02/08/26/020826opsource.xml
http://www.manualy.sk/archiv/a534k701.htm

Partial thread listing: