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
[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"] [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"] [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
- How to add RSS feed to nuxt 3 - September 25, 2023
- What is Middleware in Dotnet - September 19, 2023
- How to create a WebSocket server in dotnet - September 11, 2023