когда у тебя в трее два значка, запуск puppybt делается в каком формате?
/lib/udev/rules.d/97-bluetooth.rules:
ACTION=="add", KERNEL=="rfkill?", ATTR{type}=="bluetooth", RUN+="bluez.sh %s{name} %k"
Где %s{name} это hci? , а %k это rfkill? .
/lib/udev/bluez.sh строка 8:
bluez-tray.c строки 334 - 339:
cmd[0]=0;
strcat(cmd,"/usr/bin/puppybt ");
strcat(cmd,argv[1]);
strcat(cmd," ");
strcat(cmd,argv[2]);
strcat(cmd," &");
Где argv[1] это hci? и argv[2] это rfkill? переданные от udev через bluez.sh на bluez-tray. В результате получаем команду типа:
/usr/bin/puppybt hci1 rfkill2 &
для второго bt-адаптера.
Ты же спешишь сразу запустить bluetoothd, который нужен только для трансляции команд через dbus.