Jak mogę zawiesić lub hibernować laptopa za pomocą wiersza poleceń, bez instalowania dodatkowego oprogramowania?
Jak mogę zawiesić lub hibernować laptopa za pomocą wiersza poleceń, bez instalowania dodatkowego oprogramowania?
Odpowiedzi:
Tradycyjnie ubuntu wspierało dość tępą metodę zawieszenia i hibernacji. Żaden z nich nie integrowałby się dobrze z innymi aplikacjami i czasami nawet nie działał na niektórych komputerach. Nowa metoda nie wymaga rootowania i powiadamia wszystkie aplikacje nasłuchujące zdarzeń zasilania.
Począwszy od Ubuntu 16.04, systemctl
należy użyć wywołania (patrz Polecenie zawieszenia w Ubuntu 16.04 )
systemctl suspend
i
systemctl hibernate
Zobacz odpowiedź tutaj na tej stronie Adama Paetznicka dotyczącą korzystania z dbus . Idealnie byłoby stworzyć ~/bin/suspend
skrót / skrypt, który ułatwi korzystanie z tej akcji.
Aby korzystać z ssh, powinieneś zmodyfikować reguły zestawu zasad zgodnie z opisem Petera V. Mørcha
Zgodnie z forum Ubuntu możesz użyć następujących poleceń:
pmi action suspend
i
pmi action hibernate
Wymaga to zainstalowania pakietu powermanagement-interface (nie przetestowano).
sudo apt-get install powermanagement-interface
Znalazłem też polecenia sudo pm-suspend
i sudo pm-hibernate
do pracy na moim netbooku.
apt-get install powermanagement-interface
uruchomić pmi.
apt-get install powermanagement-interface
Sposobem przyjaznym dla gnomów jest użycie dbus.
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
Są dwie zalety tego polecenia pm-suspend
.
Spowoduje to zablokowanie ekranu (po wznowieniu), jeśli masz tę opcję wybraną w gnome.
Nie wymaga uprawnień roota, więc łatwo jest na przykład dodać go jako skrót klawiaturowy.
Jak wspomniano w komentarzach, wymiana Suspend
w ostatnim wierszu w celu Hibernate
utworzenia polecenia hibernacji:
dbus-send --system --print-reply \
--dest="org.freedesktop.UPower" \
/org/freedesktop/UPower \
org.freedesktop.UPower.Hibernate
Jeśli nastąpi hibernacja, Error org.freedesktop.UPower.GeneralError: not authorized
użytkownik może nie uzyskać hibernacji. Edytuj lub utwórz, /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
aby zawierał następującą sekcję: (źródło)
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
Zostało to przetestowane na UbuntuGnome 14.04 .
Uwaga: Jest to w zasadzie to samo co odpowiedź qbi, ale zaktualizowane do pracy z nowszymi wersjami Ubuntu, a także z hibernacją.
Hibernate
po prostu zamienić ostatnią linię naorg.freedesktop.UPower.Hibernate
Jeśli chcesz, aby komputer zawiesił się w ciągu godziny, ponieważ chcesz iść spać i słuchać ulubionej stacji radiowej, otwórz terminal i wpisz:
sudo bash -c "sleep 1h; pm-suspend"
a twój komputer zaśnie za 1 godzinę. Po przebudzeniu zachowasz otwarte zdjęcia i wszystkie inne rzeczy.
Możesz zastąpić 1h
to, co chcesz: h
godzinami, m
minutami, s
sekundami, d
dniami.
Dobranoc!
Si vous voulez juste que votre ordinateur se mette en veille dans uure heure parce que vous voulez vous endormir en ecoutant votre radio preférée, ouvrez Terminal et tapez:
sudo bash -c "sleep 1h; pm-suspend"
et votre ordinateur s'endormira dans une heure. Quand vous vous réveillerez, aura conservé en mémoire vos apps ouvertes.
Vous pouvez remplacer 1h
par ce que vous voulez: h
wlać heures, m
wlać kilka minut, s
wlać sekundę, d
wlać jutro.
Bonne nuit!
Sie quieres suspender tu computadora en una hora porque quieres ir dormir escuchando tu estación de radio favourita, tan solo abre el terminal y escribe:
sudo bash -c "sleep 1h; pm-suspend"
y tu computadora se quedará dormida pl 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!
Dla Ubuntu 12.04 LTS i Ubuntu 13.04
Aby uzyskać hibernację:
sudo pm-hibernate
Aby uzyskać Zawieszenie:
sudo pm-suspend
Możesz użyć do tego pliku /sys/power/state
. Najpierw dowiedz się, jakie stany są obsługiwane:
user@linux:_> cat /sys/power/state
standby mem disk
root@linux:~> echo -n mem > /sys/power/state # suspend to ram
root@linux:~> echo -n disk > /sys/power/state # suspend to disk
lub przez dbus:
Zgodnie z tym wpisem w starterze powyższy interfejs został usunięty. Więc nie będzie już działać w Ubuntu.
/sys/power/state
. Ponadto metoda dbus została usunięta z Ubuntu, więc nie będzie już działać.
$ sudo echo -n mem > /sys/power/state
-bash: /sys/power/state: Permission denied
sudo -i
Najpierw musisz użyć fajki sudo tee
:echo mem | sudo tee /sys/power/state
Aby zamknąć system (14.04) z wiersza poleceń (lub skrótu klawiaturowego) użyj:
dbus-send --system --print-reply --dest="org.freedesktop.login1" /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:true
Dowiedziałem się tego, grając z gdbus, który może wyświetlić listę dostępnych interfejsów:
Aby wyświetlić listę usług dostępnych w autobusie:
dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
Aby znaleźć metody:
gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --recurse
ponieważ 15.04 systemD jest standardowym systemem inicjującym, dlatego dostępne jest nowe polecenie:
systemctl suspend
systemctl suspend
powoduje zawieszenie komputera, ale nie powoduje zablokowania ekranu, mimo że zaznaczyłem pole wyboru „Blokuj ekran, gdy system przechodzi w tryb uśpienia” w Ustawieniach -> Menedżer zasilania -> Bezpieczeństwo. Czy ktoś ma pojęcie dlaczego?
systemctl suspend
nadal zawiesza komputer. Teraz powoduje to również zablokowanie ekranu, tylko wtedy, gdy pole wyboru „Blokuj ekran, gdy system przechodzi w tryb uśpienia” w Ustawieniach -> Menedżer zasilania -> Bezpieczeństwo jest zaznaczone.
Odpowiedź Adama Paetznicka dbus-send nie działała tak, jak rzekomo dla mnie świadome; maszyna obudziła się odblokowana, mimo że gnome-power-manager jest ustawiony na blokowanie ekranu podczas budzenia. Chcę, aby ekran był zablokowany podczas budzenia i stwierdził, że:
$ gnome-screensaver-command --lock && pmi action hibernate
Wyobrażam sobie, że to nie zależy od konfiguracji gnoma, ale tego nie testowałem.
xscreensaver-command --lock
w zależności od przypadku.
Nowy interfejs
… Który działa w wersji 15.10 Wily, a być może utopiczny i żywy.
dbus-send --print-reply --system \
--dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.Suspend boolean:true
Na szczęście nie wymaga sudo, w przeciwieństwie do pm-suspend
polecenia.
Oto jak wprowadzić zdalną maszynę w tryb gotowości przez ssh:
ssh -t 192.168.1.4 'sudo nohup &> / dev / null bash -c "(sleep 1; echo -n mem> / sys / power / state) &" x@192.168.1.4 hasło: [sudo] hasło dla x: Połączenie z 192.168.1.4 zostało zamknięte.
/ sys / power / state działa w systemie Ubuntu 13.10. pmi podaje błąd Dbus.
Osobiście eksperymentowałem z metodą pmi. Jednakże, gdy próbowałem to dostałem komunikat o błędzie: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
. Istnieje jednak obejście w trzecim komentarzu do tego raportu o błędzie , który wydaje się, że zadziałał dla mnie (używam Ubuntu 13.03).
Aktualizacja dla tych, którzy podobnie jak ja nadal pracują na systemach KDE / Ubuntu 14.04. Aby zablokować użycie qdbus
i zawiesić korzystanie dbus
. Pełna komenda:
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Aby hibernować, tzn. Zawiesić dysk twardy zamiast pamięci RAM, zamień „Wstrzymaj” na końcu polecenia na „Hibernuj”.
Aby tylko zablokować ekran bez zawieszania, xscreensaver-command -lock
zadziała, JEŚLI wpiszesz tylko 1 łącznik dla opcji „-lock” i tylko jeśli wygaszacz ekranu jest uruchomiony. Właściwie niezbyt przydatne polecenie. Używanie i3lock
jest łatwiejsze, ale wtedy nie pojawi się schludne okno dialogowe logowania, aby wrócić do pracy, tak jak podczas korzystania qdbus
.
Poniższe działa dla mnie 16.04 (z komputerem Gnome):
gnome-screensaver-command --lock && compsleep
Zainstalowałem go również jako niestandardowy skrót klawiaturowy z panelu ustawień Gnome jako klawisze „Shift-Super-X”.
systemctl suspend