• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Verhalten bei Systemfehlern

Hallo,
ich habe heute mit den 'Einstellungen für "Digitale Uhr"' etwas herumprobiert, worauf das System plötzlich stehengeblieben ist. Es kam eine Meldung, das Programm gehöre zu "Plasma-Desktop" (oder so ähnlich) und ob ich dieses abbrechen wolle. Das habe ich bestätigt, worauf ich außer 2 Anwendungsfenstern, die ich noch schließen konnte, gar nichts mehr auf dem Bildschirm hatte. Da ich einmal den Tipp bekommen hatte, in solch einem Fall die Tasten Strg-Alt-F1 zu drücken, habe ich das gemacht, worauf eine login-Aufforderung erschien. Ich habe mich eingeloggt, und dann wusste ich nicht weiter, was ich hätte starten können oder müssen, um das Desktop-Programm wieder zu bekommen. Wer weiß Rat? (openSUSE 12.1, KDE 4.7.2).
 
Strg + Alt + F1 bringt Dich lediglich zu einem Terminal (das selbe gilt für F2 bis F6, mit F7 kommst Du zurück auf die grafische Oberfläche, Strg + Alt + F10 zeigt Meldungen vom Kernel).

Wie ist denn jetzt der Zustand, wenn Du Dich ins System einloggen willst?
 
OP
pp91
gropiuskalle schrieb:
Strg + Alt + F1 bringt Dich lediglich zu einem Terminal (das selbe gilt für F2 bis F6, mit F7 kommst Du zurück auf die grafische Oberfläche, Strg + Alt + F10 zeigt Meldungen vom Kernel).

Wie ist denn jetzt der Zustand, wenn Du Dich ins System einloggen willst?
Ich habe nach dem login dann den shutdown-Befehl gegeben und anschließend den Rechner ganz normal wieder neu gestartet. Was mich interessiert: Wie hätte ich das gestoppte Plasma-Desktop wieder starten können? Wäre das mit Strg-Alt-F7 gegangen?
 
Du hättest z.B. mit
Code:
ps ax |grep startkde
nach dem Prozess startkde suchen können und diesen Prozess dann mit kill beenden. Dann wärst Du wieder am Login gewesen.

CU Freddie
 
OP
pp91
Freddie62 schrieb:
Du hättest z.B. mit
Code:
ps ax |grep startkde
nach dem Prozess startkde suchen können und diesen Prozess dann mit kill beenden. Dann wärst Du wieder am Login gewesen.

CU Freddie
Ich habe das mal am normal laufenden System ausprobiert. Es kommt danach tatsächlich das grüne login-Fenster und das System wird normal gestartet. Allerdings sind alle Fenster mit Programmen futsch, die ich vorher während des Betriebs gestartet hatte.
 
pp91 schrieb:
Ich habe nach dem login dann den shutdown-Befehl gegeben und anschließend den Rechner ganz normal wieder neu gestartet. Was mich interessiert: Wie hätte ich das gestoppte Plasma-Desktop wieder starten können? Wäre das mit Strg-Alt-F7 gegangen?
Du hast doch ganz klar geschrieben, daß der Desktop ohnehin gestoppt ist. Die offenen Programme sind somit zwar auch geschlossen, aber Du brauchst nicht zu rebooten (Spart also eigentlich nur Zeit). Allerdings habe ich das Gefühl, daß KDE 4.7 sich leichter abschießt als 4.6, also instabiler ist. Bisher habe ich das in solch einem Fall nur durch einen Neustart von KDE lösen können. Nur die Verursacher (z.B. "neverball", aber auch andere Programme) abzuschießen reicht offenbar nicht.

CU Freddie
 
Mit
Code:
Strg+Alt+Rücktaste
kannst Du oft auch den X-Server abschießen (um ihn dann neu zu starten).

Na ja, jetzt kann ich vielleicht auch alles beschreiben: Also, ich boote nicht in ein xdm oder so, sondern nach "init 3" in den Konsolemodus. Von dort starte ich den X-Server von Hand
Code:
startx kde
Dafür habe ich natürlich ein alias, also schlicht "x", in "/etc/bash.bashrc.local" definiert.
Wenn es ein Problem mit der grafischen Oberfläche gibt, schieße ich den X-Server wie oben beschrieben ab. Dann bin ich wieder auf der Nur-Text-Konsole. Dort lösche ich alles bis auf "bash" mit meinem Skript "killit" (das in "/usr/local/bin" liegt). Hier mal das Skript, Benutzung auf eigene Gefahr:
Code:
#!/bin/bash

if [ "$UID" -eq 0 ]
then
    echo -e "\nThis script may not be run as \"root\". Aborting.\n"
    exit 1
fi

if [ -n "$(ps x | grep startx)" ] && [ -n "$(echo $a | grep 'grep startx')" ]
then
    echo -e "\nPlease kill the X-server first (pressing \"Ctrl+Alt+Backspace\").\nNothing done.\n"
    exit 2
fi


a=$(ps x)
n=0
x=0

echo "$a" |
{
    while read i
    do
        if test -z "$(echo $i | grep bash)" -a -z "$(echo $i | grep 'ps x')" -a -z "$(echo $i | grep COMMAND)"
        then
            if test $x -eq 0
            then
                echo
                echo "Killing:"
                echo
                x=1
            fi
            knr="$(echo $i | awk -F " " '{print $1}')"
            kill -9 $knr
            b=$(ps -p $knr -o comm=)
            echo -e "$knr\t$b"
            let "n += 1"
        fi
    done

    echo

    if test $n -eq 0
    then
        echo "No process to kill."
    fi

    if test $n -eq 1
    then
        echo "One process killed."
    fi

    if test $n -gt 1
    then
        echo "$n processes killed."
    fi

    echo
}

# ps x
Dann starte ich den X-Server neu ("x", s.o.). Klappt soweit ganz gut. Unter SuSE 10.0, sollte aber auch auf neueren Systemen nicht anders sein.

Gruß
 
Oben