LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: zoro5722

很多发行版可以在usb等设备插入时自动mount,并在桌面生成图标。这个功能在gentoo中怎

[复制链接]
发表于 2010-3-11 20:35:44 | 显示全部楼层
使用udev,我的配置文件/etc/udev/rules.d/10-usbdisk.rules :
KERNEL=="sd[b-z]", SYMLINK+="usb%m", GROUP="users", OPTIONS="last_rule"
ACTION=="add", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb%n", GROUP="users""
ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/%k"
ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/sbin/blkid -o udev -s TYPE %N", RESULT=="ID_FS_TYPE=vfat", RUN+="/bin/mount -o iocharset=utf8,codepage=936,sync,uid=1000,gid=100 /dev/%k /mnt/%k"
ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/sbin/blkid -o udev -s TYPE %N", RESULT=="ID_FS_TYPE=ntfs", RUN+="/usr/bin/ntfsmount -o locale=zh_CN.UTF-8,force,sync,dirsync,noexec,nodev /dev/%k /mnt/%k"
ACTION=="add", KERNEL=="sd[b-z][0-9], RUN+="/usr/local/bin/rox-usb /mnt/%k", OPTIONS="last_rule"
ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/%k"
ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-11 22:59:37 | 显示全部楼层
google了半天,找到如下的内容:


  1. 热插拔会发生很多事情,HAL只是其中一部分。当一个新设备被加入,例如插入一个U盘,会发生以下事情(粗略的):

  2. ■内核获知此新设备并将其注册到/sys.
  3. ■Udev创建一个设备节点(如/dev/sdb1),然后加载必需的驱动/模块。
  4. ■HAL守护进程接到D-Bus的通知,将设备及其相关信息加入到数据库。
  5. ■HAL通过D-Bus将新设备的加入这件事广播给所有订阅程序,如Thunar对此将在快捷边栏上显示图标,或者Metacity/Nautilus对此会在桌面添加一个图标。
  6. ■可能还有其它监听程序,如卷管理器或者 AutoFS,它被配置为自动创建挂载点并挂载某些类型的驱动器, 当iPod插入时启动Rhythmbox ,等等。
复制代码


我现在的情况是 emerge了这些:

xfce4-meta
nautilus

thunar装了,thunar-volman没装

那么,xfce4下,在桌面上创建u盘图标是哪个程序干的? xfdesktop? thunar?还是Nautilus? 感觉xfdesktop最有可能了

那么,是不是双击那个图标才做mount?那么mount动作谁做的呢? 开启的文件管理器是 thunar,thunar做的?可我没装 thunar-volman 啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-11 23:07:35 | 显示全部楼层
Post by chengliye;2074747
使用udev,我的配置文件/etc/udev/rules.d/10-usbdisk.rules :
KERNEL=="sd[b-z]", SYMLINK+="usb%m", GROUP="users", OPTIONS="last_rule"
ACTION=="add", KERNEL=="sd[b-z][0-9]", SYMLINK+="usb%n", GROUP="users""
ACTION=="add", KERNEL=="sd[b-z][0-9]", RUN+="/bin/mkdir -p /mnt/%k"
ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/sbin/blkid -o udev -s TYPE %N", RESULT=="ID_FS_TYPE=vfat", RUN+="/bin/mount -o iocharset=utf8,codepage=936,sync,uid=1000,gid=100 /dev/%k /mnt/%k"
ACTION=="add", KERNEL=="sd[b-z][0-9]", PROGRAM=="/sbin/blkid -o udev -s TYPE %N", RESULT=="ID_FS_TYPE=ntfs", RUN+="/usr/bin/ntfsmount -o locale=zh_CN.UTF-8,force,sync,dirsync,noexec,nodev /dev/%k /mnt/%k"
ACTION=="add", KERNEL=="sd[b-z][0-9], RUN+="/usr/local/bin/rox-usb /mnt/%k", OPTIONS="last_rule"
ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/umount -l /mnt/%k"
ACTION=="remove", KERNEL=="sd[b-z][0-9]", RUN+="/bin/rmdir /mnt/%k", OPTIONS="last_rule"


明天尝试一下,不晓得通过这种办法能不能生成桌面的U盘图标,而且当前用户能读写,右击图标提供umount操作呢?
回复 支持 反对

使用道具 举报

发表于 2010-3-13 21:06:55 | 显示全部楼层
gnome下可以安装gnome-volume-manager这个,但是我的u盘的可以显示图标 打开里面是乱码,codepage要到内核里设置吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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