C ++,BBB,Debian:如何知道何时安装/插入USB驱动器

时间:2019-02-22 10:13:12

标签: c++ debian beagleboneblack usb-drive

说明:

我正在使用BeagleBone黑色开发一个“ kiosk”应用程序(使用wxWidgets,但是此问题/答案可能与wxWidgets相关,也可能不与wxWidgets相关),我需要知道何时插入(安装)USB驱动器?

我最想要的是捕捉一个“系统事件”,该事件告诉我的应用程序存在驱动器(或拇指驱动器),因此我可以对其进行一些自动化,但是我也可以检查一下在特定的瞬间(当用户在相关的UI页面中输入)驱动器。

BBB会检测何时插入USB,但没有挂载(除非我打开FileManager,然后我可以在 / media / debian / drivename 中看到驱动器文件夹),所以我不能只检查我的应用中的路径。

我在这里已经阅读了很多关于此的问题,但是对我来说似乎没有一个对的(或者我经验不足);例如,没有 / dev / ttyUSB 文件,或者我不知道如何使用 / dev / disk / by-id 中的链接。

我的问题:

我如何知道BBB何时插入USB驱动器?当我获得此信息时,如何安装它(如果需要?)

一些注意事项:

  • 如果通用解决方案更复杂,那么利用BBB只有一个USB端口这一事实我没有问题
  • 我将接受通用或特定于wxWidgets的解决方案

谢谢

编辑:

在@ 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”文件夹。 我的缺点是从未发生“删除事件”,因此该文件夹仍然存在。

我该怎么办?

0 个答案:

没有答案