Bagaimana saya bisa mendapat notifikasi ketika baterai laptop saya terisi penuh?


12

Terkadang charger saya tetap terhubung ke laptop bahkan setelah pengisian selesai.

Apakah ada cara untuk mendapatkan pesan pop-up / notifikasi ketika baterai saya penuh karena pengisian atau apakah ada perangkat lunak / paket yang dapat menyediakan fungsionalitas?

Jawaban:


7

Instal acpipaket. Sekarang masukkan ini return0whencharging.shdan membuatnya dapat dieksekusi:

#!/bin/sh
acpi -V
if cat /proc/acpi/battery/BAT1/state | grep "charging state" | grep -vE ":[\t ]*charging$"; then
    exit 1
else
    exit 0
fi

Jika echo -e "\a"bersuara, mulai ini ketika Anda ingin melihat status baterai:

watch --beep return0whencharging.sh

Jika hal itu tidak membuat suara apapun atau Anda ingin pemberitahuan dan alarm yang lebih baik dari apa pun yang menonton dapat memberikan, menginstal libnotify-bindan mpvdan menggunakan ini sebagai gantinya:

while return0whencharging.sh; do sleep 1; done; notify-send "Finished charging" && mpv -loop /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga

Penjelasan :

Jika Anda melihat halaman manual untuk grep Anda dapat melihat bahwa -vmembalikkan pencocokan, dan karenanya kode pengembalian / status. -Eberarti ekspresi reguler. yang [\t ]di regex (regular expression) berarti "tab atau ruang". Bintang berikut artinya "tab atau spasi 0 atau lebih banyak kali". Trailing "$" berarti harus sesuai dengan akhir baris. Yang terakhir grepberarti bahwa garis TIDAK diakhiri dengan ":", sejumlah tab atau spasi lalu "pengisian" dan ujung baris harus grepkeluar dengan kode status 0. Ini berarti bahwa grepakan mengembalikan 1 selama komputer pengisian daya. The ifakan mengeksekusi itu cabang pertama ketika kode status 0,grepexit 1ketika grep keluar 0 dan exit 0ketika grep ada yang bukan nol.


jika Anda ingin perintah ini dijelaskan, tanyakan saja kepada saya
Janus Troelsen

Saya tidak yakin apa yang dilakukan grep ini -vE ": [\ t] * pengisian $". Bisakah Anda jelaskan perintahnya? terima kasih
Ankit

menambahkan penjelasan
Janus Troelsen

Dan di mana return0whencharging.shfile ini ? Atau jika saya membuatnya, apakah ada tempat khusus yang harus saya simpan?
Parto

@AvatarParto: tidak masalah di mana. nama juga tidak masalah, selama Anda mengubahnya di mana saja
Janus Troelsen

7

Saya telah menulis skrip kecil yang akan melakukan itu:

tangkapan layar


Naskah:

#!/usr/bin/env bash
while true
do
    export DISPLAY=:0.0
    battery_percent=$(acpi -b | grep -P -o '[0-9]+(?=%)')
    if on_ac_power; then
        if [ "$battery_percent" -gt 95 ]; then
            notify-send -i "$PWD/batteryfull.png" "Battery full." "Level: ${battery_percent}% "
        fi
    fi
    sleep 300 # (5 minutes)
done

Instalasi:

Lari:

sudo apt-get install acpi
git clone https://github.com/hg8/battery-full-notification.git
cd battery-full-notification/
chmod +x batteryfull.sh

Salin skrip ke ~/binfolder ( mengapa folder ~ / bin? ):

cp batteryfull.* ~/bin

Atau salin ke /usr/local/binjika Anda ingin itu tersedia untuk semua pengguna di komputer Anda:

cp batteryfull.* /usr/local/bin

Kemudian tambahkan batteryfull.shskrip sebagai aplikasi startup dengan:

  • Buka Dash
  • Cari Aplikasi Startup
  • Klik dua kali ikonnya
  • Klik Adddan isi sebagai berikut:

    aplikasi startup yang lengkap

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.