Ubuntu 18.04を使用しています。クリーンインストールを行いましたが、すべてがすばらしく安定していますが、フルスクリーンモードで緊急の通知を見ることができません(Google ChromeのYouTubeビデオ、MPVの映画、Totem、VLCなど)。 --urgency-critical
と-u critical
を使用してみましたが、Xボタンをクリックして削除する必要があるため、通常の使用で動作しているのがわかりましたが、このコマンドは17.10。 Gnome Shellのバグなのか、何か新しいことをしなければならないのかわかりません。バッテリーが少なくなったという通知が表示されず、映画を見るたびにラップトップの電源が切れるので、本当に迷惑です。私は本当に、快適ではなく、自分自身をコントロールしなければなりません。誰かが回避策または何かを知っていますか?
はい、これは非常に迷惑です。回避策として、 zenity
のwarning
ダイアログボックスを使用します。フルスクリーンアプリケーションよりもポップアップするという利点があります。
zenity --warning --text='Battery Low' --no-wrap
スクリプトを使用してプログラムで現在のバッテリーパーセンテージを取得するのは非常に簡単ですが、システムやメーカーのばらつきのため、少しの調査が必要になります。 here から開始します。
スクリプトのセットアップは次のとおりです。
これはbatteryLevel.shです:
#!/bin/bash
upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep percentage | sed -r 's/[^0-9]*([0-9]+).*/\1/'
これはbatteryStatus.shです:
#!/bin/bash
upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep state | sed -r 's/.*\:\ +(.*)/\1/'
最後に、これはbatteryInfoNotify.shです。
#!/bin/bash
upperThreshold=99
lowerThreshold=20
echo upperThreshold=$upperThreshold
echo lowerThreshold=$lowerThreshold
zenity --info --text='Battery level monitoring started...' --no-wrap 2>&1 >/dev/null
while [[ true ]]; do
status=$(~/Scripts/batteryStatus.sh)
level=$(~/Scripts/batteryLevel.sh)
msg="Battery Level now is $level%"
echo "Battery $level% and $status"
case $status in
charging | fully-charged)
if [[ $level -gt $upperThreshold ]]; then
echo 'Upper threshold crossed...'
zenity --warning --text="$msg" --no-wrap --timeout=8 >/dev/null 2>&1
espeak -v en+m7 -p 60 "$msg"
fi
;;
discharging)
if [[ $level -lt $lowerThreshold ]]; then
echo 'Lower threshold crossed...'
zenity --warning --text="$msg" --no-wrap --timeout=8 >/dev/null 2>&1
espeak -v en+m7 -p 60 "$msg"
fi
;;
*)
echo unexpected battery status
;;
esac
sleep 30s
done
これらはすべて~/Scripts
にあり、batteryInfoNotify.sh
で設定しているため、セッション開始時に毎回GNOME Startup Appications
が呼び出されます。