Hallo, Am Mon, 03 May 2004, Marcus Habermehl schrieb:
Am Mo, 2004-05-03 um 02.32 schrieb David Haller:
Beende den Prozess, denn X als erstes gestartet hat, i.d.R ist das ein Windowmanager. Das kannst du ueber's normale Ausloggen des WMs machen, du kannst aber auch ein 'kill -TERM PID_DES_PROGRAMMS' machen.
Oder wenn der WM haengt, dann mit 'kill -TERM PID_DES_XSERVERS'.
Das ist mir alles bekannt und klar. Mir geht es eher darum, dass ich ab und zu zum Test eines neuen WMs X manuell von der Kommandozeile mit X :1 & starte.
In dem Moment wird X zwar von mir, als User ausgeführt, aber mit der Berechtigung von root.
Somit müsste ich zum Beenden des X-Servers immer den Server mit Gewalt und als root beenden.
Nein. Du startest doch sicher gleich den WM mit, oder? Dann reicht es, wenn du diesen dann beendest. Egal wie (s.u.).
Und kill ist ja nicht unbedingt die übliche Art Programme zu beenden.
Entweder sie beenden sich selbst (z.B. ein "ls") oder sie laufen so lange, bis sie "irgendwie" die Nachricht bekommen, sich zu beenden. Das sind speziell zum "geordneten" Beenden: SIGTERM (15) : Terminate (Alt+F4 in KDE schickt genau dieses Signal) SIGINT (2) : Interrupt (Strg+c) "Abschiessen" (z.B. auch mit xkill) entspricht SIGKILL (9). Die Signale kann der WM / die Konsole schicken (s.o. Alt+F4, Strg+c), genauso gut und "sauber" ist, das Signal mit "kill -SIGSPEC" zu schicken. Auf ein SIGTERM sollte ein WM genau so reagieren wie auf einen Klick auf "Ausloggen" / "Exit" o.ae. Ein kill -TERM `pidof wmaker` ist also eine saubere Variante Windowmaker zu beenden. Schau dir evtl. mal 'pstree' ab der PID des jew. "startx" an, z.B.: $ pstree `ps x | awk '/[s]tartx.*'$WINDOWMANAGER'/{print $1;}'` startx---xinit-+-X `-wmaker-+-wmsetbg |-xclock `-xemacs---gnuserv *hehe* Vergleich das mal mit KDE ;)) Die xterms, die per Menue aufrufe haben komischerweise nicht wmaker als parent-Prozess oben fehlen also noch 3 xterms, mutt, und im Moment nur ein gnuclient, sowie das pstree selbst. Alternativ koenntest du den WM u.U. mit 'startproc -f /var/run/$WINDOWMANAGER.pid' starten, dann hast du auch gleich noch ein pidfile fuer ein kill -TERM `cat /var/run/$WINDOWMANAGER.pid` HTH & HAND, -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.