Nach inittab-veränderung nur noch eine shell?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
feuervogel
Beiträge: 168
Registriert: 21.07.2004 22:42:12

Nach inittab-veränderung nur noch eine shell?

Beitrag von feuervogel » 18.09.2004 09:33:06

Hallo!

ich habe mir gestern debian per netinstall installiert. habe nen xserver mit dem ganzen krempel installiert und dazu noch gnome und gdm. nun habe ich in der /etc/inittab das init level (nach dem booten) von 2 auf 5 hochgesetzt.

wenn ich nun mich schön ins gnome eingelogged habe und alles gestartet ist, komme ich per alt+strg+F1 zwar auf die erste shell, aber wenn ich dann alt+F2-3 drücke, sehe ich nur nen (waagrechten) strich blinken, und kann nichts eintippen, geschweige denn mich einloggen.

ist das nur ein vorübergehender bug der sarge oder hab ich was falsch gemacht?

danke für die hilfe!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 18.09.2004 10:01:25

es sollten folgende Zeilen in der "/etc/inittab" stehen:

Code: Alles auswählen

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
wenn dem nicht so ist, dann trage sie ein und wenn es dann nach einem Reboot immer noch nicht funktioniert, dann poste nochmal ;-)

/EDIT: MOOOOOOMENT... nein du müsstest selbst meinen Eintrag noch anpassen... FRAGE: warum hast du die Runlevel auf 5 gesetzt????? Debian verwendet nicht die Logik das "5" der grafische Modus ist!!!! Bei Debian ist der normale Runlevel IMMER 2!!!!
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

feuervogel
Beiträge: 168
Registriert: 21.07.2004 22:42:12

Beitrag von feuervogel » 18.09.2004 10:54:52

okay, ich habs jetzt noch nicht geändert, aber ich will, dass nach dem booten direkt der display-manager gestartet wird.

ich könnte natürlich auch im level 2 starten, mich auf der shell einloggen und dann per startx gnome starten, aber so find ichs etwas...komfortabler...

ich hab hier ein linux-buch, das besagt, in der inittab den wert von 2 von 5 raufsetzen, und dann klappe es. tut es ja auch, nur werden die konsolen 2-6 nicht gestartet.

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 18.09.2004 11:16:25

feuervogel hat geschrieben:ich hab hier ein linux-buch, das besagt, in der inittab den wert von 2 von 5 raufsetzen, und dann klappe es. tut es ja auch, nur werden die konsolen 2-6 nicht gestartet.
Das Buch scheint ein nicht-Debian System zu beschreiben. In Debian wird der Displaymanager wie jeder andere Dienst einfach über ein Symlink in /etc/rcX.d/ gestartet und nicht durch einen Eintrag in der /etc/inittab

Code: Alles auswählen

$ grep initdefault /etc/inittab
id:2:initdefault:
$ ls -l /etc/rc2.d/S99wdm
lrwxrwxrwx    1 root     root           13 Jan 19  2003 /etc/rc2.d/S99wdm -> ../init.d/wdm
Bei mir ist es zwar der WDM aber analog würde das mit dem GDM aussehen. Also ausnahmsweise diesen Aspekt Deines Linuxbuch's einfach mal ignorieren und als nicht-Debian-spezifisch abhaken ;-)

ChandlerBing
Beiträge: 95
Registriert: 01.06.2004 13:54:02

Beitrag von ChandlerBing » 18.09.2004 12:21:20

QT hat geschrieben:Das Buch scheint ein nicht-Debian System zu beschreiben. In Debian wird der Displaymanager wie jeder andere Dienst einfach über ein Symlink in /etc/rcX.d/ gestartet und nicht durch einen Eintrag in der /etc/inittab
Natürlich wird der DM über einen link in den runlevels gestartet.
Wie soll der denn bitte über die inittab gestartet werden?

@feuervogel:

Die Zeilen die Savar gepostet hat sind für die Anzahl der Konsole in bestimmten Runlevels zuständig

Code: Alles auswählen

1: 2345:respawn:/sbin/getty 38400 tty1
heißt soviel wie "Konsole 1 gibt es in den Runleveln 2,3,4,5".

Wenn Du im Runlevel 5 6 Konsolen haben möchtest, dann musst Du also folgendes eintragen

Code: Alles auswählen

1:2345:respawn:/sbin/getty 38400 tty1
2:2345:respawn:/sbin/getty 38400 tty2
3:2345:respawn:/sbin/getty 38400 tty3
4:2345:respawn:/sbin/getty 38400 tty4
5:2345:respawn:/sbin/getty 38400 tty5
6:2345:respawn:/sbin/getty 38400 tty6

feuervogel
Beiträge: 168
Registriert: 21.07.2004 22:42:12

Beitrag von feuervogel » 18.09.2004 12:25:11

wow, danke, das schaut gut aus!

jetzt müsste ich nur noch wissen, wie ich
Displaymanager wie jeder andere Dienst einfach über ein Symlink in /etc/rcX.d/ gestartet
das machen muss?

@chandlerbing: die lösung führt also auch zum ziel? werde beides mal ausprobieren und mich später melden.

vielen dank schon mal!

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 18.09.2004 12:45:04

ChandlerBing hat geschrieben:
QT hat geschrieben:Das Buch scheint ein nicht-Debian System zu beschreiben. In Debian wird der Displaymanager wie jeder andere Dienst einfach über ein Symlink in /etc/rcX.d/ gestartet und nicht durch einen Eintrag in der /etc/inittab
Natürlich wird der DM über einen link in den runlevels gestartet.
Wie soll der denn bitte über die inittab gestartet werden?
Halt so, wie das RedHat, SuSE, Mandrake & Co machen. Die haben einen Eintrag in der inittab, welcher im Runlevel 5 den Displaymanager startet. So ist es auch offensichtlich in dem Buch, das der OP zur Referenz hat, beschrieben. Hier mal ein Beispiel fuer diesen Eintrag wie ich ihn auf http://www.linuxinfor.com/english/KDE-G ... WTO-2.html gerade gefunden habe:

Code: Alles auswählen

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm -nodaemon
feuervogel hat geschrieben:jetzt müsste ich nur noch wissen, wie ich das machen muss?
Dafür gibts es AFAIK verschiedene Tools, aber man kann das auch händisch so machen, angenommen Deine default Runlevel sei 2:

Code: Alles auswählen

$ cd /etc/rc2.d
ln -sf ../init.d/gdm S99gdm

ChandlerBing
Beiträge: 95
Registriert: 01.06.2004 13:54:02

Beitrag von ChandlerBing » 18.09.2004 12:46:56

Moment.
Ich glaube wir haben uns mißverstanden.

Es gibt unter Debian sog. init-Skripte. Die liegen in /etc/init.d/.
Diese kann man dann mit einem runlevel verlinken in dem man sie starten oder killen möchte.
Inittab hat damit eigentlich nichts zu tun. Hier wird u.a. eingestellt welches Runlevel das default Runlevel ist. Also das Runlevel in das Dein Rechner bootet.

Wenn Du nun also möchtest, dass kein kdm/gdm/was auch immer in Runlevel 5 gestartet wird und zwar NUR in Runlevel 5, dann musst du folgendes machen:

Gehe die Runlevel-Verzeichnisse durch (/etc/rcX.d/) und gucke ob da dein DM verlinkt ist.
Lösche alle Startlinks (S99kdm oder so) in den Verzeichnissen, in denen der kdm nicht gestartet werden soll und lege in diesen Verzeichnissen kill-Skripte für kdm an (ln -s ../init.d/kdm K23kdm).
Nur in /etc/rc5.d/ soll ein Start-Skript für den DM liegen, in den anderen rc4, rc3, usw jeweils ein Kill-Skript.

Das sorgt dann dafür, dass Du wenn zb in Runlevel 5 bist und init 3 eingibst, kdm gekillt wird (wegen des kill-Skripts in rc3). Wenn du init 5 eingibst, wird es wieder gestartet.

ChandlerBing
Beiträge: 95
Registriert: 01.06.2004 13:54:02

Beitrag von ChandlerBing » 18.09.2004 12:49:50

QT hat geschrieben:Halt so, wie das RedHat, SuSE, Mandrake & Co machen. Die haben einen Eintrag in der inittab, welcher im Runlevel 5 den Displaymanager startet. So ist es auch offensichtlich in dem Buch, das der OP zur Referenz hat, beschrieben. Hier mal ein Beispiel fuer diesen Eintrag wie ich ihn auf http://www.linuxinfor.com/english/KDE-G ... WTO-2.html gerade gefunden habe:

Code: Alles auswählen

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm -nodaemon
Was es alles gibt... Ist ja eklig! :)

Benutzeravatar
QT
Beiträge: 1250
Registriert: 22.07.2004 21:08:02
Wohnort: localhost

Beitrag von QT » 18.09.2004 12:57:34

Yep, eklig finde ich das auch und das macht es meiner Meinung auch komplizierter, mal eben den Dienst zu beenden bzw. zu starten und sei es nur temporaer, da jeweils eine Änderung an der inittab erforderlich ist und ein anschliessendes "init q" um die inittab neu einzulesen. Bei Debian ist das einfacher, da genügt ein "/etc/init.d/wdm start" bzw. stop :-)

Antworten