Compare commits
1 Commits
ae23d84810
...
8438f734d7
| Author | SHA1 | Date | |
|---|---|---|---|
| 8438f734d7 |
102
installJRMC
102
installJRMC
@@ -561,7 +561,7 @@ EOF
|
|||||||
#######################################
|
#######################################
|
||||||
# Installs JRiver Media Center from a repository
|
# Installs JRiver Media Center from a repository
|
||||||
# Returns:
|
# Returns:
|
||||||
# 0 if JRiver Media Center installed sucessfully, 1 if installation failed
|
# 0 if JRiver Media Center installed sucessfully
|
||||||
#######################################
|
#######################################
|
||||||
_installMCFromRepo() {
|
_installMCFromRepo() {
|
||||||
|
|
||||||
@@ -581,19 +581,30 @@ EOF'
|
|||||||
local _mcpkg="MediaCenter"
|
local _mcpkg="MediaCenter"
|
||||||
elif [[ "$ID" =~ ^(ubuntu|debian)$ ]]; then
|
elif [[ "$ID" =~ ^(ubuntu|debian)$ ]]; then
|
||||||
wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | _ifSudo apt-key add - > /dev/null 2>&1
|
wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | _ifSudo apt-key add - > /dev/null 2>&1
|
||||||
_ifSudo wget "http://dist.jriver.com/latest/mediacenter/mediacenter$_mversion.list" -O "/etc/apt/sources.list.d/jriver.list" > /dev/null 2>&1
|
_bash_cmd 'cat <<-EOF > /etc/apt/sources.list.d/jriver.list
|
||||||
|
deb [arch=amd64,i386,armhf] http://dist.jriver.com/latest/mediacenter/ jessie main
|
||||||
|
EOF'
|
||||||
local _mcpkg="mediacenter$_mversion"
|
local _mcpkg="mediacenter$_mversion"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update packages and install JRiver MediaCenter
|
# Update packages and install JRiver MediaCenter
|
||||||
if _pkg_update > /dev/null 2>&1 && _pkg_install "$_mcpkg" > /dev/null 2>&1; then
|
if [[ -n $_debug ]]; then
|
||||||
|
_pkg_update && \
|
||||||
|
_pkg_install "$_mcpkg"
|
||||||
|
else
|
||||||
|
_pkg_update > /dev/null 2>&1 && \
|
||||||
|
_pkg_install "$_mcpkg" > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2181
|
||||||
|
# Rationale: More compact to check this once
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
echo "JRiver Media Center installed successfully!"
|
echo "JRiver Media Center installed successfully!"
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
err "JRiver Media Center installation failed!"
|
err "JRiver Media Center installation failed!"
|
||||||
return 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -917,13 +928,43 @@ EOF"
|
|||||||
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Create the VNC password file
|
# Create the x11vnc password file
|
||||||
# Requires:
|
|
||||||
# _vncpass
|
|
||||||
# Globals:
|
# Globals:
|
||||||
# _novncauth
|
# _novncauth
|
||||||
# Returns:
|
# Returns:
|
||||||
# 0 if ports opened sucessfully, 1 if not
|
# 0 if password created sucessfully, 1 if not
|
||||||
|
#######################################
|
||||||
|
_setX11VNCPass() {
|
||||||
|
|
||||||
|
_runDebug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
|
_vncpassfile="$HOME/.vnc/jrmc_passwd"
|
||||||
|
|
||||||
|
if [[ -f "$_vncpassfile" ]]; then
|
||||||
|
if [[ -z $_vncpass ]]; then
|
||||||
|
err "Refusing to overwrite existing $_vncpassfile with an empty password"
|
||||||
|
err "Remove existing $_vncpassfile or set --vncpass to use an empty password"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
rm -f "$_vncpassfile"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n $_vncpass ]]; then
|
||||||
|
if ! x11vnc -storepasswd "$_vncpass" "$_vncpassfile"; then
|
||||||
|
err "Could not create VNC password file"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
_novncauth="true"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# Create the vncserver password file
|
||||||
|
# Returns:
|
||||||
|
# 0 if password created sucessfully, 1 if not
|
||||||
#######################################
|
#######################################
|
||||||
_setVNCPass() {
|
_setVNCPass() {
|
||||||
|
|
||||||
@@ -931,15 +972,21 @@ EOF"
|
|||||||
|
|
||||||
_vncpassfile="$HOME/.vnc/jrmc_passwd"
|
_vncpassfile="$HOME/.vnc/jrmc_passwd"
|
||||||
|
|
||||||
if [[ -n $_vncpass ]]; then
|
if [[ -f "$_vncpassfile" ]]; then
|
||||||
# Remove existing password file if it exists and write a new one
|
if [[ -z $_vncpass ]]; then
|
||||||
[[ -f "$_vncpassfile" ]] && rm -f "$_vncpassfile"
|
err "Refusing to overwrite existing $_vncpassfile with an empty password"
|
||||||
if ! x11vnc -storepasswd "$_vncpass" "$_vncpassfile"; then
|
err "Remove existing $_vncpassfile or set --vncpass to use an empty password"
|
||||||
err "Could not create VNC password file"
|
exit 1
|
||||||
return 1
|
else
|
||||||
|
rm -f "$_vncpassfile"
|
||||||
fi
|
fi
|
||||||
elif [[ ! -f "$_vncpassfile" ]]; then
|
fi
|
||||||
_novncauth="true"
|
|
||||||
|
[[ -z $_vncpass ]] && _vncpass=""
|
||||||
|
|
||||||
|
if ! echo "$_vncpass" | vncpasswd -f > "$_vncpassfile"; then
|
||||||
|
err "Could not create VNC password file"
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -964,8 +1011,6 @@ EOF"
|
|||||||
_timer_name="jriver-${1}@$_user.timer"
|
_timer_name="jriver-${1}@$_user.timer"
|
||||||
_user_specifier="User=%I"
|
_user_specifier="User=%I"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[[ -z $_display ]] && _display="${DISPLAY:-":0"}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -973,6 +1018,8 @@ EOF"
|
|||||||
|
|
||||||
_runDebug "${FUNCNAME[0]}"
|
_runDebug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
|
[[ -z $_display ]] && _display="${DISPLAY:-":0"}"
|
||||||
|
|
||||||
_bash_cmd "cat <<-EOF > $_service_fname
|
_bash_cmd "cat <<-EOF > $_service_fname
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=JRiver Media Center $_mversion Media Server
|
Description=JRiver Media Center $_mversion Media Server
|
||||||
@@ -1000,6 +1047,8 @@ EOF"
|
|||||||
|
|
||||||
_runDebug "${FUNCNAME[0]}"
|
_runDebug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
|
[[ -z $_display ]] && _display="${DISPLAY:-":0"}"
|
||||||
|
|
||||||
_bash_cmd "cat <<-EOF > $_service_fname
|
_bash_cmd "cat <<-EOF > $_service_fname
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=JRiver Media Center $_mversion
|
Description=JRiver Media Center $_mversion
|
||||||
@@ -1027,11 +1076,12 @@ EOF"
|
|||||||
|
|
||||||
_runDebug "${FUNCNAME[0]}"
|
_runDebug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
_setVNCPass
|
|
||||||
|
|
||||||
_installPackage tigervnc-server
|
_installPackage tigervnc-server
|
||||||
|
|
||||||
|
_setVNCPass
|
||||||
|
|
||||||
if [[ -z $_display ]]; then
|
if [[ -z $_display ]]; then
|
||||||
|
# If we are running on existing X server then increment DISPLAY by one
|
||||||
if [[ -n $DISPLAY ]]; then
|
if [[ -n $DISPLAY ]]; then
|
||||||
_display=$(( ${DISPLAY#:} + 1 ))
|
_display=$(( ${DISPLAY#:} + 1 ))
|
||||||
_display=":$_display"
|
_display=":$_display"
|
||||||
@@ -1040,12 +1090,6 @@ EOF"
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$_novncauth" == "true" ]]; then
|
|
||||||
_exec_start_cmd="/usr/bin/vncserver $_display -geometry 1440x900 -alwaysshared -fg"
|
|
||||||
else
|
|
||||||
_exec_start_cmd="/usr/bin/vncserver $_display -geometry 1440x900 -alwaysshared -fg -rfbauth $HOME/.vnc/jrmc_passwd"
|
|
||||||
fi
|
|
||||||
|
|
||||||
_bash_cmd "cat <<-EOF > $_service_fname
|
_bash_cmd "cat <<-EOF > $_service_fname
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Remote desktop service (VNC)
|
Description=Remote desktop service (VNC)
|
||||||
@@ -1055,7 +1099,7 @@ After=syslog.target network.target
|
|||||||
Type=simple
|
Type=simple
|
||||||
$_user_specifier
|
$_user_specifier
|
||||||
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill $_display > /dev/null 2>&1 || :'
|
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill $_display > /dev/null 2>&1 || :'
|
||||||
ExecStart=$_exec_start_cmd
|
ExecStart=/usr/bin/vncserver $_display -geometry 1440x900 -alwaysshared -fg -rfbauth $HOME/.vnc/jrmc_passwd
|
||||||
ExecStop=/usr/bin/vncserver -kill $_display
|
ExecStop=/usr/bin/vncserver -kill $_display
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
@@ -1071,7 +1115,7 @@ EOF"
|
|||||||
|
|
||||||
_installPackage x11vnc
|
_installPackage x11vnc
|
||||||
|
|
||||||
_setVNCPass
|
_setX11VNCPass
|
||||||
|
|
||||||
if [[ "$_novncauth" == "true" ]]; then
|
if [[ "$_novncauth" == "true" ]]; then
|
||||||
_exec_start_cmd="/usr/bin/x11vnc -display $_display -noscr -geometry 1920x1080 -auth guess -forever -bg -nopw"
|
_exec_start_cmd="/usr/bin/x11vnc -display $_display -noscr -geometry 1920x1080 -auth guess -forever -bg -nopw"
|
||||||
|
|||||||
Reference in New Issue
Block a user