ฉันจะตั้งให้คอมพิวเตอร์หยุดทำงานเมื่อแบตเตอรี่เหลือน้อยมากได้อย่างไร


21

ฉันบังเอิญคลิกที่ตัวเลือก "เมื่อไฟฟ้าต่ำมาก" ภายใต้การตั้งค่าระบบ> พลังงาน รายการต้นฉบับว่างเปล่า แต่ตัวเลือกเพียงสองตัวเลือกหลังจากฉันคลิกคือไฮเบอร์เนตและปิดเครื่อง ฉันต้องการตั้งค่ากลับเป็นระงับ


คุณใช้ Ubuntu รุ่นไหน
Anderson Green

คำตอบ:


7

ไม่มีตัวเลือกให้ระงับได้

คุณไม่สามารถหยุดชั่วคราวได้เมื่อกำลังไฟเหลือน้อยเพื่อหยุดชั่วคราวคุณต้องใช้กำลังไฟในการบันทึกเซสชันเป็น RAM เพื่อให้คุณกลับมาทำงานได้เร็วขึ้นหากคุณคลายกำลังไฟคุณจะสูญเสียสถานะ suspend ปัจจุบัน

ไฮเบอร์เนตคัดลอกสถานะปัจจุบันไปยังฮาร์ดไดรฟ์ช้าลง แต่คุณสามารถปิดเครื่องได้

การปิดระบบนั้นชัดเจน - คุณจะสูญเสียข้อมูลใด ๆ ในเซสชันที่ใช้งานอยู่และมีเซสชันใหม่เมื่อรีสตาร์ท


7
ในโลกอุดมคติบางที ฉันจะรักมันถ้าฉันสามารถกำหนดค่าเครื่องของฉันให้หยุดชั่วคราวเมื่อมันตกอยู่ด้านล่างเช่น 15% ของแบตเตอรี่ (ง่ายพอสำหรับการหยุดชั่วคราวหลายชั่วโมง) เพราะตามที่เป็นฉันสามารถกำหนดค่าให้ปิดเครื่องเท่านั้น ข้อมูล) หรือไฮเบอร์เนต (ซึ่งใช้งานไม่ได้กับเครื่องของฉัน) ดังนั้นนี่คือข้อ จำกัด ที่ไม่จำเป็น ...
Tomislav Nakic-Alfirevic

2
ฉันกำลังเผชิญกับปัญหาเดียวกัน ใช้เพื่อหยุดพักเมื่อแบตเตอรี่เหลือน้อยมาก แต่ในคำถามฉันบังเอิญคลิกที่ตัวเลือก "เมื่อไฟฟ้าต่ำมาก" ภายใต้การตั้งค่าระบบ> พลังงาน รายการต้นฉบับว่างเปล่า แต่ตอนนี้ฉันสามารถเลือก 'ปิดเครื่องได้' เท่านั้น ดังนั้นคอมพิวเตอร์ของฉันปิดตัวเองเมื่อแบตเตอรี่เหลือน้อยมาก ฉันต้องการให้ระงับในกรณีนั้น ไม่ทราบวิธีกลับสู่สถานะดั้งเดิมที่เคยระงับไว้
Mukesh Chapagain

1
ใน Ubuntu 12.04 ตัวเลือก "ไฮเบอร์เนต" จะถูกปิดใช้งานและคอมพิวเตอร์จะรีสตาร์ทแทนการระงับเมื่อแบตเตอรี่เหลือน้อยมาก
Anderson Green

1
@ chapagain ฉันกำลังเผชิญปัญหาเดียวกัน คุณใช้ Ubuntu รุ่นไหน
Anderson Green

1
@AndersonGreen ฉันกำลังใช้ Ubuntu 12.04
Mukesh Chapagain

20

หากต้องการเปลี่ยนการตั้งค่านี้กลับเป็นระงับให้ใช้ dconf-editor ไปที่ org.gnome.settings-daemon.plugins.power และเปลี่ยน critical-battery-action เพื่อหยุดทำงาน

อีกวิธีหนึ่งในเทอร์มินัลเซสชันใช้คำสั่ง:

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

gsettingsคำสั่งเป็นถิ่นที่อยู่โดยค่าเริ่มต้นในขณะที่dconf-editorต้องมีการติดตั้งผ่าน:

sudo apt-get install dconf-tools

มีข้อผิดพลาดใด ๆ บน Launchpad สำหรับการกระทำที่ว่างเปล่านี้หรือไม่?
NoBugs

ไม่ทำงานในGNOME 3.28.2อีกต่อไป ใครบ้างที่มีทางเลือกอื่น?
orschiro

9

ฉันไม่มีตัวแทนที่เพียงพอในการแก้ไขหรือแสดงความคิดเห็นดังนั้นหากใครสนใจก็เป็นคำตอบสำหรับแก้ไข AtomHeartFather

นอกจากนี้คุณยังสามารถเปลี่ยนค่าสำหรับเปอร์เซ็นต์ที่ถือว่าต่ำ / สำคัญแบตเตอรี่โดยใช้เครื่องมือ dconf ในส่วนพลังงานเดียวกันให้ปรับเปลี่ยนค่าต่อไปนี้เป็นเปอร์เซ็นต์ที่ต้องการ

percentage-action

percentage-critical

percentage-low

หมายเหตุ: ข้อควรพิจารณาพิเศษไปที่การpercentage-actionตั้งค่าซึ่งจะทำให้การcritical-battery-actionตั้งค่าทำงาน


เปอร์เซ็นต์การเปลี่ยนแปลงตามนี้คำตอบที่use-time-for-policyรายการยังจะมีการเปลี่ยนแปลง (ยกเลิกการตรวจสอบหรือชุดที่ gsettings set org.gnome.settings-daemon.plugins.power use-time-for-policy false'ผิด'): แต่สิ่งนี้ดูเหมือนจะใช้งานไม่ได้กับทุกระบบ / เครื่อง

1

ฉันมีปัญหานี้

ฉันรู้สึกหงุดหงิดอย่างมากเมื่อใดก็ตามที่คอมพิวเตอร์ของฉันจะดับขณะที่ฉันทำงานหนัก

ฉันเขียนสคริปต์เพื่อตรวจสอบ A / C Power ป้อยอทุกสองนาทีและจำศีลเมื่อไฟดับ โปรดแก้ไขตามสุขภาพของแบตเตอรี่ของคุณ แบตเตอรี่ของฉันสามารถใช้งานได้สองนาทีหลังจากไฟดับ

#!/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

ฉันวางสคริปต์ไว้ในไฟล์ชื่อpowerMon.shและตั้งค่าเป็นแบบcron jobที่รันทุกสองนาที


1

ในวันที่ 12.04 ฉันเคยsleepdระงับเครื่องเมื่อแบตเตอรี่เหลือน้อยหรือเครื่องไม่ได้ใช้งาน

แม้ว่า sleepd จะไม่ได้รับการบรรจุสำหรับ Ubuntu 14.04 และยังได้รับกำพร้าจากผู้พัฒนา แต่ก็เป็นไปได้ที่จะรวบรวมและติดตั้งด้วยตัวคุณเอง

การติดตั้งบน Ubuntu 12.04:

sudo apt-get install sleepd

แก้ไขไฟล์/etc/default/sleepdและตั้งค่าต่อไปนี้:

# -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"

จากนั้นรีสตาร์ท daemon:

sudo service sleepd restart

นอกจากนี้ยังมีตัวเลือกให้ตื่นตัวหากมีกิจกรรมเครือข่าย แต่สิ่งเหล่านี้หยุดทำงานสำหรับฉัน

บนเครื่องของฉันเห็นได้ชัดว่า ACPI ไม่ได้รายงานอุณหภูมิอย่างถูกต้องเสมอไปดังนั้นฉันต้องเพิ่ม-Hเพื่อบอก sleepd ให้อ่านอุณหภูมิจาก upower แทนที่จะเป็น ACPI ผมค้นพบการอ่านไม่ถูกต้องหลังจาก syspends ที่ไม่คาดคิดโดยการเพิ่ม-vและดู logfile tail -f /var/log/*log | grep --line-buffered sleepdด้วย

(ฉันมีข้อผิดพลาดแปลก ๆ ในแล็ปท็อปเครื่องเดียวที่มี 12.04 ซึ่งเครื่องจะตื่นขึ้นมาอีกครั้งทันทีหลังจากหยุดทำงานชั่วคราว แต่เฉพาะเมื่อ sleepd ถูกระงับเนื่องจากแบตเตอรี่เหลือน้อยไม่ใช่เนื่องจากเวลาว่างฉันหวังว่าคุณจะไม่มีประสบการณ์เช่นนั้น! ปัญหาไม่เคยเกิดขึ้นภายใต้ 14.04)


0

มีวิธีปิดใช้งานระบบกันสะเทือน / ปิดอย่างสมบูรณ์

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

(ในกรณีที่มันแสดงต่ำอย่างยิ่งแม้ที่ 100%)


0

ฉันเขียนสคริปต์ทุบตีง่ายๆซึ่งจะทำบน linux ใด ๆ ... เพียงเพิ่มสคริปต์นี้เพื่อเริ่มต้น ... ทุกสองนาทีสคริปต์ตรวจสอบสถานะของแบตเตอรี่และระงับถ้าแบตเตอรี่ต่ำกว่า 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.