我正在使用BeagleBone黑色开发一个“ kiosk”应用程序(使用wxWidgets,但是此问题/答案可能与wxWidgets相关,也可能不与wxWidgets相关),我需要知道何时插入(安装)USB驱动器?
我最想要的是捕捉一个“系统事件”,该事件告诉我的应用程序存在驱动器(或拇指驱动器),因此我可以对其进行一些自动化,但是我也可以检查一下在特定的瞬间(当用户在相关的UI页面中输入)驱动器。
BBB会检测何时插入USB,但没有挂载(除非我打开FileManager,然后我可以在 / media / debian / drivename 中看到驱动器文件夹),所以我不能只检查我的应用中的路径。
我在这里已经阅读了很多关于此的问题,但是对我来说似乎没有一个对的(或者我经验不足);例如,没有 / dev / ttyUSB 文件,或者我不知道如何使用 / dev / disk / by-id 中的链接。
我如何知道BBB何时插入USB驱动器?当我获得此信息时,如何安装它(如果需要?)
谢谢
在@ markus-nm注释和该链接之后,我最终得到以下工作规则:
ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/usr/bin/pmount --sync --umask 000 --noatime %k"
ACTION=="remove", KERNEL=="sd[a-z]*", RUN+="/usr/bin/pumount %k"
它可以工作(我在/ media /中有一个“ sda1”文件夹),但这并不完美: 如果在USB驱动器插入的状态下关闭系统,则卸下驱动器,然后 打开电源后,仍然存在“ sda1”文件夹。 我的缺点是从未发生“删除事件”,因此该文件夹仍然存在。
我该怎么办?