Bagaimana cara mengatur komputer untuk ditangguhkan ketika baterai sangat lemah?

21

Saya tidak sengaja mengklik opsi "Ketika daya sangat rendah" di bawah Pengaturan Sistem> Daya. Entri asli kosong, tetapi hanya dua opsi setelah saya mengklik adalah Hibernate dan Shutdown. Saya ingin mengaturnya kembali ke Tangguhkan.

Satchit Bhogle
sumber
Versi Ubuntu apa yang Anda gunakan?
Anderson Green

Jawaban:

7

Tidak ada opsi untuk menangguhkan tersedia.

Anda tidak dapat menunda saat daya sangat rendah, untuk menunda Anda perlu daya untuk menyimpan sesi ke RAM memungkinkan Anda untuk melanjutkan lebih cepat, jika Anda kehilangan daya Anda kehilangan negara menangguhkan saat ini.

Hibernate menyalin kondisi saat ini ke hard drive, itu lebih lambat tetapi Anda dapat mematikan daya.

Shutdown sudah jelas - Anda akan kehilangan data apa pun di sesi aktif dan memiliki sesi baru saat restart.

Mark Rooney
sumber
7
Di dunia yang ideal, mungkin. Saya akan MENYUKAINYA jika saya dapat mengkonfigurasi mesin saya untuk ditangguhkan ketika jatuh di bawah misalnya 15% dari baterai (cukup mudah selama beberapa jam di tunda) karena seperti itu, saya hanya dapat mengkonfigurasinya ke shutdown (jenis jaminan yang Anda kehilangan data) atau hibernasi (yang benar-benar rusak pada mesin saya). Jadi, inilah batasan yang tidak perlu ...
Tomislav Nakic-Alfirevic
2
Saya menghadapi masalah yang sama. Ini digunakan untuk menunda ketika baterai sangat rendah. Tetapi seperti dalam pertanyaan, saya tidak sengaja mengklik opsi "Ketika daya sangat rendah" di bawah Pengaturan Sistem> Daya. Entri asli kosong tetapi sekarang saya hanya dapat memilih 'Matikan'. Karena itu, komputer saya mati ketika baterai hampir habis. Saya ingin membuatnya ditangguhkan dalam kasus itu. Tidak tahu cara kembali ke keadaan semula tempat ia ditangguhkan.
Mukesh Chapagain
1
Di Ubuntu 12.04, opsi "hibernate" dinonaktifkan, dan komputer dinyalakan kembali alih-alih ditangguhkan saat baterai hampir habis.
Anderson Green
1
@ chapagain saya menghadapi masalah yang persis sama. Versi Ubuntu apa yang Anda gunakan?
Anderson Green
1
@AndersonGreen Saya menggunakan Ubuntu 12.04
Mukesh Chapagain
20

Untuk mengubah pengaturan ini kembali ke menangguhkan, gunakan dconf-editor. Pergi ke org.gnome.settings-daemon.plugins.power dan ubah tindakan baterai-kritis untuk ditangguhkan.

Atau, dalam sesi terminal gunakan perintah:

gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'

The gsettingsperintah penduduk secara default sementara dconf-editormembutuhkan menginstal melalui:

sudo apt-get install dconf-tools
AtomHeartFather
sumber
Apakah ada bug di Launchpad untuk perilaku penundaan ditangguhkan ini?
NoBugs
Tidak lagi berfungsi pada GNOME 3.28.2 . Adakah yang punya solusi alternatif?
orschiro
9

Saya tidak memiliki perwakilan yang cukup untuk mengedit atau berkomentar, jadi jika ada yang mau, ini adalah komentar / edit untuk jawaban AtomHeartFather.

Anda juga dapat mengubah nilai persentase baterai rendah / kritis menggunakan dconf-tools. Di bagian daya yang sama, ubah nilai berikut ke persentase yang diinginkan.

percentage-action

percentage-critical

percentage-low

Catatan: Pertimbangan khusus berlaku untuk percentage-actionpengaturan yang akan memicu critical-battery-actionpengaturan.

RayfenWindspear
sumber
untuk persentase perubahan, menurut ini jawabannya, yang use-time-for-policymasuk juga harus diubah (un-check, atau set ke 'palsu'): gsettings set org.gnome.settings-daemon.plugins.power use-time-for-policy false. Tapi ini sepertinya tidak bekerja dengan pasti pada semua sistem / mesin.
1

Saya punya masalah ini.

Saya sangat frustrasi setiap kali komputer saya mati, ketika saya sedang melakukan pekerjaan serius.

Saya menulis skrip untuk memeriksa sate Daya A / C setiap dua menit dan hibernasi ketika daya padam. Silakan modifikasi sesuai dengan kesehatan baterai Anda. Baterai saya dapat bekerja selama dua menit setelah listrik padam.

#!/bin/bash

if [[ $(cat /sys/class/power_supply/AC0/online) == *0* ]] ; then

    echo 'On battery power'
    #pmi action suspend

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

#else
#    echo 'On Ac Power'
fi

Saya menempatkan skrip dalam file yang dipanggil powerMon.shdan mengaturnya sebagai cron jobyang berjalan setiap dua menit.

nyxee
sumber
1

Pada 12,04 saya biasa sleepdmenunda mesin ketika baterai rendah atau mesin menganggur.

Meskipun sleepd tidak dikemas untuk Ubuntu 14.04, dan bahkan telah menjadi yatim piatu oleh pengembangnya, dimungkinkan untuk mengkompilasi dan menginstalnya sendiri.

Instalasi di Ubuntu 12.04:

sudo apt-get install sleepd

Edit file /etc/default/sleepddan atur hal berikut:

# -E       Do not poll events (since they weren't working for me).
# -c 60    Poll every 60 seconds.
# -u 900   Sleep after 15 minutes idle time when on battery,
# -U 3600  or 60 minutes when on AC power,
# -b 3     or when battery power drops below 3%.
# -H       (optional) Use upower instead of ACPI.

PARAMS="-E -c 60 -u 900 -U 3600 -b 3"

Kemudian restart daemon:

sudo service sleepd restart

Ia juga memiliki opsi untuk tetap terjaga jika ada aktivitas jaringan, tetapi ini berhenti bekerja untuk saya.

Di mesin saya, ternyata ACPI tidak selalu melaporkan suhu dengan benar, jadi saya perlu menambahkan -Huntuk memberitahu sleepd untuk membaca suhu dari yang lebih tinggi daripada ACPI. Saya menemukan pembacaan yang salah, setelah beberapa syspends tak terduga, dengan menambahkan -vdan menonton file log dengan tail -f /var/log/*log | grep --line-buffered sleepd.

(Saya punya bug aneh pada satu laptop dengan 12,04 bahwa mesin akan bangun kembali segera setelah ditangguhkan, tetapi hanya jika sleepd sedang ditangguhkan karena baterai lemah, bukan karena waktu idle. Saya harap Anda tidak akan memiliki pengalaman itu juga! Masalahnya tidak pernah terjadi di bawah 14,04.)

joeytwiddle
sumber
0

Ada cara untuk menonaktifkan suspensi / matikan sepenuhnya.

gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'false'

(dalam kasus itu menunjukkan sangat rendah bahkan pada 100%)

Rápli András
sumber
0

Saya menulis skrip bash sederhana yang akan melakukannya di sembarang linux ... tambahkan saja skrip ini ke startup ... setiap dua menit skrip memeriksa status baterai dan tunda jika baterai lebih rendah 11% ....

#!/bin/sh
flag=0
while [ 1 ]; do
  var=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "percentage"| grep -o '[0-9]*')
  if [ $var -lt 11 ] && [ $flag -eq 0 ]; then
    systemctl suspend
    flag=1
  elif [ $var -gt 11 ] && [ $flag -eq 1 ]; then
    flag=0
  fi
  sleep 120
done
Pankaj Kumar
sumber