分页: 1 / 3
用于使用 鼠标右键 挂载iso的脚本!
发表于 : 2007-06-06 20:07
由 wkt
由于,我需要挂载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
使用方法:
1.把代码写入文件比如 :iso_mount
2 赋予执行权限: chmod +x iso_mount
3 鼠标移动到iso 镜像文件上
单击右键->使用其它程序打开(A)->使用自定义命令(U)->浏览...
找到刚才写的iso_mount
就ok了!
以后,双击就行了!
发表于 : 2007-06-06 20:43
由 thword
如果是用gnome的话,也可以放在~/.gnome2/nautilus-scripts/下面,就可以通过右键->脚本-> iso_mount来使用了。
发表于 : 2007-06-06 21:22
由 wkt
thword 写了:如果是用gnome的话,也可以放在~/.gnome2/nautilus-scripts/下面,就可以通过右键->脚本-> iso_mount来使用了。
这个我不知道!
多谢指点!
发表于 : 2007-06-06 21:24
由 skyx
另外:
源中有一个图形界面的工具,专挂iso, 可是名字我忘记了,楼主可以看下这个软件的源码,完善下说不定更好。
发表于 : 2007-06-06 21:41
由 wkt
skyx 写了:另外:
源中有一个图形界面的工具,专挂iso, 可是名字我忘记了,楼主可以看下这个软件的源码,完善下说不定更好。
我觉得我的这个对我够用了!
源中的麻?
我想很可能是python写的
我不知道python能做什么
而且复杂得令人受不了
我没有好好看过python的书
所以,源中我就不看了.
我又不是什么高手?
自己写小东西还可以
看别人的高深代码--不敢啊!
发表于 : 2007-06-06 21:46
由 thword
呵呵,既然写了个挂载的,那就再写一个卸载的好了。
发表于 : 2007-06-06 22:33
由 wkt
thword 写了:呵呵,既然写了个挂载的,那就再写一个卸载的好了。
这个系统不是自带了吗?
我再写那不是无聊?
我写挂载的是因为系统不自带!
发表于 : 2007-06-12 0:33
由 lert
thword 写了:如果是用gnome的话,也可以放在~/.gnome2/nautilus-scripts/下面,就可以通过右键->脚本-> iso_mount来使用了。
不过,要注意:nautilus是通过环境变量来传递路径的。
发表于 : 2007-06-13 12:16
由 yiencai
卸载不了啊
发表于 : 2007-06-26 9:57
由 wkt
yiencai 写了:卸载不了啊
这个我也知道!
不过我不清楚系统的卸载方法---我就没法子了!
当然写一个简单的脚本也可以 ,
我就是不知道如何让它在桌面的那个图标的右键上出现!
如果这个可以就ok了!
发表于 : 2007-09-29 3:47
由 thomsi
Gmountiso也是脚本,不过使用还不够方便,一定要手动指定挂载点,最好是直接在右键菜单中挂载,挂载点为与ISO文件同名的目录,也就是在挂载前先生成一个同名目录再挂载,卸载后销毁目录,这样挂载多个不会出现不记得哪是哪了,呵呵。
我刚接触这个,不知道如何从参数中获得ISO文件的文件名,如果能获取,稍微修改Gmountiso就能实现上面的效果,
或者哪位大虾能教我如何从 “/media/hda2/123.iso” 中获取“123.iso”这个名称,谢谢!
发表于 : 2007-09-30 20:40
由 wkt
thomsi 写了:Gmountiso也是脚本,不过使用还不够方便,一定要手动指定挂载点,最好是直接在右键菜单中挂载,挂载点为与ISO文件同名的目录,也就是在挂载前先生成一个同名目录再挂载,卸载后销毁目录,这样挂载多个不会出现不记得哪是哪了,呵呵。
我刚接触这个,不知道如何从参数中获得ISO文件的文件名,如果能获取,稍微修改Gmountiso就能实现上面的效果,
或者哪位大虾能教我如何从 “/media/hda2/123.iso” 中获取“123.iso”这个名称,谢谢!
你改一下脚本就可以了
name=`basename /media/hda2/123.iso`
echo $name
看看
Re: 用于使用 鼠标右键 挂载iso的脚本!
发表于 : 2007-11-13 14:07
由 fortruth
对lz 的iso_mount稍微修改了一下,用在kubuntu下,使用kdesudo 和 konqueror
----------------
代码: 全选
#!/bin/bash
###作者:wkt@ubuntu.org.cn
###修改者:fortruth@ubuntu.org.cn
###修改内容:修改内容主要针对KDE 环境
###1.调用kde下的sudo 前端kdesudo
###2.挂载上后用konqueror打开文件夹
[ `whoami` == "root" ] || cmd="kdesudo" ##不是root 就cmd=kdesudo
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
###使用kdesudo 是需要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" ###挂载
kfmclient openURL $dir ##在kde下用konqueror打开挂载的iso目录
fi
for dir in /media/cdrom[1-9]*
do
$cmd "rmdir $dir" #####拿掉没用的目录
done
有没有人再加一加,使其能在kde 和 gnome 下,(nautilus,konqueror)能够通用,
发表于 : 2007-11-16 22:46
由 wkt
既然有人有兴趣我也更新一下:
代码: 全选
#!/bin/bash
cmd="sh -c"
if [ "x$1" == "x" ];then
exit 1
fi
if [ "x`basename $0`" == "xiso_umount" ];then ##通过文件名来办断,是挂载还是卸载.
if mount|grep -q $1 2>/dev/null ;then
gksudo "umount $1"
fi
exit 0
fi
if [ ! -f $1 ] ;then
exit 2
fi
if mount|grep $1;then
exit 0
fi
lockfile-create /tmp/iso_mount
lockfile-touch /tmp/iso_mount&
echo $! >/tmp/iso_mount
[ `whoami` == "root" ] || {
if ps aux|grep -v grep |grep -q gnome-pty-helper ;then
cmd="gksudo" ##不是root 就cmd=gksudo
else
cmd="kdesudo" ##不是gnome,就是kde.
fi
}
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 [ -f $1 ] ;then
echo "$1 mount on $dir"
$cmd "mount -t iso9660,udf -o ro,loop,uid=$UID,iocharset=cp936,utf8 $1 $dir" ###挂载
fi
lockfile-remove /tmp/iso_mount
for dir in /media/cdrom[1-9]*
do
$cmd "rmdir $dir" 2>/dev/null #####拿掉没用的目录
done
保存为iso_mount
然后
ln -sf iso_mount iso_umount
就可用了:
发表于 : 2007-11-30 22:12
由 lyhic
楼主把人养懒了哦!