Komut satırından nasıl askıya alabilir / hazırda bekletebilirim?


Yanıtlar:


312

Geleneksel olarak ubuntu, askıya alma ve hazırda bekletme modunun oldukça kör olan bir yöntemini destekledi. Hiçbiri diğer uygulamalarla iyi bir şekilde entegre olmaz ve hatta bazen bazı makinelerde çalışmaz. Yeni yöntem kök gerektirmez ve güç olaylarını dinleyen tüm uygulamaları bildirir.

Sistem Yöntemi

Ubuntu 16.04 ile başlayarak, systemctlçağrı kullanılmalıdır ( Ubuntu 16.04'deki Suspend komutuna bakın )

systemctl suspend

ve

systemctl hibernate

Yeni yöntem

Dbus kullanımıyla ilgili olarak bu sayfadaki Adam Paetznick'in cevabına bakınız . İdeal olarak ~/bin/suspend, bu eylemin kullanımını kolaylaştıran bir kısayol / komut dosyası oluşturabilirsiniz.

Ssh üzerinden kullanım için, Peter V. Mørch tarafından belirtildiği gibi politika seti kurallarını değiştirmelisiniz.

Eski yöntem

Ubuntu Forumuna göre aşağıdaki komutları kullanabilirsiniz:

pmi action suspend

ve

pmi action hibernate

Bu, powermanagement-arayüz paketini yüklemenizi gerektirir (test edilmemiştir).

sudo apt-get install powermanagement-interface

Ayrıca komutları bulduk sudo pm-suspendve sudo pm-hibernatebenim netbook üzerinde çalışmak için.


21
pm-suspend ve pm-hibernate benim için çalışıyor ve kolay. Sudo gerektirir ama sorun değil. (Daha önce pmi fikrini
buldum

1
apt-get install powermanagement-interfacePmi'yi çalıştırmanız gerektiğini unutmayın .
nealmcb

1
Saat

1
Ubuntu 12.10 ile çalışmıyor. sonraapt-get install powermanagement-interface
somethis

1
yeni yöntem şimdi bozuldu bkz. unix.stackexchange.com/questions/153099/…
ijk

188

Cüce dostu yol dbus kullanmaktır.

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

Bu emri aşmanın iki avantajı var pm-suspend.

  1. Gnome'da bu seçeneği seçtiyseniz, ekranınız kilitlenir (devam ettirildiğinde).

  2. Kök ayrıcalığı gerektirmediğinden, örneğin klavye kısayolu olarak eklemek kolaydır.

Yorumlarda da belirtildiği gibi Suspend, son bir satırda Hibernatebir hazırda bekleme komutu oluşturmak için:

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

Hazırda bekletme moduna geçerse, Error org.freedesktop.UPower.GeneralError: not authorizedkullanıcının hazırda bekletme moduna girmesine izin verilmeyebilir. /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaAşağıdaki bölümü içerecek şekilde düzenleyin veya oluşturun : (kaynak)

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

Bu, UbuntuGnome 14.04'te test edildi .

Not: Bu, temel olarak qbi'nin cevabıyla aynıdır, ancak hazırda bekleme modunun yanı sıra Ubuntu'nun yeni sürümlerinde de çalışması için güncellendi.


15
Cevabınız gerçekten önce olmalı. Kökleri olmayan, paketlenmemiş kurulum yapmanın yolu. Sevmek!
turbo

11
İçin Hibernate, sadece geçen hattı yeriniorg.freedesktop.UPower.Hibernate
Sheharyar

2
13.10 da işe yarıyor. Ancak ekran edilir değil hatta "Güvenlik ve Gizlilik" olsa, özgeçmiş üzerine kilitlenmiş, "Askıya gelen uyanma benim şifre iste" olduğu devrede.
andreas-h

3
Benim için işe yaramadı (Gnome 3.12, Ubuntu 14.04). [UPower.Suspend] arayüzünün bugs.launchpad.net/ubuntu/+source/gnome-power-manager/+bug/…
Gui Ambros

4
Suspend arayüzü logind'e taşındı; askubuntu.com/questions/652978
Alam

58

ingilizce

Bilgisayarınızın bir saat içinde askıda kalmasını istiyorsanız, en sevdiğiniz radyo istasyonunu dinlemeye yatmak istediğiniz için terminali açın ve şunu yazın:

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

ve bilgisayarınız 1 saat içinde uykuya dalar. Uyandığınızda, açık görüntülerinizi ve her şeyinizi korumuş olacak.

İstediğinizi değiştirebilirsiniz 1h: hsaatlerce, mdakikalarca, ssaniye olarak, dgünlerce.

İyi geceler!

Français

Bir önceki bölüme göre sıralamayı seç ordinateur se by en ville dans une heure parce que vous voulez vous endormir en ekotan seçmen radyosu préférée, ouvrez Terminal ve tapez:

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

ve seçmen ordinateur s'endormira dans une heure. Quand vous vous réveillerez, ilâve bir vos uygulamalarını korur.

Vous pouvez remplacer 1hpar la que vous voulez: hles heures mdökün, les dakika dökün , les grodes dökün s, dles jours dökün.

İyi geceler!

Español

Si quieres askı askısı tu computadora en una hora porque quieres ir a dormir escuchando telsiz favorileri, tan solo abre el terminal y escribe:

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

Seni seviyorum 1 gün önce quedará dormida. Cuando despiertes, hepsi bir şey değil.

Puedes reeslazar and 1hlo que desees: hpara horas, mpara minutos, spara segundos, dpara días.

As Buenas noches!


İşte aradığım kullanım davam! AFIK pm- * superuser izinleri olmadan çalıştırılabilir
ruX

31

İçin Ubuntu 12.04 LTS ve Ubuntu 13.04

Hazırda Bekletme durumunu almak için:

sudo pm-hibernate

Askıya almak için:

sudo pm-suspend

"sudo pm-suspend" nane 13 arkadaşı üzerinde çalışmıyor :(
rsjethani

Evet, o paketin kurulu olmadığını düşünüyorum. bu paketleri synaptic'te arayın.
rɑːdʒɑ

2
Bu yöntemin dezavantajı GUI kullanıyorsanız, pm-suspend oturumunuzu engellemeyecektir, bu da güvensiz olabilir.
Raúl Salinas-Monteagudo

1
Ayrıca ubuntu 15.10'da da çalışıyor.
Searene


22

Bunu /sys/power/stateyapmak için dosyayı kullanabilirsiniz . İlk önce hangi devletlerin desteklendiğini öğrenin:

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

veya dbus yoluyla:

# Askıya alma dbus-send --session --dest = org.gnome.PowerManager \ --type = method_call --print-answer - yanıtla-zaman aşımı = 2000 \ / org / gnome / PowerManager org.gnome.PowerManager.Suspend # Hazırda Beklet dbus-send - session --dest = org.gnome.PowerManager \ --type = method_call --print-answer - yanıtla-zaman aşımı = 2000 \ / org / gnome / PowerManager org.gnome.PowerManager.Hibernate

Başlatma panelindeki bu girişe göre , yukarıdaki arayüz kaldırıldı. Yani artık Ubuntu'da işe yaramayacaktı.


İlk fikir bana: "bash: echo: yazma hatası: Geçersiz argüman" Dbus fikri çıktı veriyor: "Hata org.freedesktop.DBus.Error.UnknownMethod:" "arabiriminde" "imzasıyla" Askıya Al "yöntemi" org.gnome.PowerManager " yok "
user1034

Her /sys/power/stateşeye küçük bir açıklama ekledim. Ayrıca, dbus yöntemi Ubuntu'dan kaldırıldı, böylece artık çalışmayacak.
qbi

$ sudo echo -n mem > /sys/power/state-bash: /sys/power/state: Permission denied
Hubro,

3
Bu harika çalışıyor. Sudo kullanırken bu yöntemle ilgili problemi olan insanlar için, "pipe to file", aka ">" mevcut kabuğunuzda çalışıyor, bu nedenle echo'nuz yaparken süper kullanıcı ayrıcalıklarına sahip değil. Bunu yapmak için sudo -iönce veya pipo kullanmanız gerekir sudo tee:echo mem | sudo tee /sys/power/state
RandomInsano

12

Bir sistemi (14.04) komut satırından (veya klavye kısayolundan) kapatmak için kullanın:

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

Bunu, kullanılabilir arayüzleri listeleyen gdbus ile oynayarak öğrendim:

Otobüste mevcut hizmetleri listelemek için:

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

Yöntemleri bulmak için:

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

12

çünkü 15.04 systemd kullanılacak yeni bir komut var bu yüzden standart init sistemidir:

systemctl suspend

Xubuntu 15.04 kullanıyorum. Komut systemctl suspendbilgisayarı askıya alıyor, ancak Ayarlar -> Power Manager -> Güvenlik bölümündeki "Sistem uyku modundayken ekranı kilitle" onay kutusunu işaretlememe rağmen ekranın kilitlenmesine neden olmuyor. Neden bir fikri olan var mı?
Teemu Leisti

Xubuntu 16.04'e yükselttim. Komut systemctl suspendbilgisayarı hala askıya alıyor. Şimdi, ekranın kilitlenmesini sağlar, yalnızca ve eğer "Sistem uykuya geçerken ekranı kilitle" onay kutusundaki Ayarlar -> Power Manager -> Güvenlik işaretli ise.
Teemu Leisti

8

Adam Paetznick'in dbus-send yanıtı benim için açık bir şekilde iddia ettiği gibi işe yaramadı; gnome-power-manager, uyanma sırasında ekranı kilitlemek için ayarlanmış olsa bile, makinenin kilidi açıldı. Ekranın uyanırken kilitlenmesini istiyorum ve şunu yaptığını gördüm:

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

Bunun gnome konfigürasyonuna bağlı olmadığını hayal ediyorum, ancak test etmedim.


Güzel. Ya xscreensaver-command --lockda olabileceği gibi.
phyzome

3

Yeni arayüz

… Hangi 15.10 Wily ve muhtemelen Ütopik ve Canlı.

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

Faydalı olarak bu pm-suspendkomutun aksine sudo gerektirmez .


Debian / Gnome ile yaptığım XPS 13 9350, kapağı kapatırken askıya alma / hazırda bekletme sorunlarıyla ilgiliydi. Bu komutu çalıştırdıktan sonra (ve hazırda bekletme modunun eşdeğeri) başarıyla askıya alındı ​​(ve hazırda bekletme moduna geçti) ve şimdi beklendiği gibi kapak işini kapatıp açtın!
Victor Schröder

1

Uzaktaki bir makineyi ssh yerine bekleme moduna geçirmenin yolu:

ssh -t 192.168.1.4 'sudo nohup &> / dev / null bash -c "(uyku 1; eko -n mem> / sys / güç / durum) &"'
x@192.168.1.4 şifresi: 
[sudo] x için şifre: 
192.168.1.4'e bağlantı kapatıldı.

/ sys / power / state Ubuntu 13.10’da çalışır. pmi Dbus hatası veriyor.


0

Şahsen ben pmi yöntemini deniyordum. Bunu denedim Ancak, ben bir hata mesajı var: Error org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1. Ancak, bir çözüm vardır 3 yorumun ait bu hata raporu benim için çalışmış gibi görünüyor, (Ben Ubuntu 13.03 kullanıyorum).


Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak tercih edilir.
fossfreedom

0

Benim gibi hala KDE / Ubuntu 14.04 sistemlerinde çalışanlar için güncelleme. Kullanımı kilitlemek qdbusve kullanımı askıya almak için dbus. Tam komut:

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

Hazırda bekletmek, yani RAM yerine sabit diski askıya almak için, komutun sonunda 'Hazırda Beklet' ile 'Askıya Al' komutunu değiştirin.

Ekranı askıya almadan sadece kilitlemek xscreensaver-command -lockiçin, 'kilit' seçeneği için sadece 1 tire yazdığınızda ve sadece ekran koruyucu çalışıyorsa çalışacaktır. Aslında çok kullanışlı bir komut değil. Kullanımı i3lockdaha kolaydır, ancak daha sonra kullanacağınız gibi işe geri dönmek için düzgün bir giriş iletişim kutusu alamazsınız qdbus.


0

Aşağıdakiler 16.04'te (Gnome masaüstünde) benim için çalışıyor:

gnome-screensaver-command --lock && compsleep

Ayrıca Gnome ayarları panelinden "Shift-Super-X" tuşları olarak özel bir klavye kısayolu olarak kurdum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.