Befehl zum direkten Abmelden von LXDE


9

Um mich von LXDE abzumelden, kann ich auf das Menü "Start" klicken, auf "Abmelden" klicken und wenn das Menü erscheint, erneut auf "Abmelden" klicken.

Oder ich kann lxde-logoutmein Terminal eingeben und wenn das Menü geöffnet wird, auf "Abmelden" klicken.

Beide Optionen sind zu umständlich. Ich benötige einen Befehl, der mich sofort abmeldet, ohne Menü oder ohne andere Optionen.

Ist das möglich ?

Ich benutze LXDE auf Debian Wheezy


In Gnome können Sie sich dbusabmelden : dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1 2>&1 && return. Ich habe LXDE noch nie verwendet, aber gemäß diesen Seiten ( 1 , 2 ) sollten ähnliche Objekte / Methoden verfügbar sein. Sie könnten also etwas ausprobieren wie : dbus-send --session --type=method_call --print-reply --reply-timeout=2000 --dest=org.lxde.SessionManager /org/lxde/SessionManager org.lxde.SessionManager.Logout uint32:1 2>&1 && return.
don_crissti

Wenn alles andere fehlschlägt, versuchen Sie es pkill lxsession.
don_crissti

Antworten:


3

Ich denke, Sie können diesen Befehl einfach ausführen, um sich abzumelden.

$ pkill -SIGTERM -f lxsession

Auch wenn Sie durch die LXDE GitHub-Seite stöbern, befindet sich am Ende dieser URL ein Abschnitt: https://github.com/lxde/lxsession .

Auszug

==== Abmelden ===

Führen Sie einfach diesen Befehl aus:

  lxsession-logout

Dadurch erhalten Sie einen gut aussehenden Abmeldedialog. Wenn gdm installiert ist, kann lxsession über gdm herunterfahren / neu starten / anhalten. (Diese Optionen sind nicht verfügbar, wenn gdm nicht ausgeführt wird.)

Wenn Sie dieses Abmeldefeld weiter anpassen möchten, versuchen Sie Folgendes:

  lxsession-logout --prompt "Your custom message" --banner "Your logo" \
    --side "left | top | right | bottom (The position of the logo)"

/usr/bin/lxde-logoutDazu erstellen wir ein Skript :

  #!/bin/sh 

  /usr/bin/lxsession-logout --banner \
      "/usr/share/lxde/images/logout-banner.png" --side top

Sie können dieses Abmeldeskript in das Menü Ihres Fenstermanagers oder Desktop-Panels einfügen. Anschließend können Sie sich abmelden, indem Sie im Menü auf klicken.

Verweise


1

Führen Sie den Befehl wie oben angegeben einfach aus

pkill -9 -f lxsession

Beachten Sie, dass Sie beim Untersuchen der Quelle von lxsession-logoutfeststellen, dass es keine Befehlszeilenargumente gibt, die Sie übergeben können, um das Menü zu umgehen. lxde-logutist einfach ein Skript, das ausgeführt wird lxsession-logout. Da Sie anscheinend eine sehr schnelle Möglichkeit zum Abmelden haben möchten, pkillerfordert der oben aufgeführte Befehl möglicherweise zu viel Eingabe. Glücklicherweise gibt es zwei Möglichkeiten, um dies zu beschleunigen und Tastenanschläge / Tastenklicks zu minimieren.

1) Erstellen Sie einen Alias ​​für den Befehl.

alias quitnow="pkill -9 -f lxsession"

Ersetzen Sie das gewünschte Wort durch ein beliebiges unbenutztes Wort quitnow. Seien Sie jedoch vorsichtig, Sie möchten keinen Tippfehler, der Sie sofort von Ihrer Sitzung abmeldet.

2) Bearbeiten Sie die /usr/bin/lxde-logoutDatei. Wie oben angegeben, wird derzeit nur lxsession-logout ausgeführt. Es wird auch ausgeführt, wenn Sie in Ihrem Menü auf die Schaltfläche zum Abmelden klicken. So können Sie es ändern, um zu lesen

#!/bin/sh
pkill -9 -f lxsession

Obwohl ich die lxsession-logoutZeile als Kommentar hinterlassen würde, falls Sie ihr ursprüngliches Verhalten wiederherstellen möchten. Beachten Sie, dass dies dazu führen kann, dass Sie sich bei versehentlichen Mausklicks abmelden können.

3) Erstellen Sie ein separates Skript und fügen Sie es dem Menü hinzu.

4) Erstellen Sie eine Schlüsselbindung, indem Sie Ihrer ~/.config/openbox/lxde-rc.xmlDatei Folgendes hinzufügen . Ich würde dies direkt vor dem </keyboard>Tag setzen.

<keybind key="C-q">
  <action name="Execute">
    <command>pkill -9 -f lxsession</command>
  </action>
</keybind>

Beachten Sie, dass dies ein Duplikat der Datei ist /etc/xdg/openbox/rc.xml.

Option 4 ist wahrscheinlich die beste, da sie die ursprüngliche Funktionalität beibehält und Ihnen die schnelle Abreise ermöglicht. Wählen Sie Ihre Schlüssel einfach mit Bedacht aus. :) :)


1
Absolut schlechte Idee, Prozesse abzubrechen. Sie stellen den Motor Ihres Autos nicht ab, bevor Sie angehalten und geparkt haben, oder?
ManuelSchneid3r

0

Lauf einfach lxsession. Es wird sich abmelden und sollte den Anmeldebildschirm für eine neue Sitzung anzeigen.


0

Einige der bisherigen Antworten sind umständlicher als die von OP genannten Methoden, die er für zu umständlich hält. andere tun nicht ganz das, was OP verlangt, was eine vollständige Abschaltung ist. (Ich kann mich irren, aber wenn die Openbox-Sitzung einfach beendet wird, wird der Benutzer dann nicht einfach auf die DM fallen gelassen? Klingt nicht so, wie es das OP will.)

Wheezy benutzt immer noch sysv-init, oder? Der Kommentar unter dem ersten Beitrag kommt dem nahe, wonach Sie suchen. Testen Sie den Befehl zuerst in einem Terminal. Wenn Sie sicher sind, dass es wie gewünscht funktioniert, fügen Sie eine Schlüsselbindung in Ihre ~ / .config / openbox / lxde-rc.xml ein. (Stellen Sie sicher, dass es sich um eine Tastenkombination handelt, die Sie nicht versehentlich eingeben, da dadurch Ihr Computer sofort heruntergefahren wird.) Die Antwort von R Schultz zeigt, wie eine solche Tastenkombination erstellt wird. Ersetzen Sie einfach die pkill-Leitung durch die dbus-send-Leitung.

Wenn Sie von sysv-init zu systemd migriert sind, können Sie systemctl poweroffanstelle der dbus-send-Leitung verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.