Auto-increment display num for xvnc

This commit is contained in:
2023-01-24 13:25:26 -05:00
parent a9e4108053
commit 547ce2d3ec

View File

@@ -1234,23 +1234,37 @@ service_jriver-mediaserver() {
####################################### #######################################
# Starts and enables (at startup) JRiver Media Center in a new Xvnc session # Starts and enables (at startup) JRiver Media Center in a new Xvnc session
# TODO https://github.com/TigerVNC/tigervnc/blob/master/unix/vncserver/HOWTO.md
####################################### #######################################
service_jriver-xvnc() { service_jriver-xvnc() {
debug "Running: ${FUNCNAME[0]}" debug "Running: ${FUNCNAME[0]}"
setServiceVars "${FUNCNAME[0]##*_}" setServiceVars "${FUNCNAME[0]##*_}"
setDisplay setDisplay
declare start_cmd declare -a start_cmd
declare -g PORT=$(( NEXT_DISPLAYNUM + 5900 )) declare -g PORT=$(( NEXT_DISPLAYNUM + 5900 ))
installPackage tigervnc-server installPackage tigervnc-server
setVNCPass xvnc setVNCPass xvnc
start_cmd=(
/usr/bin/vncserver "$NEXT_DISPLAY"
-geometry 1440x900
-alwaysshared
-autokill
-xstartup "/usr/bin/mediacenter$MVERSION"
)
if (( NOVNCAUTH )); then if (( NOVNCAUTH )); then
start_cmd="/usr/bin/vncserver $NEXT_DISPLAY -geometry 1440x900 -alwaysshared -name jriver$NEXT_DISPLAY -SecurityTypes None -autokill -xstartup /usr/bin/mediacenter$MVERSION" start_cmd+=(
-name "jriver$NEXT_DISPLAY"
-SecurityTypes None
)
else else
start_cmd="/usr/bin/vncserver $NEXT_DISPLAY -geometry 1440x900 -alwaysshared -rfbauth $HOME/.vnc/jrmc_passwd -autokill -xstartup /usr/bin/mediacenter$MVERSION" start_cmd+=(
-rfbauth "$HOME/.vnc/jrmc_passwd"
)
fi fi
sudo bash -c "cat <<-EOF > $SERVICE_FNAME sudo bash -c "cat <<-EOF > $SERVICE_FNAME
@@ -1262,7 +1276,7 @@ service_jriver-xvnc() {
Type=forking Type=forking
$USER_STRING $USER_STRING
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill $NEXT_DISPLAY &>/dev/null || :' ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill $NEXT_DISPLAY &>/dev/null || :'
ExecStart=$start_cmd ExecStart=${start_cmd[*]}
ExecStop=/usr/bin/vncserver -kill $NEXT_DISPLAY ExecStop=/usr/bin/vncserver -kill $NEXT_DISPLAY
Restart=always Restart=always
@@ -1270,10 +1284,15 @@ service_jriver-xvnc() {
WantedBy=multi-user.target WantedBy=multi-user.target
EOF" EOF"
systemctl_reload_cmd && systemctl_reload_cmd
systemctl_enable_cmd "$SERVICE_NAME" && if ! systemctl_enable_cmd "$SERVICE_NAME"; then
echo "Xvnc running on localhost:$PORT" && err "vncserver failed to start on DISPLAY $NEXT_DISPLAY"
openFirewall "jriver-xvnc" && err "Incrementing DISPLAY by one and retrying"
NEXT_DISPLAY=":$(( NEXT_DISPLAYNUM + 1 ))" service_jriver-xvnc
return
fi
echo "Xvnc running on localhost:$PORT"
openFirewall "jriver-xvnc"
openFirewall "jriver-mediacenter" openFirewall "jriver-mediacenter"
} }