mirror of
https://github.com/novnc/noVNC.git
synced 2026-06-06 20:39:39 +00:00
Added a Snap package for noVNC (#1231)
Creating an Ubuntu Snap package to make noVNC easier to deploy. Checks for the websockify binary in both the PATH (using which) and in the location where the Snap package places the binary. This is necessary for noVNC to be usable in a Snap. It doesn't affect the original functionality of git cloning websockify if it's not found in PATH or the Snap location.
This commit is contained in:
committed by
Samuel Mannehed
parent
897b465b87
commit
e1d50c8c10
@@ -139,9 +139,12 @@ if [[ -d ${HERE}/websockify ]]; then
|
||||
|
||||
echo "Using local websockify at $WEBSOCKIFY"
|
||||
else
|
||||
WEBSOCKIFY=$(which websockify 2>/dev/null)
|
||||
WEBSOCKIFY_FROMSYSTEM=$(which websockify 2>/dev/null)
|
||||
WEBSOCKIFY_FROMSNAP=${HERE}/../usr/bin/python2-websockify
|
||||
[ -f $WEBSOCKIFY_FROMSYSTEM ] && WEBSOCKIFY=$WEBSOCKIFY_FROMSYSTEM
|
||||
[ -f $WEBSOCKIFY_FROMSNAP ] && WEBSOCKIFY=$WEBSOCKIFY_FROMSNAP
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
if [ ! -f "$WEBSOCKIFY" ]; then
|
||||
echo "No installed websockify, attempting to clone websockify..."
|
||||
WEBSOCKIFY=${HERE}/websockify/run
|
||||
git clone https://github.com/novnc/websockify ${HERE}/websockify
|
||||
|
||||
29
utils/svc_wrapper.sh
Executable file
29
utils/svc_wrapper.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
# `snapctl get services` returns a JSON array, example:
|
||||
#{
|
||||
#"n6801": {
|
||||
# "listen": 6801,
|
||||
# "vnc": "localhost:5901"
|
||||
#},
|
||||
#"n6802": {
|
||||
# "listen": 6802,
|
||||
# "vnc": "localhost:5902"
|
||||
#}
|
||||
#}
|
||||
snapctl get services | jq -c '.[]' | while read service; do # for each service the user sepcified..
|
||||
# get the important data for the service (listen port, VNC host:port)
|
||||
listen_port="$(echo $service | jq --raw-output '.listen')"
|
||||
vnc_host_port="$(echo $service | jq --raw-output '.vnc')" # --raw-output removes any quotation marks from the output
|
||||
|
||||
# check whether those values are valid
|
||||
expr "$listen_port" : '^[0-9]\+$' > /dev/null
|
||||
listen_port_valid=$?
|
||||
if [ ! $listen_port_valid ] || [ -z "$vnc_host_port" ]; then
|
||||
# invalid values mean the service is disabled, do nothing except for printing a message (logged in /var/log/system or systemd journal)
|
||||
echo "novnc: not starting service ${service} with listen_port ${listen_port} and vnc_host_port ${vnc_host_port}"
|
||||
else
|
||||
# start (and fork with '&') the service using the specified listen port and VNC host:port
|
||||
$SNAP/utils/launch.sh --listen $listen_port --vnc $vnc_host_port &
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user