Wie kann ich mit einer Tastenkombination anhalten?

11

Ich möchte mein xubuntu (14.04) -System über eine Tastenkombination aussetzen, ohne mein Superuser-Passwort ( sudo ) einzugeben . Ich suche eine Befehlszeile, die ich in eine Verknüpfung konvertieren kann.

Bisher habe ich zwei Lösungen ausprobiert:

Xfce-Befehl:

xfce4-session-logout --suspend

Problem: Das System sperrt die Sitzung nicht. Ich muss mein Passwort für das Aufwecken nicht eingeben und möchte es tun.

Dbus :

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Problem: Nach dem Aufwecken ist die Internetverbindung unterbrochen und ich muss das System neu starten, um es wieder herzustellen.

Gibt es eine dritte Lösung, die 1. während des Weckvorgangs nach dem Passwort fragt und 2. die Internetverbindung nicht durcheinander bringt?

Tatsächlich funktioniert die grafische Standardverknüpfung (aus dem Menü) einwandfrei. Ich weiß nur nicht, welche Kommandozeile aufgerufen wird.

ppr
quelle

Antworten:

8

Ich habe ein Drehbuch geschrieben. Es scheint zu tun, wonach Sie fragen:

#!/usr/bin/env zsh
# Custom suspend
#
# (That 'zsh' up there can be switched to 'bash', or 
# pretty much any shell - this doesn't do anything too fancy.)
#
# Dependencies are mostly xfce stuff:
#
#   xbacklight
#   xflock4
#   xfce4-session-logout

# Set how dim we want the screen to go (percentage, out of 100)
dim=5

# Pack up your toys
previous_dimness=$(xbacklight -get)

# Turn down the lights
xbacklight -set $dim

# Lock the door (this requires a password to get back in)
xflock4

# And go to sleep
xfce4-session-logout --suspend

# When we wake up, turn the lights back on
xbacklight -set $previous_dimness
Jon Carter
quelle
1
+1 für die wunderbaren Kommentare. Ich denke, ich werde dieses Skript verwenden, wenn ich Ubuntu installiere.
Wildcard
Es tut mir leid, aber wo soll ich dieses Skript platzieren? Wie soll ich es mit einer Tastenkombination verbinden (zum Beispiel Strg + Alt + S)? Ich benutze Lubuntu
Hipoglucido
Sie können das Skript technisch überall platzieren. Ich habe ein bin / -Verzeichnis unter meinem Home-Verzeichnis, nur für solche persönlichen Skripte, die ich verwenden möchte. In diesem Fall lautet der Pfad zum Skript: / home / <Benutzername> / bin / custom-suspend Sie möchten sicherstellen, dass das Skript ausführbar ist. Eine Möglichkeit, dies zu tun, besteht darin, den folgenden Befehl auszuführen: $ chmod + x / home / <Benutzername> / bin / custom-suspend Um eine Verknüpfung unter LXDE (die Lubuntu verwendet) zu geben, sollten Sie in der Lage sein, nach etwas wie zu suchen 'Tastatur' aus dem Startmenü, das Ihnen die Tastaturkonfigurations-App anzeigen soll.
Jon Carter
4

Sie können den Befehl ganz einfach senden, damit der Bildschirm zuerst gesperrt und dann angehalten wird:

xscreensaver-command -lock ; xfce4-session-logout --suspend

xscreensaver-commandFühren Sie zur Verwendung von ausxscreensaver-command --help

Wilf
quelle
Dies funktioniert über die Befehlszeile (obwohl der Sperrbildschirm nicht erforderlich ist, da dies bei Suspend automatisch erfolgt), jedoch nicht als Tastenkombination für Tastaturanwendungen (zumindest unter Ubuntu 12.04). Die Xfce-App zum Sperren des Bildschirms ist übrigens xflock4 (keine Argumente), die standardmäßig an control-alt-delete gebunden ist.
BobDoolittle
xscreensaver-commandscheint in 15.10 weg zu sein.
Jesse Glick
@ JesseGlick - installieren Sie einfach das xscreensaverPaket
Wilf
2

Seltsamerweise xfce4-session-logout --suspendfunktioniert es einwandfrei und mein System ist xubuntu 14.04. Es sperrt auch die Sitzung, obwohl ich die Option "Bildschirm vor dem Ruhezustand sperren" aktiviert habe, gehe zu Einstellungen-> Sitzung und Start-> Erweitert und überprüfe, ob sie dort eingeschaltet ist.

Ufos
quelle
Dies funktioniert über die Befehlszeile (obwohl der Sperrbildschirm nicht erforderlich ist, da dies bei Suspend automatisch erfolgt), jedoch nicht als Tastenkombination für Tastaturanwendungen (zumindest unter Ubuntu 12.04).
BobDoolittle
Nun, es soll in x Ubuntu funktionieren , nicht in Ubuntu. Ich bin mir nicht sicher, warum Sie überhaupt den xfce4-session-logoutBefehl haben.
Ufos
Wir sprechen von Xfce, das zu jeder Ubuntu-Distribution hinzugefügt werden kann. Xubuntu ist einfach eine praktische Distribution, die zufällig Xfce-Pakete hinzugefügt und als Desktop konfiguriert hat. Sie können mit Ubuntu beginnen und es selbst hinzufügen / konfigurieren. Die Unterscheidung zwischen Xubuntu und Ubuntu ist hier ein roter Hering.
BobDoolittle
Funktioniert gut für mich mit Bildschirmsperre in Xubuntu 15.10.
Jesse Glick
0

Dieser Befehl funktioniert für mich: Ich erstelle einfach einen Launcher für den Desktop und setze das Shutdown-Symbol dafür. Setzen Sie diesen Befehl in den Befehl file:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Zum ersten Mal bitte mich, Executable zu machen und danach sehr gut zu funktionieren.

Ich benutze WICD für die Internetverbindung und es funktioniert auch gut nach dem Aufwachen!

Vahid
quelle
Xubuntu 15.10:Error org.freedesktop.DBus.Error.UnknownMethod: Method "Suspend" with signature "" on interface "org.freedesktop.UPower" doesn't exist
Jesse Glick
0

Wenn Sie auf einem Laptop sitzen und nur eine Taste drücken möchten. Sie können den Netzschalter verwenden. Das Verhalten kann über die Energieeinstellungen eingestellt werden:

  1. Öffnen Sie den Einstellungsmanager (oder per Befehl: xfce4-settings-manager)
  2. Öffnen Sie die Power Manager-Einstellungen
  3. Im Allgemeinen: Einstellen, wenn der Netzschalter auf Fragen gedrückt wird
  4. Schließen Sie die Power Manager-Einstellungen

Wenn Sie ACPI-Skripte installiert haben, deaktivieren oder aktualisieren Sie das Power-Button-Skript von

/etc/acpi/events/, and change the action field to /bin/true:
# EXAMPLE
event=button/power.*
#action=/usr/lib/acpid/power_button
action=/bin/true

Ref: https://wiki.xfce.org/tips#solution_2

Mads Hansen
quelle