#!/bin/bash ARCH="armv7l" DOWNLOAD_ARCH="arm" APPVERSION="" CURRENT_APPVERSION="" RELEASE="" UPDATE_URL="https://storage3.q-play.net/releases" if [ -z "${2}" ] then CURRENT_APPVERSION="N/A" else CURRENT_APPVERSION=${2} fi FREE_DISKSPACE=$(df ${HOME} | grep '^/' | awk '{ print $4 }') REQUIRED_DISKSPACE="409600" if [ "${FREE_DISKSPACE}" -le ${REQUIRED_DISKSPACE} ] then echo "Not enough disk space avaialble to continue install or update Q-Play, 400 MB free disk space is required." exit 1 fi if [ -z "${1}" ] then echo "Install default" else if [ "${1}" == "dev" ] then echo "Install dev release" RELEASE="dev" elif [ "${1}" == "beta" ] then echo "Install beta release" RELEASE="beta" else echo "Install default release" fi fi # Install wget and unzip sudo apt-get update -y sudo apt-get install wget unzip xdotool -y if [ "$?" != 0 ] then echo "Error with sudo apt-get command, it is possible process lack sudo permission. Try a full reboot to update." sudo dpkg --configure -a if [ -f "${HOME}/q-play-linux-${ARCH}/q-play" ] then echo "Will reboot in 20 seconds." sleep 20 reboot fi exit 1 fi # Remember to set arch. APPVERSION=$(wget -qO - ${UPDATE_URL}/index.php?arch=${DOWNLOAD_ARCH}\&platform=linux\&release=${RELEASE} | grep -Po '"version":.*?[^\\]",' | awk -F':' '{print $2}' | sed 's/"\(.*\)",/\1/') if [ -z "${APPVERSION}" ] then echo "APPVERSION was not returned from server!" else echo "Start install/update cycle to version: ${APPVERSION}" cd ${HOME} wget -O q-play-linux-${ARCH}_v${APPVERSION}.zip ${UPDATE_URL}/linux/${ARCH}/q-play-linux-${ARCH}_v${APPVERSION}.zip unzip -t q-play-linux-${ARCH}_v${APPVERSION}.zip if [ "$?" != 0 ] then echo "Received invalid zip file from server." exit 1 fi rm -rf q-play-linux-${ARCH} unzip -o q-play-linux-${ARCH}_v${APPVERSION}.zip rm -f q-play-linux-${ARCH}_v${APPVERSION}.zip chmod 755 -R q-play-linux-${ARCH}/q-play echo "Cleanup of old ScreenBuddy content." echo "Try to remove ScreenBuddy.desktop autostart script." sudo rm /etc/xdg/autostart/ScreenBuddy.desktop echo "Try to remove ScreenBuddy.desktop desktop shortcut." rm ${HOME}/Desktop/ScreenBuddy.desktop echo "Try to remove ScreenBuddy program folders." rm -rf ScreenBuddy* # Autostart echo "Create autostart script /etc/xdg/autostart/q-play.desktop" sudo touch /etc/xdg/autostart/q-play.desktop sudo truncate -s0 /etc/xdg/autostart/q-play.desktop echo "[Desktop Entry]" | sudo tee -a /etc/xdg/autostart/q-play.desktop echo "Type=Application" | sudo tee -a /etc/xdg/autostart/q-play.desktop echo "Name=Q-play" | sudo tee -a /etc/xdg/autostart/q-play.desktop echo "Comment=Q-play app" | sudo tee -a /etc/xdg/autostart/q-play.desktop echo "NoDisplay=false" | sudo tee -a /etc/xdg/autostart/q-play.desktop echo "Exec=${HOME}/q-play-linux-${ARCH}/q-play ${RELEASE}" | sudo tee -a /etc/xdg/autostart/q-play.desktop if [ ! -f "${HOME}/q-play-linux-${ARCH}/q-play" ] then echo "Create q-play symlink to qplay executable" chmod 755 -R q-play-linux-${ARCH}/qplay ln -s "${HOME}/q-play-linux-${ARCH}/qplay" "${HOME}/q-play-linux-${ARCH}/q-play" fi sudo chmod 755 /etc/xdg/autostart/q-play.desktop sudo chown ${USER} /etc/xdg/autostart/q-play.desktop # Disable any form of screen saver / screen blanking / power management echo "Create file ${HOME}/.xinitrc to disable any form of screen saver / screen blanking / power management." touch ${HOME}/.xinitrc chmod 755 ${HOME}/.xinitrc truncate -s0 ${HOME}/.xinitrc echo "xset s off" >> ${HOME}/.xinitrc echo "xset -dpms" >> ${HOME}/.xinitrc echo "xset s noblank" >> ${HOME}/.xinitrc echo "exec /etc/alternatives/x-session-manager" >> ${HOME}/.xinitrc # Disable any form of screen saver / screen blanking / power management echo "Create file /etc/xdg/openbox/autostart to disable any form of screen saver / screen blanking / power management." sudo touch /etc/xdg/openbox/autostart sudo chmod 755 /etc/xdg/openbox/autostart sudo truncate -s0 /etc/xdg/openbox/autostart echo "xset s off" | sudo tee -a /etc/xdg/openbox/autostart echo "xset s noblank" | sudo tee -a /etc/xdg/openbox/autostart echo "xset -dpms" | sudo tee -a /etc/xdg/openbox/autostart # Allow quitting the X server with CTRL-ATL-Backspace echo "setxkbmap -option terminate:ctrl_alt_bksp" | sudo tee -a /etc/xdg/openbox/autostart # Disable any form of screen saver / screen blanking / power management echo "Create file /etc/xdg/lxsession/LXDE-pi/autostart to disable any form of screen saver / screen blanking / power management." sudo touch /etc/xdg/lxsession/LXDE-pi/autostart sudo chmod 755 /etc/xdg/lxsession/LXDE-pi/autostart sudo truncate -s0 /etc/xdg/lxsession/LXDE-pi/autostart echo "@lxpanel --profile LXDE-pi" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart echo "@pcmanfm --desktop --profile LXDE-pi" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart echo "@point-rpi" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart echo "@xset dpms 0 0 0" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart echo "@xset s off" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart echo "@xset -dpms" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart echo "@xset s noblank" | sudo tee -a /etc/xdg/lxsession/LXDE-pi/autostart # Disable any form of screen saver / screen blanking / power management echo "Create file /etc/xdg/lxsession/LXDE/autostart to disable any form of screen saver / screen blanking / power management." sudo touch /etc/xdg/lxsession/LXDE/autostart sudo chmod 755 /etc/xdg/lxsession/LXDE/autostart sudo truncate -s0 /etc/xdg/lxsession/LXDE/autostart echo "@lxpanel --profile LXDE" | sudo tee -a /etc/xdg/lxsession/LXDE/autostart echo "@pcmanfm --desktop --profile LXDE" | sudo tee -a /etc/xdg/lxsession/LXDE/autostart echo "xset s off" | sudo tee -a /etc/xdg/lxsession/LXDE/autostart echo "xset s noblank" | sudo tee -a /etc/xdg/lxsession/LXDE/autostart echo "xset -dpms" | sudo tee -a /etc/xdg/lxsession/LXDE/autostart # Disable any form of screen saver / screen blanking / power management echo "Create file ${HOME}/.config/lxsession/LXDE-pi/autostart to disable any form of screen saver / screen blanking / power management." mkdir -p ${HOME}/.config/lxsession/LXDE-pi/ touch ${HOME}/.config/lxsession/LXDE-pi/autostart truncate -s0 ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@lxpanel --profile LXDE-pi" >> ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@pcmanfm --desktop --profile LXDE-pi" >> ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@point-rpi" >> ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@xset dpms 0 0 0" >> ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@xset s off" >> ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@xset -dpms" >> ${HOME}/.config/lxsession/LXDE-pi/autostart echo "@xset s noblank" >> ${HOME}/.config/lxsession/LXDE-pi/autostart # Clear terminal history #history -c clears #> ~/.bash_history # Reboot echo "Will reboot in 20 seconds." sleep 20 sudo reboot fi