Strona 1 z 1

[+]dźwiękowy alert o niskim stanie baterii

: 13 listopada 2017, 20:38
autor: koper97
Witam, brakowało mi w Debianie dźwiękowego sygnału o niskim stanie baterii.
Po krótkich poszukiwaniach w internecie, małych przeróbkach powstało coś takiego:

Kod: Zaznacz cały

#!/bin/bash

if [ `acpi -b | awk ' { print ($3)}'`  == "Discharging," ] ; then

	if [ `acpi -b | awk ' { print ($4)-0}'`  -le "20" ] ; then
		/usr/bin/mpg123 /home/xxx/Muzyka/Low_Battery.mp3
	fi

fi
powyższy skrypt wykonywany jest co 5 minut za pomocą crontab:

Kod: Zaznacz cały

*/5 * * * * /home/xxx/battery_alert.sh
skrypt działa poprawnie, gdy stan bateri jest poniżej 20% i laptop jest
odłączony od zasilacza, uruchamiany jest plik low_battery.p3
Problem pojawia się gdy na komputerze uruchomiony jest jakiś program
odtwarzający dźwięk (VLC player, audacious), wtedy nie słychać dżwięku alarmu.

Czy da się to jakoś sensownie rozwiązać?

Re: dźwiękowy alert o niskim stanie baterii

: 14 listopada 2017, 10:13
autor: dedito
A co obsługuje dźwięk?

Re: dźwiękowy alert o niskim stanie baterii

: 14 listopada 2017, 19:46
autor: koper97

Kod: Zaznacz cały

cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x90910000 irq 91

Kod: Zaznacz cały

cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version k4.9.0-4-amd64.

Kod: Zaznacz cały

dpkg -l | grep alsa
ii  alsa-base         1.0.27+1           all          dummy package to ease purging of obsolete conffiles
ii  alsa-utils                  1.1.3-1             amd64        Utilities for configuring and using ALSA
ii  libsox-fmt-alsa:amd64          14.4.1-5+b2          amd64        SoX alsa format I/O library

Kod: Zaznacz cały

dpkg -l | grep pulse
ii  gstreamer1.0-pulseaudio:amd64         1.10.4-1      amd64        GStreamer plugin for PulseAudio
ii  libcanberra-pulse:amd64               0.30-3              amd64        PulseAudio backend for libcanberra
ii  libpulse-mainloop-glib0:amd64         10.0-1+deb9u1  amd64     PulseAudio client libraries (glib support)
ii  libpulse0:amd64               10.0-1+deb9u1               amd64        PulseAudio client libraries
ii  libpulse0:i386                        10.0-1+deb9u1          i386         PulseAudio client libraries
ii  libpulsedsp:amd64                     10.0-1+deb9u1     amd64        PulseAudio OSS pre-load library
ii  pulseaudio                            10.0-1+deb9u1          amd64        PulseAudio sound server
ii  pulseaudio-module-bluetooth           10.0-1+deb9u1   amd64        Bluetooth module for PulseAudio sound server
ii  pulseaudio-module-gconf        10.0-1+deb9u1  amd64        GConf module for PulseAudio sound server
ii  pulseaudio-utils          10.0-1+deb9u1 amd64        Command line tools for the PulseAudio sound server
znalazłem rozwiązanie gdzieś na anglojęzycznym forum, może się komuś przyda

"PulseAudio needs XDG_RUNTIME_DIR"

kod po zmianach:

Kod: Zaznacz cały

#!/bin/bash

if [ `acpi -b | awk ' { print ($3)}'`  == "Discharging," ] ; then

	if [ `acpi -b | awk ' { print ($4)-0}'`  -le "20" ] ; then
		#pactl set-sink-volume 0 80% && pactl set-sink-mute 0 0 && 
		#/usr/bin/mpg123 /home/xxx/Muzyka/Low_Battery.mp3
		XDG_RUNTIME_DIR=/run/user/`id -u` /usr/bin/mpg123 /home/xxx/Muzyka/Low_Battery.mp3
	fi

fi

Re: dźwiękowy alert o niskim stanie baterii

: 22 listopada 2017, 21:08
autor: dedito
Jeśli problem rozwiązany, proszę oznaczyć wątek.