Date: Thu, 07 Oct 2004 13:24:32 +0200 From: Franz Klammer <klammer@webonaut.com> To: FreeBSD GNOME Users <gnome@freebsd.org> Subject: gnome 2.8 Changes for FAQ: 19. How do I mount my removable media in Nautilus? Message-ID: <41652770.8040308@webonaut.com>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------040705040505040609020703 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit gnome 2.8 hase some changes in handling of usermounting removerable volumes and i think that should be added to the FAQ. 1. don't use mounting points that are symlinks if /home is a symlink to /usr/home it is important that in /etc/fstab is the real path entered e.g.: /dev/acd0 /usr/home/username/mnt/cdrom ... if someone mounting to /home/username/cdrom the directory/mountpoint will be changed to root:wheel _and_ the original (unmounted) icon is still to see in Place Computer (of course also the cd-rom icon) and when klicking on it nautlius claims that the device is bussy. 2. there are naming conventions of the mounting points: (relative to e.g.: /usr/home/username/mnt/) CD-ROMS => cdrom CD-RW => cdrw Memory Sticks => memstick and so on ... without that nautilus didn't work correctly. i had hours with trying and trubles until figured this out... :-( attached the gnomevfs-function where i found all the names. 3. (maybe) OT question: when i insert my memory stick the access right set for the device created by usbd (/dev/da0s1) don't allow access from a normal user. currently i helped my with a dirty trick: adding to /etc/devfs.conf: perm da0s1 0666 and to /etc/usbd.conf: device "MEGA" devname "umass0" attach "/bin/sleep 5; /etc/rc.d/devfs restart" if there is a (which i'm sure there is) a good solution that should also be added to the FAQ. here to see how it looks like two screenshots of "Computer": http://webonaut.com/temp/unmounted.png http://webonaut.com/temp/mounted.png franz. --------------040705040505040609020703 Content-Type: text/plain; name="GnomeVFSDeviceType.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="GnomeVFSDeviceType.txt" static GnomeVFSDeviceType get_device_type_from_device_and_mount (const char *device_path, const char *mount_path) { const char *name; char *basename; if (g_str_has_prefix (device_path, "/dev/loop")) { return GNOME_VFS_DEVICE_TYPE_LOOPBACK; } else if (g_str_has_prefix (device_path, "/dev/vn")) { return GNOME_VFS_DEVICE_TYPE_LOOPBACK; } else if (g_str_has_prefix (device_path, "/vol/dev/diskette/") || g_str_has_prefix (device_path, "/dev/fd") || g_str_has_prefix (device_path, "/dev/floppy")) { return GNOME_VFS_DEVICE_TYPE_FLOPPY; } else if (g_str_has_prefix (device_path, "/dev/cdrom")) { return GNOME_VFS_DEVICE_TYPE_CDROM; } else if (g_str_has_prefix (device_path, "/dev/acd")) { return GNOME_VFS_DEVICE_TYPE_CDROM; } else if (g_str_has_prefix (device_path, "/dev/cd")) { return GNOME_VFS_DEVICE_TYPE_CDROM; } else if (g_str_has_prefix (device_path, "/vol/")) { name = mount_path + strlen ("/"); if (g_str_has_prefix (name, "cdrom")) { return GNOME_VFS_DEVICE_TYPE_CDROM; } else if (g_str_has_prefix (name, "floppy")) { return GNOME_VFS_DEVICE_TYPE_FLOPPY; } else if (g_str_has_prefix (device_path, "/vol/dev/diskette/")) { return GNOME_VFS_DEVICE_TYPE_FLOPPY; } else if (g_str_has_prefix (name, "rmdisk")) { return GNOME_VFS_DEVICE_TYPE_ZIP; } else if (g_str_has_prefix (name, "jaz")) { return GNOME_VFS_DEVICE_TYPE_JAZ; } else if (g_str_has_prefix (name, "camera")) { return GNOME_VFS_DEVICE_TYPE_CAMERA; } else if (g_str_has_prefix (name, "memstick")) { return GNOME_VFS_DEVICE_TYPE_MEMORY_STICK; } } else { basename = g_path_get_basename (mount_path); if (g_str_has_prefix (basename, "cdrom") || g_str_has_prefix (basename, "cdwriter") || g_str_has_prefix (basename, "burn") || g_str_has_prefix (basename, "cdr") || g_str_has_prefix (basename, "cdrw") || g_str_has_prefix (basename, "dvdrom") || g_str_has_prefix (basename, "dvdram") || g_str_has_prefix (basename, "dvdr") || g_str_has_prefix (basename, "dvdrw") || g_str_has_prefix (basename, "cdrom_dvdrom") || g_str_has_prefix (basename, "cdrom_dvdram") || g_str_has_prefix (basename, "cdrom_dvdr") || g_str_has_prefix (basename, "cdrom_dvdrw") || g_str_has_prefix (basename, "cdr_dvdrom") || g_str_has_prefix (basename, "cdr_dvdram") || g_str_has_prefix (basename, "cdr_dvdr") || g_str_has_prefix (basename, "cdr_dvdrw") || g_str_has_prefix (basename, "cdrw_dvdrom") || g_str_has_prefix (basename, "cdrw_dvdram") || g_str_has_prefix (basename, "cdrw_dvdr") || g_str_has_prefix (basename, "cdrw_dvdrw")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_CDROM; } else if (g_str_has_prefix (basename, "floppy")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_FLOPPY; } else if (g_str_has_prefix (basename, "zip")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_ZIP; } else if (g_str_has_prefix (basename, "jaz")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_JAZ; } else if (g_str_has_prefix (basename, "camera")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_CAMERA; } else if (g_str_has_prefix (basename, "memstick") || g_str_has_prefix (basename, "compact_flash") || g_str_has_prefix (basename, "memory_stick") || g_str_has_prefix (basename, "smart_media") || g_str_has_prefix (basename, "sd_mmc") || g_str_has_prefix (basename, "ram")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_MEMORY_STICK; } else if (g_str_has_prefix (basename, "ipod")) { g_free (basename); return GNOME_VFS_DEVICE_TYPE_MUSIC_PLAYER; } g_free (basename); } return GNOME_VFS_DEVICE_TYPE_HARDDRIVE; } --------------040705040505040609020703--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41652770.8040308>