Ubuntu 14.04安装迅雷Xware过程笔记(2)

电脑上使用迅雷肯定希望直接下载到硬盘上啊。那么我们可以使用mount --bind来将一个文件夹挂载到/media下,这样迅雷就可以下载了。对,没错,一切都OK。可是又有一个问题,假如我正在下载,突然要用到U盘。接到电脑上,迅雷二话不说,直接在U盘上创建两个文件夹,这让我情何以堪。要让迅雷忽略我的U盘,没有别的办法,只有取消迅雷在U盘上的写权限。但是U盘我还要往里面拷东西啊。所以我们只好给迅雷创建一个用户,然后用这个用户运行迅雷。这样,迅雷在我的U盘上就没有写权限了。

先创建一个叫thunder的用户

sudo useradd --no-create-home --user-group thunder

然后把xware的目录改为thunder所有,这样thunder才有权限运行xware(直接通过sudo给权限也行)

su chown thunder:thunder -R Xware1.0.31

再创建一个用来挂载的目录和一个下载的目录,这些目录也归thunder所有,不然它没权限写,怎么行。而这个下载目录你当前的用户也是有权限读的,不然下载的东西你没法看,有什么用?

sudo mkdir /home/linuxidc/TDDOWNLOAD -p
sudo mkdir /media/thunder/TDDOWNLOADS -p
sudo chown thunder:thunder /home/linuxidc/TDDOWNLOAD
sudo chown thunder:thunder /media/thunder/TDDOWNLOADS

然后我们把下载目录挂载到另一个目录

sudo mount --bind /home/linuxidc/TDDOWNLOAD /media/thunder/TDDOWNLOADS/

再重新以thunder用户运行迅雷(先获取root权限,再转换到thunder用户可以免去输入thunder的密码,因为刚刚就没给thunder创建密码,输入什么都不对的)

sudo su thunder -c ./portal

这样,迅雷会检测到/media/thunder/TDDOWNLOADS目录,下载的东西却是放到/home/linuxidc/TDDOWNLOAD中去了。现在,如果你点“新建”任务,可以看到剩余空间,则说明挂载成功。

Ubuntu 14.04安装迅雷Xware过程笔记

折腾到此,总算是可以下载了,不过既然是在linux下,怎么也得写个脚本吧

#!/bin/sh

XWARE_DIR=./Xware1.0.31

USERNAME="thunder"

DOWN_DIR=/home/linuxidc/TDDOWNLOAD
MOUNT_DIR=/media/thunder/TDDOWNLOADS

if [ $# -gt 0 ];
then
    #加参数 -s是关闭
    su $USERNAME -c "$XWARE_DIR/portal -s"
    code=$?

if [ $code -eq 0 ];
    then
        umount $MOUNT_DIR
        echo "xware stop sucess..."
    else
        echo "xware stop fail,code $code"
    fi

else
    #不加参数默认是启动
    su $USERNAME -c $XWARE_DIR/portal
    code=$?

if [ $code -eq 0 ];
    then
        mount --bind $DOWN_DIR $MOUNT_DIR
        echo "xware start sucess..."
    else
        echo "xware start fail,code $code"
    fi

fi

这样,把这个文件放到Xware1.0.31的上一层,名为xware.sh。这个脚本会自动挂载文件夹,或者取消挂载,需要root权限。

运行 sudo ./xware.sh

关闭 sudo ./xware.sh -s

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16490.html