Auto-increment display num for xvnc
This commit is contained in:
35
installJRMC
35
installJRMC
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user