it-swarm.dev

Jak mohu pozastavit / hibernaci z příkazového řádku?

Jak lze pozastavit nebo hibernaci notebooku pomocí příkazového řádku, aniž bych musel instalovat další software?

381
user1034

Tradičně ubuntu podporoval poměrně tupou metodu pozastavení a hibernace. Ani by se dobře integrovat s jinými aplikacemi a někdy ani pracovat na některých počítačích. Nová metoda nevyžaduje root a upozorňuje všechny aplikace, aby poslouchaly události napájení.

Metoda Systemd

Počínaje Ubuntu 16.04 musí být použito volání systemctl (Viz Pozastavení příkazu v Ubuntu 16.04 )

systemctl suspend

a

systemctl hibernate

Nová metoda

Viz odpověď zde na této stránce od Adama Paetznicka ohledně použití dbus . V ideálním případě byste vytvořili ~/bin/suspend zástupce/skript, který usnadňuje použití této akce.

Pro použití přes ssh byste měli pravit pravidla policykit, jak je uvedeno v Peter V. Mørch

Stará metoda

Podle buntu Forum můžete použít následující příkazy:

pmi action suspend

a

pmi action hibernate

To vyžaduje instalaci balíčku powermanagement-interface (netestováno).

Sudo apt-get install powermanagement-interface

Také jsem našel příkazy Sudo pm-suspend a Sudo pm-hibernate pracovat na mém netbooku.

345
txwikinger

Gnome-friendly způsob je použití dbus.

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

Existují dvě výhody tohoto příkazu oproti pm-suspend.

  1. Pokud je tato možnost vybrána v gnome, uzamkne obrazovku (po obnovení).

  2. Nevyžaduje oprávnění root, takže je snadné jej přidat například jako klávesovou zkratku.

Jak je uvedeno v komentářích při výměně Suspend v posledním řádku za Hibernate vytvoří příkaz hibernace:

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

Pokud hibernace vyvolá Error org.freedesktop.UPower.GeneralError: not authorized váš uživatel nemusí mít možnost hibernace. Upravit nebo vytvořit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla takže obsahuje následující sekci: (zdroj)

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

Toto bylo testováno na buntuGnome 14.04 .

Poznámka: Toto je v podstatě stejné jako odpověď qbi, ale je aktualizována tak, aby fungovala pro novější verze Ubuntu a zahrnovala také hibernace.

189
Adam Paetznick

anglicky

Pokud chcete, aby se váš počítač pozastavil do jedné hodiny, protože chcete jít spát a poslouchat oblíbenou rozhlasovou stanici, otevřete terminál a napište:

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

a váš počítač usne za 1 hodinu. Když se vzbudíte, bude to mít vaše otevřené obrázky a všechny vaše věci.

Můžete nahradit 1h podle toho, co chcete: h hodin, m minut, s sekund, d dnů.

Dobrou noc!

Français

Pokud se rozhodnete pro hlasování, musíte se pokusit o to, aby se vám podařilo zachránit parce, aby jste mohli být spokojeni s ekologickým hlasováním.

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

et votre ordinateur s'endormira dans une heure. Přizpůsobte se všem aplikacím, a to v mémoire vos aplikacích ouvertes.

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

Bonne nuit!

Español

Si quieres suspendender a computadora en una hora porque quieres ir a dormir escuchando tu estaci de radio favorit, tan solo abre el terminal y escribe:

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.

¡Buenas noches!

64
greg

Pro buntu 12.04 LTS a buntu 13.04

Chcete-li získat režim spánku:

Sudo pm-hibernate

Postup pozastavení:

Sudo pm-suspend
32
rɑːdʒɑ

Můžete použít soubor /sys/power/state udělat toto. Nejprve zjistěte, jaké stavy jsou podporovány:

[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

nebo přes dbus:

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

Podle tohoto položka v launchpad výše uvedené rozhraní bylo odstraněno. V Ubuntu by to už nefungovalo.

21
qbi

Pro vypnutí systému (14.04) z příkazového řádku (nebo klávesové zkratky) použijte:

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

Našel jsem to tím, že jsem si hrál s gdbusem, který dokáže vypsat dostupná rozhraní:

Seznam služeb dostupných v autobuse:

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

Chcete-li najít metody:

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

protože 15.04 systemD je standardní init systém, takže je třeba použít nový příkaz:

systemctl suspend
12
k1l

Adam-Paetznickova odpověď na zasílání dbus nefungovala tak, jak se mi zdálo, na přehledném; stroj se probudil odemčený, přestože správce gnome-power je nastaven na uzamčení obrazovky při probuzení. Chci, aby byla obrazovka při probuzení uzamčena a zjistil jsem, že následující postup:

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

Představuji si, že to nezávisí na konfiguraci gnome, ale netestoval jsem to.

8

Nové rozhraní

… Který pracuje v 15.10 Wily, možná Utopic a Vivid.

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

Naštěstí to nevyžaduje Sudo, na rozdíl od pm-suspend příkaz.

3
Gringo Suave

Zde je návod, jak vzdálený počítač přepnout do pohotovostního režimu přes ssh:

 ssh -t 192.168.1.4 'Sudo Nohup &>/dev/null bash -c "(spánek 1; echo -n mem>/sys/power/state) &" "
 x @ Heslo 192.168.1.4: heslo 
 [Sudo] pro x: 
 Připojení k 192.168.1.4 bylo ukončeno. 

/ sys/power/state funguje v Ubuntu 13.10. pmi dává Dbus chybu.

1
user229115

Aktualizace pro ty, kteří stejně jako já stále pracují na systémech KDE/Ubuntu 14.04. Pro uzamčení použijte qdbus a pro pozastavení použijte dbus. Úplný příkaz:

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

Chcete-li hibernaci, tj. Pozastavit pevný disk namísto RAM, nahraďte „Suspend“ na konci příkazu za „Hibernate“.

Chcete-li obrazovku pouze zamknout bez pozastavení, xscreensaver-command -lock bude fungovat, pokud pro možnost '-lock' zadáte pouze 1 spojovník a pouze pokud je spuštěn spořič obrazovky. Vlastně to není moc užitečný příkaz. Použitím i3lock je snazší, ale pak nedostanete úhledný přihlašovací dialog, abyste se vrátili do práce, jako při použití qdbus.

0
LinuxRev

Následující práce pro mě na 16.04 (s Gnome desktop):

gnome-screensaver-command --lock && compsleep

Nainstaloval jsem ji také jako vlastní klávesovou zkratku přes panel nastavení Gnome jako klávesy „Shift-Super-X“.

0
christopherbalz

Osobně jsem experimentoval s metodou pmi. Když jsem to však zkusil, zobrazí se chybová zpráva: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1. Existuje však řešení v . komentář of tato zpráva o chybě , které se mi zdá, že pro mě fungovalo (používám Ubuntu 13.03).

0
TSJNachos117