解决了MPD的一个问题(权限)
用xbindkeys为X设置快捷键

右键自动挂载ISO光盘镜像的脚本

獨立的圓 posted @ 2008年6月07日 19:41 in 软件安装_配置 with tags 内核 挂载 , 6242 阅读

 本站文章已轉移,敬請移步:http://www.xxb.me/ ,謝謝!

虽然起这个题目,但这篇文章重点不是这个脚本。

脚本在文末再给出。

自从升级到2.6.25内核后,就有一些小麻烦,不能再右键自动挂载虚拟光盘就是其中之一。

尝试手动挂载,命令如下:

$ sudo mount -t iso9660 -o loop,user xxx.iso /media/cdrom

结果输出如下错误提示:

mount: could not find any device /dev/loop#

可见不能挂载虚拟光驱的原因是新的内核在编译时把loop编译为模块,而且没有自动加载。

如果要手动加载loop,执行:

$ sudo modprobe loop

如果想开机自动加载loop模块,传统的做法是将其写入类似/etc/modules.conf的文件里,比如ubuntu是/etc/modules,对于archlinux用户,可以在/etc/rc.conf的MODULES段添加欲自动加载的模块。

最后附上右键自动挂载ISO虚拟光盘的脚本:

#!/bin/bash
 [ `whoami` == "root" ] || cmd="gksudo" ##不是root 就cmd=gksudo
count=0
dir="/media/cdrom$count" ##设置挂载点
uid=$2
while df|grep -q $dir 2>/dev/null  ##挂载点 是否使用了
do
echo $dir
let count=$count+1
dir="/media/cdrom$count"  ###新挂载点
done
echo $dir
###使用gksudo 是需要root 权限
if [ ! -d $dir ];then
$cmd "mkdir -p $dir"  ##创建挂载点
fi
if mount|grep $1;then
exit 0
fi
if [ -f $1 ] ;then
echo "$1 mount on $dir"
$cmd "mount -t iso9660 -o ro,loop,uid=$UID,utf8 $1 $dir" ###挂载
fi
for dir in /media/cdrom[1-9]*
do
$cmd "rmdir $dir" #####拿掉没用的目录
done

该脚本出自用于使用 鼠标右键 挂载iso的脚本!,应该只支持ISO格式的镜像,对于其它格式,可参考《光盘镜像的挂载》

使用方法:
1.把代码写入文件比如 :iso_mount
2 赋予执行权限: chmod +x iso_mount
3 右键点击iso镜像文件
单击右键->使用其它程序打开(A)->使用自定义命令(U)->浏览... ,找到刚才写的iso_mount

建议将该脚本放在~/.gnome2/nautilus-scripts下,就可以直接在“右键-脚本”里调用它了。

是不是很好用呢?简直可以被誉为“Linux下的虚拟光驱”^_^

Head_small
邱焜 说:
Jun 10, 2008 01:58:53 AM

对于archlinux用户,可以在/etc/modules的MODULES段

写错了,是rc.conf

Avatar_small
新蜂Linux 说:
Jun 10, 2008 05:15:29 AM

谢谢,已更正!:)

kopision 说:
Jul 18, 2008 11:15:52 PM

很好!收下了!感谢楼主!


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter