gio执行慢的临时解决办法

1 方案总体思路

gio mount -d /dev/sdx /media/${HOME}/xxx命令执行时间长,sudo mount /dev/sdx /media/${HOME}/xxx命令执行时间短,临时的解决办法是把gio替换成mount,但mount需要root权限,可以让sudo组的用户不需要输入密码。

2 sudo不需要密码

/etc/sudoers中将%sudo ALL=(ALL:ALL) ALL修改成%sudo ALL=(ALL:ALL) NOPASSWD: ALL,使sudo组的用户执行sudo命令时不需要密码。

3 gio替换成sudo mount

重命名原始的gio文件:

sudo mv /usr/bin/gio /usr/bin/gio-origin

新建/usr/bin/gio脚本:

ORIGIN_OPTIONS=$@ # 全部的参数

if [ $1 = "mount" ]
then
        shift 2 # 跳过前2个参数
        OPTIONS="$@"
        sudo mount $OPTIONS
        # echo "过滤后的参数 OPTIONS: $OPTIONS"
else
        gio-origin $ORIGIN_OPTIONS
        # echo "不过滤的参数 ORIGIN_OPTIONS: $ORIGIN_OPTIONS"
fi

/usr/bin/gio脚本可执行:

sudo chmod 777 /usr/bin/gio

4 umount替换成sudo umount

重命名原始的umount文件:

sudo mv /usr/bin/umount /usr/bin/umount-origin

新建/usr/bin/umount脚本:

sudo umount-origin $@

/usr/bin/umount脚本可执行:

sudo chmod 777 /usr/bin/umount