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.