From 67e839b9f2a7bc66cff31621047b0e0c5b652d87 Mon Sep 17 00:00:00 2001 From: longpanda Date: Tue, 9 Mar 2021 21:01:34 +0800 Subject: [PATCH] script optimization for UOS --- INSTALL/VentoyWebDeepin.sh | 106 ++----------------------------------- INSTALL/tool/WebDeepin.sh | 95 +++++++++++++++++++++++++++++++++ INSTALL/tool/WebUos.sh | 51 ++++++++++++++++++ INSTALL/ventoy_pack.sh | 2 + 4 files changed, 151 insertions(+), 103 deletions(-) create mode 100644 INSTALL/tool/WebDeepin.sh create mode 100644 INSTALL/tool/WebUos.sh diff --git a/INSTALL/VentoyWebDeepin.sh b/INSTALL/VentoyWebDeepin.sh index 37c15d8e..eeb982f7 100644 --- a/INSTALL/VentoyWebDeepin.sh +++ b/INSTALL/VentoyWebDeepin.sh @@ -15,7 +15,6 @@ print_err() { echo "" } - get_user() { name=$(logname) if [ -n "$name" -a "$name" != "root" ]; then @@ -28,14 +27,6 @@ get_user() { fi } -get_browser_cmd() { - if uos-browser --version > /dev/null 2>&1; then - echo "uos-browser"; return - else - echo "browser" - fi -} - uid=$(id -u) if [ $uid -ne 0 ]; then exec sudo sh $0 $* @@ -104,99 +95,8 @@ if ps -ef | grep "V2DServer.*$HOST.*$PORT" | grep -q -v grep; then exit 1 fi -VUSER=$(get_user) - -LOGFILE=log.txt -if [ -e $LOGFILE ]; then - LogGroup=$(stat -c '%G' $LOGFILE) - if [ "$LogGroup" = "root" ]; then - rm -f $LOGFILE - su $VUSER -c "touch $LOGFILE" - fi +if grep -q -i uos /etc/os-release; then + . ./tool/WebUos.sh 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=$(su $VUSER -c "mktemp -d -p ./ --suffix=_VTMPDIR") - -V2DServer "$HOST" "$PORT" & -V2DPid=$! -sleep 1 - -browsercmd=$(get_browser_cmd) -su $VUSER -c "$browsercmd --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 + . ./tool/WebDeepin.sh fi diff --git a/INSTALL/tool/WebDeepin.sh b/INSTALL/tool/WebDeepin.sh new file mode 100644 index 00000000..6c408e2c --- /dev/null +++ b/INSTALL/tool/WebDeepin.sh @@ -0,0 +1,95 @@ +#!/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 diff --git a/INSTALL/tool/WebUos.sh b/INSTALL/tool/WebUos.sh new file mode 100644 index 00000000..86465911 --- /dev/null +++ b/INSTALL/tool/WebUos.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +LOGFILE=log.txt + +#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) + +V2DServer "$HOST" "$PORT" & +V2DPid=$! +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 "" + + +uos-browser --window-size=550,400 --app="http://${HOST}:${PORT}/index.html?chrome-app" --user-data-dir=$vtWebTmpDir >> $LOGFILE 2>&1 + +[ -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 diff --git a/INSTALL/ventoy_pack.sh b/INSTALL/ventoy_pack.sh index 8a5ad705..85c40cff 100644 --- a/INSTALL/ventoy_pack.sh +++ b/INSTALL/ventoy_pack.sh @@ -8,6 +8,8 @@ fi dos2unix -q ./tool/ventoy_lib.sh dos2unix -q ./tool/VentoyWorker.sh +dos2unix -q ./tool/WebDeepin.sh +dos2unix -q ./tool/WebUos.sh . ./tool/ventoy_lib.sh