Skip to content

Install Tasktop Sync on ubuntu server 14.04

In this post I will explore how to install Tasktop Sync on a Linux headless server environment.  One of the restrictions to this, is that in order to configure Tasktop Sync, although not entirely necessary , we will need to have access to the Tasktop Sync studio which is a graphical user interface used to configure sync.

When I say this is not entirely necessary, the alternative workflow to this, which is similar to a typical development work-flow.  We could install Tasktop Sync studio on a development machine, carry out our configuration tasks then just deploy the Synchroniser.xml to the Headless server.   In the future I may post detailed instructions on how to do this.

Virtual lab setup

I have a server configured with Proxmox Virtual Environment  to create virtual servers to have to experiment and research with.  So I quickly spun up a headless ubuntu 14.04 server instance, and attached it to the network.  I also configured the server for SSH access, so I could run commands against it directly.

Open a terminal window on my ubuntu desktop ( ([key]ctrl[/key] + [key]alt[/key] + [key]t[/key]) and SSH to the box

ssh gary@192.168.0.1

VNC Server installation

sudo -s
apt-get install gnome-core xfce4 firefox
apt-get install vnc4server

With the lines above we have installed

gnome-core

[qodef_blockquote text="GNOME is the GNU Network Object Model Environment. This project is building a complete, user-friendly desktop based entirely on free software. This desktop consists of small utilities and larger applications that share a consistent look and feel. It uses the GTK as the GUI tool-kit for all GNOME-compliant applications." title_tag="h6" width="100"]

xfce4

[qodef_blockquote text="Xfce is a lightweight desktop environment for UNIX-like operating systems. It aims to be fast and low on system resources, while still being visually appealing and user friendly. " title_tag="h6" width="100"]

Firefox

[qodef_blockquote text="Mozilla Firefox is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox is available for Windows, OS X and Linux operating systems, with its mobile versions available for Android, and Firefox O" title_tag="h6" width="100"]

We just want to ensure no other versions of VNC have been installed on the box, in order to avoid any conflicts etc. going forward. We'll use the Debian Package management system and grep to search for any packages with VNC.

dpkg -l | grep vnc

Add VNC User

We'll need to add a user to be able to access the server via machine.  Still using the SSH access we'll just adduser

# Add a user with any user name you require I have used my name obviously
# but you can use whatever name you like
adduser gary         ## My username is gary change this to suit yours

In order to complete the creation of a user, you'll need to provide some further information about that user.  Complete this as much as you deem necessary , following the prompts.

We will now need to make a back up of the original configuration file because we are now going to edit it.  I will be using nano text editor that come pre-packaged with Ubuntu, but you can substitute that for any text editor of your choice.  To back up and edit your file simply:

cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
> ~/.vnc/xstartup
nano ~/.vnc/xstartup

Once the file is open edit the BaSH file as follows:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

We now need to ensure that any currently executing VNC processes are not running.

vncserver -kill :1

The reason for this is, that we are now going to create a the start-up script for VNC server.

su
nano /etc/init.d/vncserver
[wpdm_package id='9147']
#!/bin/bash
 
unset VNCSERVERARGS
VNCSERVERS=""
[ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf
prog=$"VNC server"
start() {
 . /lib/lsb/init-functions
 REQ_USER=$2
 echo -n $"Starting $prog: "
 ulimit -S -c 0 >/dev/null 2>&1
 RETVAL=0
 for display in ${VNCSERVERS}
 do
 export USER="${display##*:}"
 if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
 echo -n "${display} "
 unset BASH_ENV ENV
 DISP="${display%%:*}"
 export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
 su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}"
 fi
 done
}
stop() {
 . /lib/lsb/init-functions
 REQ_USER=$2
 echo -n $"Shutting down VNCServer: "
 for display in ${VNCSERVERS}
 do
 export USER="${display##*:}"
 if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
 echo -n "${display} "
 unset BASH_ENV ENV
 export USER="${display##*:}"
 su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
 fi
 done
 echo -e "\n"
 echo "VNCServer Stopped"
}
case "$1" in
start)
start $@
;;
stop)
stop $@
;;
restart|reload)
stop $@
sleep 3
start $@
;;
condrestart)
if [ -f /var/lock/subsys/vncserver ]; then
stop $@
sleep 3
start $@
fi
;;
status)
status Xvnc
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac

Save the file and now we will need to make it executable and change permissions

chmod +x /etc/init.d/vncserver

The next step is to edit the configuration file for the VNC Server

mkdir -p /etc/vncserver
nano /etc/vncserver/vncservers.conf

Edit the entries for your user

VNCSERVERS="1:gary"          # My usename is gary, change this to suite yours
VNCSERVERARGS[1]="-geometry 1024x768"

The default ports VNC will be available on is 5901 and the resolution will be set 1024X768

We will now need to  add these changes to the Boot Start of the server

update-rc.d vncserver defaults 99

Your terminal should respond with

root@:tasktop~# update-rc.d vncserver defaults 99
 Adding system startup for /etc/init.d/vncserver ...
   /etc/rc0.d/K99vncserver -> ../init.d/vncserver
   /etc/rc1.d/K99vncserver -> ../init.d/vncserver
   /etc/rc6.d/K99vncserver -> ../init.d/vncserver
   /etc/rc2.d/S99vncserver -> ../init.d/vncserver
   /etc/rc3.d/S99vncserver -> ../init.d/vncserver
   /etc/rc4.d/S99vncserver -> ../init.d/vncserver
   /etc/rc5.d/S99vncserver -> ../init.d/vncserver
root@tasktop:~#

We will now need to reboot the server for the changes to take effect

reboot

Access server via VNC

You should now be able to access the server from any VNC client, using any number of available  VNC clients.  If you are on a ubuntu Desktop you can use Remmina or you can download the xfreerdp . If you're on a Mac then you can access the VNC connector straight from Safari

I won't go into the specifics of connecting your server in each VNC client, but it's import to note you will need to include the Port number 5901 in your connection, and connect via your username and password. As an example your connection string would look similar too:

vnc://192.168.0.1:5901

Install Tasktop Sync

Now that we've got VNC working on our server, we can start the relatively simpler process of installing Tasktop sync ,

This will require you to download the latest Linux deployment binary files.   To obtain the download files all you need to do is email the Tasktop support email address and one of the friendly folks will forward you a link the latest file download.  You may download the file to any folder or directory of your choice.

[ebs_thumbnail target="_self" src="https://garywoodfine.com/wp-content/uploads/2016/01/tasktop1-300x191.png"]

You can then open the terminal window on your server (([key]ctrl[/key] + [key]alt[/key] + [key]enter[/key]) and navigate to the relevant directory you have downloaded the file to.

cd /Documents/tasktop

You may want to enter into root mode

su -

Change permissions on the bin file to

chmod +x TasktopSync-4.5.2.20160121-0242-RELEASE-linux.bin

The just execute the bin

./TasktopSync-4.5.2.20160121-0242-RELEASE-linux.bin

This will then launch the regular installation process which you can then follow the Tasktop Sync user guide

 

 

 

 

Gary Woodfine
Latest posts by Gary Woodfine (see all)