ノートパソコンのバッテリーが完全に充電されたときに通知を受け取るにはどうすればよいですか?


12

充電が完了しても、充電器がラップトップに接続されたままになることがあります。

充電が原因でバッテリーがいっぱいになったときにポップアップメッセージ/通知を受け取る方法はありますか?または、機能を提供できるソフトウェア/パッケージはありますか?

回答:


7

acpiパッケージをインストールします。これを入れreturn0whencharging.shて実行可能にします:

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

echo -e "\a"音が鳴った場合は、バッテリーの状態を確認したいときに開始します。

watch --beep return0whencharging.sh

音が出ない場合、または時計が提供できるものよりも通知とアラームが必要な場合は、代わりにこれをインストールlibnotify-binmpvて使用します。

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

説明

grepmanページを見ると-v、マッチングが逆になっていることがわかります。したがって、戻りコードとステータスコードが逆になります。-E正規表現であることを意味します。[\t ]正規表現(正規表現)では「タブまたはスペース」を意味します。次の星は、「タブまたはスペース0回以上」を意味します。末尾の「$」は、行末と一致する必要があることを意味します。最後のgrep行は、「:」、任意の数のタブまたはスペース、「charging」で終わっていない行と、行の終わりがgrepステータスコード0で終了することgrepを意味します。これは、コンピュータが充電。ifステータスコードが0であるとき、それの最初の分岐を実行しますgrepexit 1grepが0を終了exit 0するとき、およびgrepがゼロ以外で存在するとき。


これらのコマンドの説明が必要な場合は、私に聞いてください
Janus Troelsen 2012

このgrep -vE ":[\ t] * charging $"が何をするかわかりません。コマンドについて教えてください。ありがとう
Ankit

説明を追加
Janus Troelsen 2012

そして、このreturn0whencharging.shファイルはどこにありますか?または作成した場合、保存する必要がある特定の場所はありますか?
Parto

@AvatarParto:どこでもかまいません。名前をどこでも変更する限り、どちらでもかまいません
Janus Troelsen 2014

7

私はそれを行う小さなスクリプトを書きました:

スクリーンショット


脚本:

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

インストール:

実行:

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

スクリプトを~/binフォルダーにコピーします(なぜ〜/ binフォルダーですか?):

cp batteryfull.* ~/bin

または/usr/local/bin、コンピューター上のすべてのユーザーが使用できるようにするには、それをコピーします。

cp batteryfull.* /usr/local/bin

次に、batteryfull.shスクリプトをスタートアップアプリケーションとして追加します。

  • ダッシュを開く
  • スタートアップアプリケーションの検索
  • アイコンをダブルクリックします
  • クリックAddして次のように入力します。

    起動アプリケーションbatteryfull

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.