27.11.2020, 04:10 UTC+1

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

1

01.11.2020, 14:44

Knoppix 8.6.1 lxsession-logout – Welcher Befehl verbirgt sich hinter dem Menüpunkt "Logout"?

Betrifft: Knoppix 8.6.1.

Hallo,

wenn man an der shell den Befehl

Quellcode

1
lxsession-logout
aufruft oder im lxde-Menü auf "Abmelden" klickt, tut sich ein Menü mit dem Titel "Logout LXDE KNOPPIX session" auf.

Wenn man in diesem Menü den Button "Logout" anklickt, wird die laufende Session beendet und eine neue gestartet.

Meine Frage:

Welcher Befehl verbirgt sich hinter diesem "Logout"-Button?

Anders gefragt:

Was für einen Befehl muss ich an der shell eingeben, damit das selbe passiert, was passiert wenn man diesen "Logout"-Knopf anklickt?

2

02.11.2020, 15:08

Auf https://github.com/lxde/lxsession/blob/m…ession-logout.c
finde ich dazu dies:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* Handler for "clicked" signal on Logout button. */
static void logout_clicked(GtkButton * button, HandlerContext * handler_context)
{
    if (handler_context->lxsession_pid != 0)
    {
        kill(handler_context->lxsession_pid, SIGTERM);
    }
    else
    {
        /* Assume we are under openbox */
        g_spawn_command_line_async("openbox --exit", NULL);
    }
    gtk_main_quit();
}
und ohne nun auch nur die geringste Ahnung von Programmieren zu haben, beschreibt das doch die Aktion innerhalb lxsession-logout und zwar an der Stelle, wenn der Logout-Knopf gedrückt wird.
Ich lese das so: wenn es eine lxsession_pid gibt (ungleich 0), dann kill diese, andernfalls versuch ein openbox --exit.

Bei mir gibt es beides. Allerdings finde ich keine system-Variable lxsession_pid.
Ich kann mir aber

Quellcode

1
pidof lxsession
ansehen und erhalte dann die passende pid und danach ein

Quellcode

1
kill 1234
, wobei 1234 die angenommene pid sei.
Wenn ich eine lxsession habe, genügt es auch nicht, nur openbox --exit aufzurufen, denn das macht ja eben nur das exit von openbox, lässt aber lxsession weiter laufen.

In der Regel wird man davon ausgehen können, dass dann, wenn man lxde benutzt, auch die lxsession läuft und eine pid bekommen hat, die dann einfach gekillt werden kann (also den SIGTERM geschickt bekommt).

Ob das so gescheit ist, weiß ich indessen grad nicht, denn, ich bin wie gesagt kein Programmierer und es könnte sein, dass durch den Aufruf des lxsession-logout noch andere Dinge abgearbeitet werden, bevor man dann den Logout-Button drücken kann. Du magst dir vielleicht den oben verlinkten Quelltext genauer ansehen und daraus eigene Erkenntnisse ableiten.
Die Version des Quelltextexts habe ich nicht mit irgendeiner Version von Knoppix abgeglichen, sondern eher willkürlich mal irgendwas genommen.

3

02.11.2020, 18:51

Was für einen Befehl muss ich an der shell eingeben, damit das selbe passiert, was passiert wenn man diesen "Logout"-Knopf anklickt?


das ging mir nochmal durch den Kopf und aus dem oben Gefundenen würde ich meinen, dass vielleicht folgende Zeile am ehesten das macht, was ansonsten durch den Knopfdruck passiert:

Quellcode

1
 lxsession-logout & sleep 1 && kill $(pidof lxsession)

der Passus

Quellcode

1
sleep -1 && 
dient nur dazu, auch genügend Zeit zu lassen, dass sich das bekannte Abmeldefenster kurz aufbaut. Damit kann man dann auch relativ sicher sein, dass alle üblichen Maßnahmen abgearbeitet sind, die mit Aufruf von lxsession-logout normalerweise eben so abgearbeitet werden (falls da überhaupt welche existieren). Es braucht aber keinerlei Interaktion, weil mittels des nachgestellten & der Aufruf "von der Konsole gelöst wurde" und die weiteren Eingaben unabhängig bearbeitet werden.
Ich habe das mehrfach in einer Live-Sitzung mit KN 861 probiert und es funktioniert, allerdings funktioniert auch ein

Quellcode

1
kill $(pidof lxsession)
ganz alleine genauso gut (soweit ich das sehen kann, siehe die Bemerkungen weiter oben im letzten Thread).

Knoppix startet X ein wenig anders als (wohl) alle anderen Systeme und durchläuft nach ausloggen aus einer aktuellen Sitzung einen automatisierten Neu-Login (in die gleiche Sitzung).
Es wäre interessant, ob man hier dann auch das DE wechseln könnte, also ausloggen aus LXDE und dann neu in KDE kommen? Diese Auswahl obliegt normalerweise dem benutzten DisplayManager (XDM, LIGHTDM...) und Knoppix benutzt eben gar keinen DM. Der normale Weg des Umschaltens zu einem anderen DE läuft über Cheatcodes, also über einen vollkommenen Neustart. Das muss natürlich nicht sein und ich denke, dass ist durchaus eine interessante Frage, habe aber nun keine Lust, mich damit weiter zu befassen.
Der Auto-Restart des Live-KN-Systems kann schon mal ins Stolpern kommen und eine Nachtdenkpause beanspruchen.
Wenn es gar nicht mehr weiter gehen will, hilft womöglich ein manueller Start von

Quellcode

1
init 5
.

Beiträge: 859

Geschlecht: Männlich

4

03.11.2020, 03:03

Hallo.
Ich kann das am schnellsten am USB probieren und kürzer Beschreiben.
Der Befehl: lxsession-logout öffnet das Menü „Abmelden“
Das „Logout“ schließt die aktuelle Sitzung und öffnet eine neue ohne das der Rechner neu gestartet werden muß. Das Gleiche habe ich auch am Rechner probiert.
Gruß ubuntuli
von Pentium II bis HP Laptop gibt es keinen Rechner der mir sagt was ich machen soll :thumbsup:
ich bin Ubuntu im Sinne von Desmond Tutu
Linux Knoppix Flash auf USB Stick

Ähnliche Themen

Linux HardwareLinux Computer & PCs | Linux Notebooks & Laptops | Geek Shirts | Geek und Nerd Shirt Shop