시작하기 위해 간단한 init.d 스크립트를 작성했습니다.하드웨어 모니터링 스크립트. 잘 작동하지만 alsa 오디오 서비스에 액세스할 수 없습니다.
#! /bin/sh
SCRIPT_PATH="/d/SharedPrograms/hwleds.py"
case $1 in
start)
say "starting service hwleds..."
python $SCRIPT_PATH &
exit $?
;;
stop)
pkill -f "python $SCRIPT_PATH"
exit $?
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 1
say
명령과 Python 스크립트에서 발생하는 오류는 다음과 같습니다.
audio_open_alsa: failed to open audio device default. Operation not permitted
편집: Python 스크립트가 대화형 셸을 통해 루트 사용자에 의해 정상적으로 시작된 경우 시작 프로세스 중에 서비스로 시작된 경우에만 alsa에 액세스할 수 있습니다 service hwleds start
.
내 실제 상황 /root/.asoundrc
:
defaults.pcm.card 0
defaults.pcm.device 3
ctl.equal {
type equal;
}
pcm.plugequal {
type equal;
# Modify the line below if you don't
# want to use sound card 0.
slave.pcm "plughw:0,3";
# or if you want to use with multiple applications output to dmix
# slave.pcm "plug:dmix"
}
#pcm.equal {
# Or if you want the equalizer to be your
# default soundcard uncomment the following
# line and comment the above line.
pcm.!default {
type plug;
slave.pcm plugequal;
}
답변1
Volumio에서도 같은 문제가 있습니다. 삭제하여 .alsaequal.bin
해결되었습니다 ./var/lib/mpd/