Alfresco Desktop Sync on Linux

First off a disclaimer: Not only is the Alfresco Desktop Sync a preview release at present, there isn’t an official Linux version available, so all this is very, very unsupported!!!

To get the Alfresco Desktop Sync working in Linux you basically need to get the java code extracted from one of the other clients and install the Linux version of jnotify-lib. That all sounds simple, and it isn’t as complex as you may expect.

First off the easiest way to get hold of the java code is to extract it from the Windows exe (I did take a look at the dmg, but had little success with the later versions of the Desktop Sync). You can download the Windows version of the file from here:

http://sourceforge.net/projects/alfrescodesktop/files/

Open the .exe file up in Archive Manager and drag the following files into a suitable directory (I created /scripts/alfrescosync/ for the purpose):

Desktop Sync.jar
Desktop Sync.vmoptions
OfflineLogo.png
OnlineLogo.png

The next job is to get the JNotify code for Linux. This can be downloaded from here:

http://sourceforge.net/projects/jnotify/files/

Extract the zip file into the same directory as the previous files, which should create a sub directory (in my case jnotify-lib-0.94). Now you are ready to run the .jar file with the appropriate parameters to tell it where JNotify is. I did this by creating a bash script called desktopsync:

#! /bin/bash
java -Djava.library.path=~/scripts/alfresco/jnotify-lib-0.94/64-bit\ Linux/ -jar Desktop\ Sync.jar

Remember to make it executable and you should now be able to run it with:

./desktopsync

On my Ubuntu 12.10 installation this created an icon on the panel and downloaded the files from my Alfresco installation (once configured of course).

desktopsync-panel

One thing to note is the URL, this should be along the lines of:

http://192.168.10.61:8080/alfresco/api

the /api at the end is the key, before that you just have the standard server URL, port and /alfresco

desktopsync-login
For reference I’ve worked with jnotify-lib-0.94.zip and DesktopSync_windows_0_9_6.exe.

A few things I’ve noted with this setup are:

  • On testing this I’ve found new files are successfully downloaded, although changes are not uploaded (I’m not sure if this is what the app is supposed to do or not, I haven’t explored further yet).
  • It also appears that, at least on my test system (a 64 bit install of Ubuntu 12.10) there is actually no need to install the JNotify library as this works out of the box). This means you can run the code with java -jar Desktop\ Sync.jar
  • I’ve noticed also that, if you set it to Auto login (you cannot set it to Run on computer start) it will always fail to connect first time and you have to do it manually.

desktopsync-settings