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
|
# 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"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user