Wie eine KDE-Session remote und sauber beenden?
Guten Morgen, wenn ich mal vergessen habe, mich an einem Rechner von einer KDE-Sitzung abzumelden, würde ich mich von der Sitzung gerne von einem entfernten Rechner aus abmelden, so dass die aktuelle Session genauso gespeichert wird, als hätte ich mich lokal abgemeldet. Da in der Prozessliste mehrere Prozesse direkte Kindprozesse von init und nicht von kdeinit sind, kann man wohl nicht irgendeinem Prozess ein SIGTERM schicken, sondern müsste wohl das Logout-Programm starten, als hätte man lokal auf den Logout-Knopf gedrückt. Aber das erfordert nochmal eine Bestätigung durch Knopfdrücken auf "Abmelden" in einem Dialog, was remote kaum möglich scheint. Wie kann man das also korrekt erledigen? Vielleicht ein Skript, das den Dialog entweder umgeht oder korrekt abwickelt? Danke für jeden Denkanstoß! Gruß, Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 19. März 2010 11:41:23 schrieb Thomas Michalka: Hallo Thomas,
wenn ich mal vergessen habe, mich an einem Rechner von einer KDE-Sitzung abzumelden, würde ich mich von der Sitzung gerne von einem entfernten Rechner aus abmelden, so dass die aktuelle Session genauso gespeichert wird, als hätte ich mich lokal abgemeldet.
Da in der Prozessliste mehrere Prozesse direkte Kindprozesse von init und nicht von kdeinit sind, kann man wohl nicht irgendeinem Prozess ein SIGTERM schicken, sondern müsste wohl das Logout-Programm starten, als hätte man lokal auf den Logout-Knopf gedrückt. Aber das erfordert nochmal eine Bestätigung durch Knopfdrücken auf "Abmelden" in einem Dialog, was remote kaum möglich scheint.
Wie kann man das also korrekt erledigen? Vielleicht ein Skript, das den Dialog entweder umgeht oder korrekt abwickelt?
Hast Du mal 'kdeinit4_shutdown' probiert? (fuer kde3 waere es 'kdeinit_shutdown') Das ist jetzt _nur_ eine Idee, die mir auf Anhieb einfaellt. Testen kann ich es auf dieser Kiste hier nicht, da ich eine definierte Sitzung mit speziellen Anwendungen abgespeichert habe. Diese Sitzung wird bei jedem Start wieder hergestellt. MfG Th. Moritz -- Woher soll ich wissen was ich denke, bevor ich hoere was ich sage? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Thomas, Thomas Moritz schrieb:
Am Freitag, 19. März 2010 11:41:23 schrieb Thomas Michalka:
Hallo Thomas,
wenn ich mal vergessen habe, mich an einem Rechner von einer KDE-Sitzung abzumelden, würde ich mich von der Sitzung gerne von einem entfernten Rechner aus abmelden, so dass die aktuelle Session genauso gespeichert wird, als hätte ich mich lokal abgemeldet.
Da in der Prozessliste mehrere Prozesse direkte Kindprozesse von init und nicht von kdeinit sind, kann man wohl nicht irgendeinem Prozess ein SIGTERM schicken, sondern müsste wohl das Logout-Programm starten, als hätte man lokal auf den Logout-Knopf gedrückt. Aber das erfordert nochmal eine Bestätigung durch Knopfdrücken auf "Abmelden" in einem Dialog, was remote kaum möglich scheint.
Wie kann man das also korrekt erledigen? Vielleicht ein Skript, das den Dialog entweder umgeht oder korrekt abwickelt?
Hast Du mal 'kdeinit4_shutdown' probiert? (fuer kde3 waere es 'kdeinit_shutdown') Das ist jetzt _nur_ eine Idee, die mir auf Anhieb einfaellt.
Toll! Ich hatte nach irgendwas mit 'logout' gesucht ;-(
Testen kann ich es auf dieser Kiste hier nicht, da ich eine definierte Sitzung mit speziellen Anwendungen abgespeichert habe. Diese Sitzung wird bei jedem Start wieder hergestellt.
user@rechner:~> kdeinit4_shutdown --help Usage: kdeinit4_shutdown Shuts down kdeinit4 master process and terminates all processes spawned from it. Das wär's eigentlich, aber der zweite Teilsatz macht mich etwas nachdenklich: werden dann alle Prozesse, die nicht Kindprozesse von kdeinit4 sind, nicht beendet? (Ich will es gerade nicht mal einfach so ausprobieren, weil ich ein paar wichtige Sachen in der nächsten Sitzung gerne so wie jetzt wiederhätte.) Mir fällt gerade selber eine Möglichkeit ein, die zwar jetzt vielleicht nicht geht, aber in Zukunft, nämlich über VNC. Ich kenne mich mit VNC allerdings nicht aus, wollte es aber sowieso mal ausprobieren. Ich google gleich mal, aber vielleicht ist es nicht zu unverschämt, trotzdem gleich hier ein paar Fragen dazu loszuwerden? Damit kann man doch einen Desktop fernsteuern, oder? Dann müsste man auch den üblichen graphischen Logout bzw. KDE-Shutdown machen können. Muss man einen VNC-Server auf dem Rechner laufen haben, dessen Desktops man remote bedienen möchte? Kann man damit einen schon laufenden Desktop, sozusagen nachträglich exportieren? Muss hierzu die komplette Ausgabe des X-Servers exportiert werden, und falls ja, was muss man im Zusammenhang mit dem X-Server beachten? Vielen schon mal für Eure Geduld und Anregungen! Herzlichen Gruß, Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Thomas Moritz schrieb:
Am Freitag, 19. März 2010 11:41:23 schrieb Thomas Michalka:
Hallo Thomas,
wenn ich mal vergessen habe, mich an einem Rechner von einer KDE-Sitzung abzumelden, würde ich mich von der Sitzung gerne von einem entfernten Rechner aus abmelden, so dass die aktuelle Session genauso gespeichert wird, als hätte ich mich lokal abgemeldet.
Da in der Prozessliste mehrere Prozesse direkte Kindprozesse von init und nicht von kdeinit sind, kann man wohl nicht irgendeinem Prozess ein SIGTERM schicken, sondern müsste wohl das Logout-Programm starten, als hätte man lokal auf den Logout-Knopf gedrückt. Aber das erfordert nochmal eine Bestätigung durch Knopfdrücken auf "Abmelden" in einem Dialog, was remote kaum möglich scheint.
Wie kann man das also korrekt erledigen? Vielleicht ein Skript, das den Dialog entweder umgeht oder korrekt abwickelt?
Hast Du mal 'kdeinit4_shutdown' probiert?
Habe ich jetzt probiert, leider keinerlei Reaktion. Allerdings habe ich den Verdacht, dass auf dem Rechner irgendwas mit KDE 4.4.1 nicht stimmt, denn ab und zu habe ich das Phänomen, dass man an das System gerade lokal nicht mehr herankommt, wenn der Bildschirmschoner eine Weile aktiv war und später der Bildschirm abgedunkelt (Power-Down) wird. Da hilft dann nur noch ein reboot von remote, da auch ein init 3 mit folgendem init 5 den X-Server nicht mehr startet; vielleicht ein Problem von KDE zusammen mit fglrx. Gruß, Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Thomas Michalka schrieb:
Hallo,
Thomas Moritz schrieb:
Am Freitag, 19. März 2010 11:41:23 schrieb Thomas Michalka:
Hallo Thomas,
wenn ich mal vergessen habe, mich an einem Rechner von einer KDE-Sitzung abzumelden, würde ich mich von der Sitzung gerne von einem entfernten Rechner aus abmelden, so dass die aktuelle Session genauso gespeichert wird, als hätte ich mich lokal abgemeldet.
Da in der Prozessliste mehrere Prozesse direkte Kindprozesse von init und nicht von kdeinit sind, kann man wohl nicht irgendeinem Prozess ein SIGTERM schicken, sondern müsste wohl das Logout-Programm starten, als hätte man lokal auf den Logout-Knopf gedrückt. Aber das erfordert nochmal eine Bestätigung durch Knopfdrücken auf "Abmelden" in einem Dialog, was remote kaum möglich scheint.
Wie kann man das also korrekt erledigen? Vielleicht ein Skript, das den Dialog entweder umgeht oder korrekt abwickelt? Hast Du mal 'kdeinit4_shutdown' probiert?
Habe ich jetzt probiert, leider keinerlei Reaktion. Allerdings habe ich den Verdacht, dass auf dem Rechner irgendwas mit KDE 4.4.1 nicht stimmt, denn ab und zu habe ich das Phänomen, dass man an das System gerade lokal nicht mehr herankommt, wenn der Bildschirmschoner eine Weile aktiv war und später der Bildschirm abgedunkelt (Power-Down) wird. Da hilft dann nur noch ein reboot von remote, da auch ein init 3 mit folgendem init 5 den X-Server nicht mehr startet; vielleicht ein Problem von KDE zusammen mit fglrx.
Gerade nochmal probiert von tty2: es klappt nicht ganz, denn es erscheint eine X-Fensterchen mit der Meldung "Could not start ksmserver". Wenn man das wegklickt, dann sind anschließend zwar alle User-Prozesse beendet, aber wie man nach erneutem Anmelden am kdm sieht, wird die Sitzung von KDE leider nicht gespeichert :-( Eigentlich hätte sich ein Remote-Versuch erübrigt, aber ich wollt's halt nochmal wissen. Dieses scheitert mit folgender Meldung: kilian@terra:~> kdeinit4_shutdown kdeinit4_wrapper: Warning: connect(/home/kilian/.kde4/socket-terra/kdeinit4_localhost_10) failed: : No such file or directory Error: Can not contact kdeinit4! Also geht's so einfach nicht. Deshalb werde ich mich der DBUS-Idee, auf die mich Jan aufmerksam gemacht hat, bei Gelegenheit eingehender widmen. Danke nochmal für alle Tipps! Wenn ich herausgefunden habe, dann melde ich mich diesbezüglich nochmal -- kann aber dauern. Gruß, Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 19. März 2010 schrieb Thomas Michalka:
(...). Vielleicht ein Skript, das den Dialog entweder umgeht oder korrekt abwickelt?
Probiers mal mittels DBUS, aber dafür mußt du auch irgendsoeine Umgebungsvariable richtig gesetzt haben. Aber dafür kannst du so ziemlich alles damit steuern: http://www.bramschoenmakers.nl/en/node/609 Gruß Jan -- Tolerances will accumulate uni-directionally toward maximum difficultly to assemble. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Jan Ritzerfeld
-
Thomas Michalka
-
Thomas Moritz