Güç Yönetimi, 17.10'da sadece düşük pil için “Hiçbir Şey Yapma” seçeneğine sahiptir


10

Asus dizüstü bilgisayarda Gnome ile Ubuntu 17.10 kullanıyorum.

Güç Ayarları arayüzünde, Güç sekmesinin altında, pilin kritik ölçüde düşmesi durumunda ne yapılacağını ayarlamak için bir seçenek vardır.

Ancak, bu seçeneği ayarlamak için açılır menüye tıkladığımda, yalnızca bir seçenek sunar, bu da "hiçbir şey yapmaz":

hiçbir şey yapma güç seçeneği

Şu anda, dizüstü bilgisayarım 0 pil gücüne veya yakınına kadar çalışacak ve daha sonra hiçbir uyarı yapmadan, programları kapatma ve zarif bir şekilde kapatma olasılığı olmadan kapanacaktır.

Pil% 10 olduğunda ve umarım bilgisayarı kapatmadan önce programları manuel olarak kaydetmek ve kapatmak için biraz zaman ayırmak istiyorum. Bunu nasıl başarabilirim?


Edit: İşte benim /etc/UPower/UPower.confdosya içeriği :

# Only the system vendor should modify this file, ordinary users
# should not have to change anything.

[UPower]

# Enable the Watts Up Pro device.
#
# The Watts Up Pro contains a generic FTDI USB device without a specific
# vendor and product ID. When we probe for WUP devices, we can cause
# the user to get a perplexing "Device or resource busy" error when
# attempting to use their non-WUP device.
#
# The generic FTDI device is known to also be used on:
#
# - Sparkfun FT232 breakout board
# - Parallax Propeller
#
# default=false
EnableWattsUpPro=false

# Don't poll the kernel for battery level changes.
#
# Some hardware will send us battery level changes through
# events, rather than us having to poll for it. This option
# allows disabling polling for hardware that sends out events.
#
# default=false
NoPollBatteries=false

# Do we ignore the lid state
#
# Some laptops are broken. The lid state is either inverted, or stuck
# on or off. We can't do much to fix these problems, but this is a way
# for users to make the laptop panel vanish, a state that might be used
# by a couple of user-space daemons. On Linux systems, see also
# logind.conf(5).
#
# default=false
IgnoreLid=false

# Policy for warnings and action based on battery levels
#
# Whether battery percentage based policy should be used. The default
# is to use the time left, change to true to use the percentage, which
# should work around broken firmwares. It is also more reliable than
# the time left (frantically saving all your files is going to use more
# battery than letting it rest for example).
# default=true
UsePercentageForPolicy=true

# When UsePercentageForPolicy is true, the levels at which UPower will
# consider the battery low, critical, or take action for the critical
# battery level.
#
# This will also be used for batteries which don't have time information
# such as that of peripherals.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# PercentageLow=10
# PercentageCritical=3
# PercentageAction=2
PercentageLow=10
PercentageCritical=3
PercentageAction=2

# When UsePercentageForPolicy is false, the time remaining at which UPower
# will consider the battery low, critical, or take action for the critical
# battery level.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# TimeLow=1200
# TimeCritical=300
# TimeAction=120
TimeLow=1200
TimeCritical=300
TimeAction=120

# The action to take when "TimeAction" or "PercentageAction" above has been
# reached for the batteries (UPS or laptop batteries) supplying the computer
#
# Possible values are:
# PowerOff
# Hibernate
# HybridSleep
#
# If HybridSleep isn't available, Hibernate will be used
# If Hibernate isn't available, PowerOff will be used
CriticalPowerAction=HybridSleep

Yanıtlar:


7

1. Adım: Kontrol edin gsettings

Terminalde kontrol edebileceğiniz iki seçenek vardır:

$ gsettings get org.gnome.settings-daemon.plugins.power critical-battery-action
'suspend'
$ gsettings get org.gnome.settings-daemon.plugins.power percentage-low
'10'

Sonra bunları değiştirmek için kullanın:

$ gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action suspend
$ gsettings set org.gnome.settings-daemon.plugins.power percentage-low 10

Sistemimde sadece iyi olduklarını not edin, bu yüzden onları örnek olarak ilk etapta oldukları gibi değiştirdim.


2. Adım: Kontrol edin upower

Gnome güç yönetimi upower, ağır kaldırma işlemlerini yapmak için kullanılır. Pil istatistiklerinin çalıştığından ve gerektiği gibi toplandığından emin olmak için şunu kullanın:

$ upower -d 
Device: /org/freedesktop/UPower/devices/line_power_ACAD
  native-path:          ACAD
  power supply:         yes
  updated:              Sun 18 Mar 2018 02:28:25 PM MDT (135878 seconds ago)
  has history:          no
  has statistics:       no
  line-power
    warning-level:       none
    online:              yes
    icon-name:          'ac-adapter-symbolic'

Device: /org/freedesktop/UPower/devices/battery_BAT1
  native-path:          BAT1
  vendor:               COMPAL
  model:                PABAS0241231
  serial:               41167
  power supply:         yes
  updated:              Tue 20 Mar 2018 04:12:10 AM MDT (53 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               charging
    warning-level:       none
    energy:              48.2544 Wh
    energy-empty:        0 Wh
    energy-full:         93.3552 Wh
    energy-full-design:  96.48 Wh
    energy-rate:         0.0044914 W
    voltage:             14.76 V
    percentage:          51%
    capacity:            96.7612%
    technology:          lithium-ion
    icon-name:          'battery-good-charging-symbolic'

Device: /org/freedesktop/UPower/devices/mouse_0003o046Do101Ax0008
  native-path:          /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0003/0003:046D:101A.0008
  vendor:               Logitech, Inc.
  model:                Performance MX
  serial:               E6CE4571
  power supply:         no
  updated:              Tue 20 Mar 2018 04:12:09 AM MDT (54 seconds ago)
  has history:          yes
  has statistics:       no
  mouse
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    percentage:          55%
    icon-name:          'battery-good-symbolic'

Device: /org/freedesktop/UPower/devices/keyboard_0003o046Do2010x0009
  native-path:          /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:046D:C52B.0003/0003:046D:2010.0009
  vendor:               Logitech, Inc.
  model:                K800
  serial:               6DB54BFE
  power supply:         no
  updated:              Tue 20 Mar 2018 04:12:09 AM MDT (54 seconds ago)
  has history:          yes
  has statistics:       no
  keyboard
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    percentage:          90%
    icon-name:          'battery-full-symbolic'

Device: /org/freedesktop/UPower/devices/ups_hiddev3
  native-path:          /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.0/usbmisc/hiddev3
  vendor:               CPS
  model:                CP550HGa
  serial:               BFBB104#BI1.g
  power supply:         yes
  updated:              Tue 20 Mar 2018 04:12:51 AM MDT (12 seconds ago)
  has history:          yes
  has statistics:       yes
  ups
    present:             yes
    state:               fully-charged
    warning-level:       none
    time to empty:       37.5 minutes
    percentage:          100%
    icon-name:          'battery-full-charged-symbolic'

Device: /org/freedesktop/UPower/devices/DisplayDevice
  power supply:         yes
  updated:              Tue 20 Mar 2018 04:10:14 AM MDT (169 seconds ago)
  has history:          no
  has statistics:       no
  ups
    present:             yes
    state:               fully-charged
    warning-level:       none
    time to empty:       37.5 minutes
    percentage:          100%
    icon-name:          'battery-full-charged-symbolic'

Daemon:
  daemon-version:  0.99.4
  on-battery:      no
  lid-is-closed:   no
  lid-is-present:  yes
  critical-action: HybridSleep

İlk önce dizüstü bilgisayar takılıyken bu komutu çalıştırın. Daha sonra dizüstü bilgisayarın fişini çekin ve bir süre sonra komutu çalıştırın ve kalan pil süresinin uygun şekilde azaldığından emin olun.


Son Adım - Düşük düzeyde hazırda bekletme

Bu, diğer tüm adımların tüketilmesinden sonra atılacak son adımdır. Bu adım Ubuntu veya Unity veya Gnome veya gsettingsveya gerektirmez upower. Sadece gerektirir systemd, udevve cronhangi veya GUI (Masaüstü) olmadan neredeyse tüm Linux dağıtımlarının içine inşa edilmiştir.

Gönderen Arch Linux :

Düşük pil seviyesinde hazırda bekletme modu

Piliniz udev% 1 oranında şarj olduğunda (dis) olay gönderirse udev, pil düzeyi kritik olduğunda sistemi otomatik olarak hazırda bekletmek ve böylece kaydedilmemiş tüm işlerin kaybolmasını önlemek için bu kuralı kullanabilirsiniz . Not: Tüm piller boşalma durumlarını bildirmez. udevadm monitor --propertyBataryadayken çalışarak test edin ve herhangi bir olayın raporlanıp raporlanmadığına bakın. En az% 1 düşüş beklemelisiniz. Hiçbir olay bildirilmezse ve /sys/class/power_supply/BAT0/alarmsıfır değilse , pil büyük olasılıkla BAT0/energy_nowalarm değerinin altına düştüğünde bir olayı tetikler ve udevmatematik yüzdesi çalıştığı sürece kural çalışır. Bazı dizüstü bilgisayarlarda BIOS için varsayılan olarak devre dışı bırakılmış bir seçenek vardır.

$ cat /etc/udev/rules.d/99-lowbat.rules

# Suspend the system when battery level drops to 5% or lower
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="/usr/bin/systemctl hibernate"

Koşul her ayarlandığında bu kural tekrarlanır. Bu nedenle, pil kritik olduğunda hazırda bekletme modundan devam ederken, bilgisayar doğrudan hazırda bekletme moduna geçer. Bazı dizüstü bilgisayarlar belirli bir pil düzeyinin ötesine geçmez, bu nedenle kural buna göre ayarlanabilir.

Piller, sürekli boşaltma yerine daha düşük bir değere, bu nedenle bir atlayabilir udevTüm kapasitelerde dize uygun model 0ile 5kullanılır.

Güç kaynağı durumuna ve / veya kapasiteye bağlı olarak farklı eylemler gerçekleştirmek için başka kurallar eklenebilir.

Sisteminizde ACPI olayı yoksa veya eksikse cron, aşağıdaki komut dosyasıyla kullanın :

#!/bin/sh
acpi -b | awk -F'[,:%]' '{print $2, $3}' | {
    read -r status capacity

    if [ "$status" = Discharging -a "$capacity" -lt 5 ]; then
        logger "Critical battery threshold"
        systemctl hibernate
    fi
}

Test olayları

udevKuralları test etmenin bir yolu , çalıştırıldıklarında bir dosya oluşturmalarını sağlamaktır. Örneğin:

$ cat /etc/udev/rules.d/98-discharging.rules

SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", RUN+="/usr/bin/touch /home/example/discharging"

Bu /home/example/discharging, dizüstü bilgisayar şarj cihazının fişinin çekildiği sırada bir dosya oluşturur . Kuralın, dizüstü bilgisayarınızı fişten çekip bu dosyayı arayarak çalışıp çalışmadığını test edebilirsiniz. Daha gelişmiş udevkural testi için bkz. Udev # Yüklemeden önce test kuralları .

özet

Adım # 2 ve "Son Adım" arasında yayınlamak için daha fazla adım var, ancak OP testten sonra daha fazla ayrıntı gösterdiğinden bunlar yayınlanacak. Bu arada, "Son Adım" kalan yüzdeyi rapor etmek gibi daha yarı cevapları azaltmalıdır.


Bu yanıt için teşekkür ederim. Ne yazık ki, gsettingsparametrelerim zaten ayarlanmış gibi görünüyor suspendve 10bu da sistemimin bu seçeneklere uymadığını gösteriyor.
Soru

@Questioner kontrol gsettingsedilmesi gereken ilk (kolay) adımdı. Bir upowersonraki adımı ekledim .
WinEunuuchs2Unix

Güncelleme için teşekkürler. Önerdiğin gibi dizüstü bilgisayarı test edeceğim. Bu arada, dosyamın içeriğini /etc/UPower/UPower.confsoruma ekledim .
Soru

@ Soru Sorgusu Ben ve sistemime yüklü sürüm clipboard-diffarasında koştum UPower.conf. Aynılar.
WinEunuuchs2Unix

@Questioner Çift sorular: 1) gsettings get org.gnome.settings-daemon.plugins.power activeGeri dönüyor truemu? 2) Takas bölümünüz> RAM miktarınız var mı?
WinEunuuchs2Unix

3

Heres dostça bir senaryo koydum!

Dizüstü bilgisayarınızın AC veya Pil (DC) gücünde olup olmadığını kontrol eden geçici bir çözüm oluşturdum ...

Bu nedenle, AC gücünde ise çıkacaktır ve eğer değilse, tanımlanmış değişkene lowveya daha ziyade yüzde değerine ulaşana kadar kalan pil gücünü 15 saniyede bir kontrol etmeye devam edecektir ...

Oh ve bu komut dosyasını çalıştırdığınız gibi aynı terminalde çalışmaya devam etmek istiyorsanız, komut dosyasını aşağıdaki gibi çalıştırın:

bash power-notify.sh &

Daha fazla uzatmadan, işte senaryo:

#!/bin/bash
#Get battery percent
bat_percent=$(acpi | awk -F ", " '{print $2}' | tr -d %)


#When to start showing warnings... Example: 10% --> low=10
low=10
#Alert message to show when low percent is reached
alert="Low battery, $bat_percent% left..."

#Check if notify-send is installed
notfiy_send_test=$(which notify-send)
if [ $? != 0 ] 
then
    echo "Please install notify-send..."
    exit 1
fi

acpi_test=$(which acpi)
if [ $? != 0 ]
then
    echo "Please install acpi..."
    exit 1
fi


#Test if cord is plugged in 
plugged=$(acpi -a | awk -F ": " '{print $2}')

if [ $plugged == 'on-line' ]
then
    echo "Your computer is connected to a power source..."
    echo "Exiting..."
    exit 0
fi

while :
do

    if [ $bat_percent -lt $low ]
    then
        notify-send "$alert"
        sleep 15
    else
        #Check every fifteen seconds to use less resources...
        sleep 15
    fi

done

Bu komut dosyasını GitHub'da da bulabilirsiniz, burada ...


Çalışan bir sistemin zaten belirli yüzdelerde uyarı vermesi ve daha sonra% 2'de hibrit uyku vermesi beklenir. Bence OP bunu arıyor. Komut dosyanız hazırda bekleme durumunu% 2 olarak çağırarak geliştirilebilir. Ayrıca her 15 saniyede bir uyarı balonu aşırı IMO'dur. Bir mesaj balonu t% 9,% 8,% 7 ...% 3 daha pratik olacağını düşünüyorum. Ayrıca bir sistem uyarı sesi, insanların o zaman dizüstü bilgisayarlarına bakmamalarına yardımcı olur. Bu komut dosyasının önerdiğim bileşenlerden bazıları var: askubuntu.com/questions/837078/…
WinEunuuchs2Unix

WinEunuuchs2Unix sadece basit bir komut dosyası
NerdOfCode

Sanırım hem senaryo hem de son yorumda bağladığım senaryom profesyoneller tarafından basit olarak değerlendirilebilir. Hangi komut dosyasını "basit" olarak adlandırdığınızdan emin değilim?
WinEunuuchs2Unix

Senaryom kesinlikle.
NerdOfCode

Hayır, iyi bir senaryo ve yapmasını istediğiniz şeyi yapıyor. Tüm harika komut dosyaları iyi komut dosyaları olarak başlar ve bunu günler, haftalar veya on yıllar boyunca geliştirebilirsiniz. Linux uzun zamandır var ve çok daha uzun süredir var olacak.
WinEunuuchs2Unix
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.