Hallo Leute,
ich hab mir eine eigene udev-Regel erstellt, die bei einer Bluetooth-Verbindung ein Skript aufrufen soll. Das Skript wird soweit aufgerufen und ausgeführt, aber drei Befehle werden einfach nicht beachtet. Wenn ich diese manuell ausführe funktionieren sie aber einwandfrei, nur nicht von diesem Skript aus. Könnt ihr mir da weiterhelfen, wie ich das zum Laufen bekomme?
Meine Regel eingefügt in /etc/udev/rules.d/99-input.rules:
SUBSYSTEM=="input",GROUP="input",MODE="0660"
KERNEL=="input[0-9]*",RUN+="/home/pi/projects/bluetooth/bluetooth_music.sh"
Das Skript sieht so aus:
#!/bin/bash
echo "verbunden" >> /home/pi/projects/bluetooth/status.txt
ACTION=$(expr "$ACTION" : "\([a-zA-Z]\+\).*")
if [ "$ACTION" = "add" ]
then
echo "add" >> /home/pi/projects/bluetooth/status.txt
bluetoothSource=$(pactl list sources short | grep bluez_source) # wird nicht ausgeführt
source=${bluetoothSource:2:30} # wird nicht ausgeführt
pactl load-module module-loopback source=$source sink=alsa_output.usb-0d8c_Generic_USB_Audio_Device-00-Device.analog-stereo # wird nicht ausgeführt
sudo hciconfig hci0 noscan
fi
if [ "$ACTION" = "remove" ]
then
echo "remove" >> /home/pi/projects/bluetooth/status.txt
sudo hciconfig hci0 piscan
fi
Alles anzeigen
----------- EDIT ------------
Ich habe die Befehle auch schon in einem anderen Skript ausgeführt und da funktionieren sie auch. Wenn ich dieses Skript von dem oben gepostetem Skript ausführe klappt es auch wieder nicht. Das Problem liegt also wirklich an dem Aufruf durch die udev-Regel denke ich, aber so wirklich weiter bringt mich das auch nicht. :s
Vielen Dank schonmal für eure Hilfe!