Welcome, anonymous (IP: 54.225.41.203). Sign in
Blog

Оповещение о состоянии аккумулятора ноутбука
Скрипт использует несколько уровней состояния заряда аккумулятора и различные звуковые сигналы, а оповещение совершается на полной громкости один раз в минуту. При совсем низком заряде скрипт безопасно завершает работу и выключает компьютер, во избежание потери данных.

При состоянии заряда аккумулятора ноутбука менее чем 42% 37% 23% используется только звуковой сигнал, при менее 16% скрипт завершает работу системы. При подключении зарядного устройства будет так же отдельное оповещение.
#!/bin/bash

play() {
  local vol=$(amixer get Master | awk -F "[][]" '/dB/ { print $2 }')
  amixer set Master "100%"
  aplay -q "$@"
  amixer set Master "$vol"
}

main() {
  while sleep 60; do

    if [ "$(< /sys/class/power_supply/BAT0/status)" = "Charging" ]; then
      if [ "$energy" ]; then
        play "/media/EVE Online - Cargo Warning.wav"
        unset energy
      fi
      continue
    fi

    if [ "$(< /sys/class/power_supply/BAT0/status)" = "Discharging" ]; then
      local energy=$(< /sys/class/power_supply/BAT0/capacity)
      echo "* BATTERY: $energy"
      if [ "$energy" -lt "23" ]; then
        play "/media/EVE Online - Structure Warning.wav"
        if [ "$energy" -lt "16" ]; then
          poweroff
        fi
      elif [ "$energy" -lt "37" ]; then
        play "/media/EVE Online - Armor Warning.wav"
      elif [ "$energy" -lt "42" ]; then
        play "/media/EVE Online - Shield Warning.wav"
      fi
    fi

  done
}

if [ -a "/var/lock/energy.lock" ]; then
  echo "* WARNING: /var/lock/energy.lock"
  exit
fi
touch /var/lock/energy.lock
trap "rm /var/lock/energy.lock" SIGINT SIGTERM

main "$@"

rm /var/lock/energy.lock


EVE Online - Cargo Warning.wav (0.1M)

EVE Online - Shield Warning.wav (0.3M)

EVE Online - Armor Warning.wav (0.3M)

EVE Online - Structure Warning.wav (0.3M)


Скрипт желательно поместить в автозагрузку, запускать необходимо в «фоне» используя &.
# sh ~/energy.sh >/dev/null &

Author: Spoofing , @ , WWW
Published on: 2015-05-08 09:43:01
Views: 918
Comments: 1
Comments
Write a Comment:
 (Your comment will appear after it is approved)
 (Not over than 9000 characters)

anonymous
2015-06-23 17:47:41
Если делать две такие оповещалки для разных событий (например, батарея и будильник), громкость останется на 100%.
Copyright © Spoofing. All rights reserved.