Я что не пойму...
У вас что, автомонтирование не работает?
как вы можете монтировать устройство из кода, если оно уже примонтировано при подключении?
Или вы ему делаете принудительно umount?
Работает, но этот код лишь маленький кусочек одной большой задачи. Но вызывает какие-то проблемы. Хотя, возможно, только в убунте.
У меня то флешка монтируется автоматом. Но при запуске программы идет проверка, если флешка примонтирована, то возвращается путь, если нет - монтируется. В первом случае - никаких проблем, во втором беда-беда в убунте. Естественно, для проверки, я ей сначала делаю umount. Там, где программа будет запускаться потом, такая ситуация возможна.
1. До монтирования:
/dev/sda1 / ext4 rw,errors=remount-ro,commit=0 0 0
2. После монтирования с помощью Mount в терминале:
/dev/sda1 / ext4 rw,errors=remount-ro,commit=0 0 0
/dev/sdd1 /media/Transcend vfat rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks 0 0
3. После выполнения кода:
на флешку можно зайти без проблем через /media/usb, но mtab:
/dev/sda1 / ext4 rw,errors=remount-ro,commit=0 0 0
при этом в /proc/mounts:
/dev/sdd1 /media/usb vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0