diff --git a/utils/launch.sh b/utils/launch.sh index 26a35320..707ebe17 100755 --- a/utils/launch.sh +++ b/utils/launch.sh @@ -16,6 +16,8 @@ usage() { echo " Default: localhost:5900" echo " --cert CERT Path to combined cert/key file" echo " Default: self.pem" + echo " --web WEB Path to web files (e.g. vnc.html)" + echo " Default: ./" exit 2 } @@ -24,6 +26,7 @@ HERE="$(cd "$(dirname "$0")" && pwd)" PORT="6080" VNC_DEST="localhost:5900" CERT="" +WEB="" proxy_pid="" die() { @@ -50,6 +53,7 @@ while [ "$*" ]; do --listen) PORT="${OPTARG}"; shift ;; --vnc) VNC_DEST="${OPTARG}"; shift ;; --cert) CERT="${OPTARG}"; shift ;; + --web) WEB="${OPTARG}"; shift ;; -h|--help) usage ;; -*) usage "Unknown chrooter option: ${param}" ;; *) break ;; @@ -66,12 +70,18 @@ netstat -ltn | grep -qs "${PORT} .*LISTEN" \ trap "cleanup" TERM QUIT INT EXIT # Find vnc.html -if [ -e "$(pwd)/vnc.html" ]; then +if [ -n "${WEB}" ]; then + if [ ! -e "${WEB}/vnc.html" ]; then + die "Could not find ${WEB}/vnc.html" + fi +elif [ -e "$(pwd)/vnc.html" ]; then WEB=$(pwd) elif [ -e "${HERE}/../vnc.html" ]; then WEB=${HERE}/../ elif [ -e "${HERE}/vnc.html" ]; then WEB=${HERE} +elif [ -e "${HERE}/../share/novnc/vnc.html" ]; then + WEB=${HERE}/../share/novnc/ else die "Could not find vnc.html" fi