LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1004|回复: 4

编程中遇到的2个问题,希望得到指点

[复制链接]
发表于 2010-3-31 15:40:17 | 显示全部楼层 |阅读模式
1. 如何获得USB设备插入,拔除的通知?我的程序是对特定的USB磁盘进行处理,需要在USB设备插入,拔除时搜索设备是否连接。

2. Linux中,USB磁盘连接后,会自动挂载并且*出文件管理器打开U盘,我想知道如果不让文件管理器自动打开指定的U盘。就是说,在特定的USB磁盘连接后,系统会自动挂载磁盘,但是不会自动打开它。

请大家指点一下,现在不知道怎么做。
发表于 2010-3-31 16:54:17 | 显示全部楼层
现在流行采用HALD以及DBUSD。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-31 23:08:05 | 显示全部楼层
谢谢楼上的回答了。

搜索了一下,明天试试接受netlink消息来解决第一个问题。

第二个问题是,希望在特定的USB移动磁盘在挂载后,能够不在桌面上出现图标,并且也不会自动浏览。
查了下可以通过gconf-editor配置编辑器来取消桌面挂载磁盘的图标,但是修改后,所有的可移动磁盘图标都不会出现在桌面上了,不知道有没有办法只隐藏特定的磁盘图标? 我知道该磁盘的dev路径和mount路径。
在“可移动驱动器和介质的首选项”设置里面可以取消“插入时浏览可移动介质”来避免自动浏览。但问题同样是如何针对特定磁盘做设置?
另外如何通过自己的程序来修改上面的两个设置呢?

希望大虾能够指点。
回复 支持 反对

使用道具 举报

发表于 2010-4-1 19:45:08 | 显示全部楼层
你是要在应用层来获知usb的插入状态吗?可以使用系统调用方式。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-4-2 11:25:59 | 显示全部楼层
第1个问题已经解决,通过netlink socket接收消息,判断是否有新的USB disk连接。

第2个问题现在还是没有什么头绪。需要在新的USB disk连接后,通过PID/VID判断它是需要处理的disk后,就不自动打开窗口浏览它,并且也不会在桌面上显示它的图标。其它的disk仍正常处理。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表