sly*_*oty 6 udev bluetooth linux-mint
我正在尝试在连接某个蓝牙设备后立即自动运行脚本。为此,我尝试创建一个新的 UDEV 规则。我遇到的问题是我的规则在建立连接时没有执行。
截至目前,我的规则仅包含设备的 MAC 地址。
ACTION=="add", SUBSYSTEM=="bluetooth", ATTRS{address}=="a0:b1:c2:e3:f4:56", RUN+="/home/myhome/my_script"
Run Code Online (Sandbox Code Playgroud)
如何找到更多设备详细信息以将其添加到规则中?
当设备连接时,我可以看到以下 UDEV 事件:
$ udevadm monitor
UDEV [7704849.324977] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7/2-1.7:1.0/bluetooth/hci0/hci0:12 (bluetooth)
Run Code Online (Sandbox Code Playgroud)
上述事件中是否有我可以利用的任何信息?
我将规则放在两个 UDEV 规则位置/etc/udev/rules.d/
和/lib/udev/rules.d/
,但它仍然没有运行。我在 Linux Mint 系统上。
该规则与目录中的所有其他规则具有相同的权限:
-rw-r--r-- 1 root root 369 Oct 17 13:07 50-my_bluetooth_rule.rules
Run Code Online (Sandbox Code Playgroud)
我还尝试了 50 到 90 之间的规则编号。仍然没有成功。
用于sudo tail -f /var/log/syslog
获取idVendor
并idProduct
写入 udev 规则,如下/etc/udev/rules.d/50-my_bluetooth_rule.rules
所示:
ACTION=="add" , SUBSYSTEM=="usb", ATTR{idVendor}=="xxx", ATTR{idProduct}=="yyy", RUN+="/home/myhome/my_script"
Run Code Online (Sandbox Code Playgroud)
跑步:
sudo service udev restart
sudo tail -f /var/log/syslog
Run Code Online (Sandbox Code Playgroud)
重新连接您的蓝牙设备。您可以logger
在 bash 脚本中使用将消息写入syslog
.
归档时间: |
|
查看次数: |
4371 次 |
最近记录: |