Come sospendere con una scorciatoia da tastiera?


11

Vorrei sospendere il mio sistema xubuntu (14.04) da una scorciatoia da tastiera senza inserire la password del mio superutente ( sudo ). Sto cercando una riga di comando che posso convertire in un collegamento.

Finora ho provato due soluzioni:

Comando Xfce:

xfce4-session-logout --suspend

Problema: il sistema non blocca la sessione. Non ho bisogno di inserire la mia password per il risveglio e voglio farlo.

Dbus :

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

Problema: dopo il risveglio, la connessione Internet è inattiva e devo riavviare il sistema per ripristinarla.

Esiste una terza soluzione che 1. richiede la password durante il processo di riattivazione e 2. non sbaglia la connessione a Internet?

In effetti, il collegamento grafico predefinito (dal menu) funziona bene. Semplicemente non so quale riga di comando viene chiamata.

Risposte:


8

Ho scritto una sceneggiatura. Sembra fare quello che chiedi:

#!/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

1
+1 per i meravigliosi commenti. Penso che userò questo script quando installo Ubuntu.
Wildcard il

Mi dispiace ma dove devo collocare questo script? come devo collegarlo con una scorciatoia da tastiera (ad esempio ctrl + alt + s)? Sto usando Lubuntu
hipoglucido il

Puoi tecnicamente mettere lo script ovunque. Ho un bin / directory nella mia home directory solo per script personali come questo che voglio usare. In questo caso, il percorso dello script è: / home / <nomeutente> / bin / custom-suspend Dovrai assicurarti che lo script sia eseguibile. Un modo per farlo è quello di eseguire il seguente comando: $ chmod + x / home / <nomeutente> / bin / custom-suspend Per dare una scorciatoia sotto LXDE (che Lubuntu) usa, dovresti essere in grado di cercare qualcosa come 'tastiera' dal menu Start, che dovrebbe mostrare l'app di configurazione della tastiera.
Jon Carter,

4

Puoi semplicemente inviare il comando per bloccare prima lo schermo, quindi sospenderlo:

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

Per l'utilizzo di xscreensaver-command, eseguirexscreensaver-command --help


Funziona dalla riga di comando (anche se la schermata di blocco non è necessaria poiché è automatica con suspend), ma non come scorciatoia da tastiera (almeno con Ubuntu 12.04). A proposito, l'app Xfce per bloccare lo schermo è xflock4 (no args), che per impostazione predefinita è legata a control-alt-delete.
BobDoolittle,

xscreensaver-commandsembra scomparso nel 15.10.
Jesse Glick,

@JesseGlick - basta installare il xscreensaverpacchetto
Wilf

2

Stranamente xfce4-session-logout --suspendfunziona bene e il mio sistema è xubuntu 14.04. Inoltre blocca la sessione, anche se ho attivato l'opzione "Blocca schermo prima di andare a dormire", vai in Impostazioni-> Sessione e Avvio-> Avanzate e controlla se è stato attivato lì.


Funziona dalla riga di comando (anche se la schermata di blocco non è necessaria poiché è automatica con suspend), ma non come scorciatoia da tastiera (almeno con Ubuntu 12.04).
BobDoolittle,

beh, dovrebbe funzionare in x Ubuntu, non in Ubuntu. Non sono sicuro del motivo per cui hai anche il xfce4-session-logoutcomando.
Ufo

Stiamo parlando di Xfce, che può essere aggiunto a qualsiasi distribuzione di Ubuntu. Xubuntu è semplicemente una distro di convenienza che sembra aver aggiunto i pacchetti Xfce e li ha configurati come desktop. Puoi iniziare con Ubuntu e aggiungerlo / configurarlo tu stesso. La distinzione xubuntu / ubuntu è un'aringa rossa qui.
BobDoolittle,

Funziona bene per me, con il blocco dello schermo, in Xubuntu 15.10.
Jesse Glick,

0

Questo comando funziona per me: faccio solo un launcher per desktop e imposto l'icona di spegnimento per quello. metti questo comando nel comando archiviato:

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

per la prima volta chiedimi di renderlo eseguibile e dopo di che funzionerà molto bene.

Sto usando wicd per la connessione a Internet e funziona anche dopo il risveglio!


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

0

Se sei su un laptop e vuoi solo premere un tasto. È possibile utilizzare il pulsante di accensione. Il comportamento può essere impostato dalle impostazioni di Potenza:

  1. Apri Gestione impostazioni (o tramite comando: xfce4-settings-manager)
  2. Apri le impostazioni di Power Manager
  3. In generale: impostare Quando il pulsante di accensione viene premuto su Chiedi
  4. Chiudi le impostazioni di Power Manager

Se sono installati script ACPI, disattivare o aggiornare lo script del pulsante di accensione da

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.