+#!/bin/sh
+
+LOGFILE=log.txt
+VUSER=$(get_user)
+
+if [ -e $LOGFILE ]; then
+ chown $VUSER $LOGFILE
+else
+ su $VUSER -c "touch $LOGFILE"
+fi
+
+#delete the log.txt if it's more than 8MB
+if [ -f $LOGFILE ]; then
+ logsize=$(stat -c '%s' $LOGFILE)
+ if [ $logsize -gt 8388608 ]; then
+ rm -f $LOGFILE
+ fi
+fi
+
+
+if [ -f ./tool/$TOOLDIR/V2DServer.xz ]; then
+ xz -d ./tool/$TOOLDIR/V2DServer.xz
+ chmod +x ./tool/$TOOLDIR/V2DServer
+fi
+
+rm -rf ./*_VTMPDIR
+vtWebTmpDir=$(mktemp -d -p ./ --suffix=_VTMPDIR)
+chown $VUSER $vtWebTmpDir
+
+
+V2DServer "$HOST" "$PORT" &
+V2DPid=$!
+sleep 1
+
+su $VUSER -c "browser --window-size=550,400 --app=\"http://${HOST}:${PORT}/index.html?chrome-app\" --user-data-dir=$vtWebTmpDir >> $LOGFILE 2>&1" &
+WebPid=$!
+
+
+vtoy_trap_exit() {
+
+ [ -d /proc/$V2DPid ] && kill -2 $V2DPid
+ [ -d /proc/$WebPid ] && kill -9 $WebPid
+
+ while [ -n "1" ]; do
+ curPid=$(ps -ef | grep -m1 "$vtWebTmpDir" | egrep -v '\sgrep\s' | awk '{print $2}')
+ if [ -z "$curPid" ]; then
+ break
+ fi
+
+ if [ -d /proc/$curPid ]; then
+ kill -9 $curPid
+ fi
+ done
+
+ [ -d $vtWebTmpDir ] && rm -rf $vtWebTmpDir
+
+ if [ -n "$OLDDIR" ]; then
+ CURDIR=$(pwd)
+ if [ "$CURDIR" != "$OLDDIR" ]; then
+ cd "$OLDDIR"
+ fi
+ fi
+
+ exit 1
+}
+
+trap vtoy_trap_exit HUP INT QUIT TSTP
+sleep 1
+
+
+vtVer=$(cat ventoy/version)
+echo ""
+echo "=================================================="
+if [ "$LANG" = "zh_CN.UTF-8" ]; then
+ echo " Ventoy Server $vtVer 已经启动 ..."
+else
+ echo " Ventoy Server $vtVer is running ..."
+fi
+echo "=================================================="
+echo ""
+echo "########### Press Ctrl + C to exit ###############"
+echo ""
+
+wait $WebPid
+
+[ -d /proc/$V2DPid ] && kill -2 $V2DPid
+
+[ -d $vtWebTmpDir ] && rm -rf $vtWebTmpDir
+
+if [ -n "$OLDDIR" ]; then
+ CURDIR=$(pwd)
+ if [ "$CURDIR" != "$OLDDIR" ]; then
+ cd "$OLDDIR"
+ fi
+fi