it-swarm.it

Come posso sospendere / ibernare dalla riga di comando?

Come posso sospendere o ibernare il mio laptop usando la riga di comando, senza installare software aggiuntivo?

354
user1034

Tradizionalmente Ubuntu supportava un metodo piuttosto schietto di sospensione e ibernazione. Né si integrerebbe bene con altre app e talvolta non funzionerebbe nemmeno su alcune macchine. Il nuovo metodo non richiede il root e notifica a tutte le applicazioni che ascoltano eventi di potenza.

Metodo Systemd

A partire da Ubuntu 16.04, è necessario utilizzare la chiamata systemctl (vedere comando di sospensione in Ubuntu 16.04 )

systemctl suspend

e

systemctl hibernate

Nuovo metodo

Vedi la risposta qui in questa pagina da Adam Paetznick sull'uso di dbus . Idealmente, dovresti creare un collegamento/script ~/bin/suspend che semplifichi l'utilizzo di questa azione.

Per l'uso su ssh, dovresti modificare le regole del policykit come indicato da Peter V. Mørch

Vecchio metodo

Secondo buntu Forum puoi usare i seguenti comandi:

pmi action suspend

e

pmi action hibernate

Ciò richiede l'installazione del pacchetto dell'interfaccia powermanagement (non testato).

Sudo apt-get install powermanagement-interface

Ho anche trovato i comandi Sudo pm-suspend e Sudo pm-hibernate per funzionare sul mio netbook.

306
txwikinger

Il modo gnome-friendly è usare dbus.

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

Ci sono due vantaggi con questo comando rispetto a pm-suspend.

  1. Bloccherà lo schermo (al riavvio) se hai quell'opzione selezionata in gnome.

  2. Non richiede il privilegio di root, quindi è facile aggiungerlo come scorciatoia da tastiera, ad esempio.

Come menzionato nei commenti, lo scambio di Suspend nell'ultima riga in Hibernate crea un comando di ibernazione:

dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Hibernate

Se l'ibernazione genera Error org.freedesktop.UPower.GeneralError: not authorized il tuo utente potrebbe non essere autorizzato a ibernare. Modifica o crea /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla in modo che contenga la seguente sezione: (fonte)

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Questo è stato testato su buntuGnome 14.04 .

Nota: questo è fondamentalmente lo stesso della risposta di qbi, ma aggiornato per funzionare con le versioni più recenti di Ubuntu e anche con l'ibernazione.

187
Adam Paetznick

Inglese

Se vuoi che il tuo computer sospenda tra un'ora perché vuoi andare a letto ascoltando la tua stazione radio preferita, apri il terminale e digita:

Sudo bash -c "sleep 1h; pm-suspend"

e il tuo computer si addormenterà tra 1 ora. Quando ti svegli, avrai tenuto le tue immagini aperte e tutte le tue cose.

Puoi sostituire 1h con ciò che desideri: h per ore, m per minuti, s per secondi, d per giorni.

Buona notte!

Français

Se hai appena ricevuto il tuo ordinario se lo fai in un momento in cui hai visto il tuo endormir in un'altra radio preferita, o Terminale e nastro:

Sudo bash -c "sleep 1h; pm-suspend"

et votre ordinateur s'endormira dans une heure. Quand vous vous réveillerez, l'aura conservé in mémoire vosuvertes applicazioni.

Vous pouvez remplacer 1h par ce que vous voulez: h pour les heures, m pour les minutes, s pour les secondes, d pour les jours.

Buona notte!

Español

Qui è possibile sospendere il computer in una hora porque quieres in un dormitorio escuchando tu di radio favorita, abbronzarsi solo sul terminale e scrivere:

Sudo bash -c "sleep 1h; pm-suspend"

y tu computadora se quedará dormida en 1 hora. Cuando despiertes, allí habrán quedado abiertas tus imágenes y todas tus cosas.

Puedes reemplazar 1h por lo que desees: h para horas, m para minutos, s para segundos, d para días.

Buona notte!

57
greg

Per buntu 12.04 LTS e buntu 13.04

Per ottenere l'ibernazione:

Sudo pm-hibernate

Per ottenere la sospensione:

Sudo pm-suspend
31
rɑːdʒɑ

È possibile utilizzare il file /sys/power/state per farlo. Innanzitutto scopri quali stati sono supportati:

[email protected]:_> cat /sys/power/state
standby mem disk

[email protected]:~> echo -n mem > /sys/power/state  # suspend to ram
[email protected]:~> echo -n disk > /sys/power/state  # suspend to disk

o via dbus:

# Sospendi dbus-send --session --dest = org.gnome.PowerManager\--type = method_call --print-reply --reply-timeout = 2000 \/org/gnome/PowerManager org.gnome.PowerManager.Suspend # Sospensione dbus-send --session --dest = org.gnome.PowerManager\--type = method_call --print-reply --reply-timeout = 2000 \/org/gnome/PowerManager org.gnome.PowerManager.Hibernate

In base a questo voce nel launchpad l'interfaccia sopra è stata rimossa. Quindi non funzionerebbe più in Ubuntu.

22
qbi

Per spegnere un sistema (14.04) dalla riga di comando (o scorciatoia da tastiera) usare:

dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true

L'ho scoperto giocando con gdbus che può elencare le interfacce disponibili:

Per elencare i servizi disponibili sul bus:

dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames

Per trovare i metodi:

gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
12
simonltwick

poiché 15.04 systemD è il sistema init standard, quindi c'è un nuovo comando da usare:

systemctl suspend
12
k1l

La risposta dbus-send di Adam Paetznick non ha funzionato come preteso per me su lucido; la macchina si svegliò sbloccata, anche se lo gnome-power-manager è impostato per bloccare lo schermo al risveglio. Voglio che lo schermo sia bloccato al risveglio e ho scoperto che ciò che segue fa:

$ gnome-screensaver-command --lock && pmi action hibernate

Immagino che questo non dipenda dalla configurazione di gnome, ma non l'ho provato.

8

Nuova interfaccia

... che funziona nel 15.10 Wily, e forse Utopic e Vivid.

dbus-send --print-reply --system                         \
    --dest=org.freedesktop.login1                        \
    /org/freedesktop/login1                              \
    org.freedesktop.login1.Manager.Suspend boolean:true

Utilmente questo non richiede Sudo, a differenza del comando pm-suspend.

3
Gringo Suave

Ecco come mettere una macchina remota in standby su ssh:

 ssh -t 192.168.1.4 'Sudo Nohup &>/dev/null bash -c "(sleep 1; echo -n mem>/sys/power/state) &"' 
 x @ Password di 192.168.1.4: 
 [Sudo] password per x: 
 Connessione a 192.168.1.4 chiusa. 

/ sys/power/state funziona in Ubuntu 13.10. pmi dà errore Dbus.

1
user229115

Aggiornamento per coloro che, come me, lavorano ancora su sistemi KDE/Ubuntu 14.04. Per bloccare utilizzare qdbus e per sospendere utilizzare dbus. Comando completo:

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Per ibernare, ovvero sospendere sul disco rigido anziché su RAM, sostituire "Sospendi" alla fine del comando con "Sospensione".

Per bloccare semplicemente lo schermo senza sospenderlo, xscreensaver-command -lock funzionerà, SE si digita solo 1 trattino per l'opzione '-lock' e solo se lo screensaver è in esecuzione. In realtà non è un comando molto utile. L'uso di i3lock è più semplice, ma non si otterrà una finestra di accesso pulita per tornare al lavoro, come si farebbe quando si usa qdbus.

0
LinuxRev

Quanto segue funziona per me su 16.04 (con desktop Gnome):

gnome-screensaver-command --lock && compsleep

L'ho anche installato come scorciatoia da tastiera personalizzata tramite il pannello delle impostazioni di Gnome come tasti "Shift-Super-X".

0
christopherbalz

Personalmente, ho sperimentato il metodo pmi. Tuttavia, quando ho provato questo, ho ricevuto un messaggio di errore: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1. Tuttavia, esiste una soluzione alternativa nel ° commento di questo bug report , che sembra aver funzionato per me (sto usando Ubuntu 13.03).

0
TSJNachos117