Auto-increment display num for xvnc

This commit is contained in:
2023-01-24 13:25:26 -05:00
부모 a9e4108053
커밋 547ce2d3ec

파일 보기

@@ -1234,23 +1234,37 @@ service_jriver-mediaserver() {
#######################################
# 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() {
debug "Running: ${FUNCNAME[0]}"
setServiceVars "${FUNCNAME[0]##*_}"
setDisplay
declare start_cmd
declare -a start_cmd
declare -g PORT=$(( NEXT_DISPLAYNUM + 5900 ))
installPackage tigervnc-server
setVNCPass xvnc
start_cmd=(
/usr/bin/vncserver "$NEXT_DISPLAY"
-geometry 1440x900
-alwaysshared
-autokill
-xstartup "/usr/bin/mediacenter$MVERSION"
)
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
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
sudo bash -c "cat <<-EOF > $SERVICE_FNAME
@@ -1262,7 +1276,7 @@ service_jriver-xvnc() {
Type=forking
$USER_STRING
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
Restart=always
@@ -1270,10 +1284,15 @@ service_jriver-xvnc() {
WantedBy=multi-user.target
EOF"
systemctl_reload_cmd &&
systemctl_enable_cmd "$SERVICE_NAME" &&
echo "Xvnc running on localhost:$PORT" &&
openFirewall "jriver-xvnc" &&
systemctl_reload_cmd
if ! systemctl_enable_cmd "$SERVICE_NAME"; then
err "vncserver failed to start on DISPLAY $NEXT_DISPLAY"
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"
}