Last active
December 24, 2015 01:19
-
-
Save xtman/6722514 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
ARC=`uname -m` | |
if [[ `echo $ARC | egrep 'i[3456]86'` ]]; then | |
ARC=i386 | |
else | |
ARC=x86_64 | |
fi | |
# NOMACHINE NX binary packages | |
URL_NX_ROOT=http://web04.nomachine.com/download/3.5.0/Linux | |
PKG_NXCLIENT=nxclient-3.5.0-7.${ARC}.tar.gz | |
URL_NXCLIENT=${URL_NX_ROOT}/${PKG_NXCLIENT} | |
PKG_NXNODE=nxnode-3.5.0-9.${ARC}.tar.gz | |
URL_NXNODE=${URL_NX_ROOT}/${PKG_NXNODE} | |
PKG_NXSERVER=nxserver-3.5.0-11.${ARC}.tar.gz | |
URL_NXSERVER=${URL_NX_ROOT}/EDS/${PKG_NXSERVER} | |
# FREENX-SERVER source package | |
DIR_FREENX=freenx-server-0.7.3 | |
PKG_FREENX=freenx-server-0.7.3.tar.gz | |
URL_FREENX=http://aarnet.dl.sourceforge.net/project/freenx.berlios/${PKG_FREENX} | |
# FREENX debian patch | |
FREENX_PATCH=debian7-nomachine.diff | |
URL_FREENX_PATCH=https://www.dropbox.com/s/ycexfq2u1mysxva/debian7-nomachine.diff | |
# Install required packages | |
echo -n "Installing required packages: ssh patch expect cifs-utils xutils-dev rdesktop vncviewer..." | |
sudo apt-get update 1>/dev/null || exit 1 | |
sudo apt-get install -y ssh patch expect cifs-utils xutils-dev rdesktop 1>/dev/null || exit 1 | |
echo "done" | |
# Create a temp working directory | |
CUR_DIR=$(pwd) | |
TMP_DIR=$(mktemp -d) | |
# Install nomachine nxclient package | |
echo -n "Downloading ${URL_NXCLIENT}..." | |
cd $TMP_DIR | |
wget -q $URL_NXCLIENT 1>/dev/null || exit 1 | |
echo "done" | |
echo -n "Extracting ${PKG_NXCLIENT} to /usr/NX..." | |
cd /usr | |
sudo tar -zxvf ${TMP_DIR}/${PKG_NXCLIENT} 1>/dev/null || exit 1 | |
cd $TMP_DIR | |
echo "done" | |
# Install nomachine nxnode package | |
echo -n "Downloading ${URL_NXNODE}..." | |
cd $TMP_DIR | |
wget -q $URL_NXNODE 1>/dev/null || exit 1 | |
echo "done" | |
echo -n "Extracting ${PKG_NXNODE} to /usr/NX..." | |
cd /usr | |
sudo tar -zxvf ${TMP_DIR}/${PKG_NXNODE} 1>/dev/null || exit 1 | |
cd $TMP_DIR | |
echo "done" | |
# Install nomachine nxserver package | |
echo -n "Downloading ${URL_NXSERVER}..." | |
cd $TMP_DIR | |
wget -q $URL_NXSERVER 1>/dev/null || exit 1 | |
echo "done" | |
echo -n "Extracting ${PKG_NXSERVER} to /usr/NX..." | |
cd /usr | |
sudo tar -zxvf ${TMP_DIR}/${PKG_NXSERVER} 1>/dev/null || exit 1 | |
cd $TMP_DIR | |
echo "done" | |
# Install freenx-server | |
echo -n "Downloading ${URL_FREENX}..." | |
cd $TMP_DIR | |
wget -q ${URL_FREENX} 1>/dev/null || exit 1 | |
echo "done" | |
echo -n "Extracting ${PKG_FREENX}..." | |
cd ${TMP_DIR} | |
tar zxvf ${TMP_DIR}/${PKG_FREENX} 1>/dev/null || exit 1 | |
echo "done" | |
echo -n "Downloading patch for FreeNX..." | |
cd ${TMP_DIR} | |
wget -q ${URL_FREENX_PATCH} 1>/dev/null || exit 1 | |
echo "done" | |
# Patch the source files: nxloadconfig Makefile node.conf.sample | |
echo -n "Patching FreeNX..." | |
cd ${TMP_DIR}/${DIR_FREENX} | |
patch -p1 < ../${FREENX_PATCH} 1>/dev/null || exit 1 | |
echo "done" | |
# Compile and install | |
echo -n "Compiling FreeNX..." | |
make 1>/dev/null || exit 1 | |
echo "done" | |
echo -n "Installing FreeNX..." | |
sudo make install 1>/dev/null || exit 1 | |
echo "done" | |
[[ ! -e /usr/NX/bin/nxdesktop ]] && sudo ln -s /usr/bin/rdesktop /usr/NX/bin/nxdesktop | |
[[ ! -e /usr/NX/bin/nxviewer ]] && sudo ln -s /usr/bin/vncviewer /usr/NX/bin/nxviewer | |
# Run nxsetup | |
sudo /usr/NX/bin/nxsetup --install --setup-nomachine-key | |
# Install starup script | |
cd /etc/init.d | |
#if [[ -e /etc/init.d/nxserver ]]; then | |
# sudo insserv -r nxserver | |
#fi | |
echo -n "Installing startup script /etc/init.d/nxserver..." | |
sudo wget -q -O nxserver http://computingplugs.com/files/nxserver 1>/dev/null || exit 1 | |
sudo chmod +x nxserver 1>/dev/null || exit 1 | |
sudo insserv nxserver 1>/dev/null || exit 1 | |
echo "done" | |
# Clean up | |
echo -n "Cleaning up..." | |
cd $CUR_DIR | |
rm -fr $TMP_DIR | |
echo "done" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment