Sparkleshare Ubuntu

Install Sparkleshare (Client) in Ubuntu via PPA

Update Jun 14th, 2011: there is now a stable SparkleShare PPA for Ubuntu 11.10, 11.04 and 10.10. Add the PPA and install SparkleShare using the commands below:

mkdir -p ~/.ssh sudo add-apt-repository ppa:warp10/sparkleshare sudo apt-get update sudo apt-get install sparkleshare libwebkit1.1-cil git-core

The „mkdir -p ~/.ssh“ command is required because if the ~/.ssh folder doesn’t exist, SparkleShare crashes.

For Nautilus integration, also install „python-nautilus“:

sudo apt-get install python-nautilus

There are also two daily / unstable builds PPAs: ppa:terminus/ppa for Natty and ppa:pdffs/sparkleshare for Lucid.

Setting up Sparkleshare with GitHub

Setting up Sparkleshare with your own server is a bit complicated so in this post I’ll only cover synchronizing your files with GitHub. For using Sparkleshare with your own server, see: Set Up Sparkleshare With Your Own Server.
GitHub is a web-based hosting service for projects that use the Git revision control system but with Sparkleshare, we’ll use it as our own cloud server to which the files will be synchronized. You can use Sparkleshare (w/ GitHub) to back up files in the cloud, easily share files with others, synchronize your local code with GitHub and so on. All this also applies to Gitorious too, but in this post I’ll only cover setting up Sparkleshare with GitHub.
1. Get a GitHub account (it’s free!).
2. Create a repository @ GitHub: click „Dashboard“, then click „New Repository“. Your repository name will later be referred to as your folder in Sparkleshare.

3. Start Sparkleshare, enter your name and email and click next. Then stop (do not go to the next step)! Now open Nautilus and go to /home/YOUR_USERNAME/.config/sparkleshare

Here, you’ll find a file called „„. Open this file in a text editor and copy its contents.
4. On the GitHub site go to Account Settings > SSH Public keys, click on „Add another public key“:

Github SSH key

Here, give your key a title (like SparkleShare-home or whatever you want) and in the „key“ field, paste the .pub file contents (which you’ve copied under step 3).

5. Now return to the Sparkleshare window:

Sparkleshare setup

Select „GitHub“ and under „Folder name“ enter: „your_github_username/repository“ (without the quotes), where „your_github_username“ is your GitHub username and „repository“ is the name of the GitHub repository you’ve created under step 2.

Sparkeshare Ubuntu screenshot

Now you should have a notification area icon for Sparkleshare and a folder called „Sparkleshare/your_repository_name“ in your home directory. Copy files to this folder and they will get synchronized with GitHub.

Important: do not place any private files into the Sparkleshare folder as these files can be seen by anyone if you have a free account. For a paid account, you can get more space, private repositories, private collaborators, etc.

How to set up Sparkleshare with your own server

1. Stop sparkleshare on your computer. To get Sparkleshare to sync with your server, you’ll need to create a paswordless SSH key which you’ll use to login to your server.

Firstly install openssh-client on your computer (obviously you must have Sparkleshare installed already):

sudo apt-get install openssh-client

Now generate a key pair if you don’t have one already:

ssh-keygen -t rsa

Do not enter a password for the key (just press the ENTER key).

2. Copy the key to the server:

ssh-copy-id USER@SERVER

3. Connect to the server and install GIT (if it’s not already installed):

ssh USER@SERVER sudo apt-get install git-core

4. Now let’s set up the Sparkleshare GIT folder on your server:

git init --bare sparkleshare.git

5. Back on your computer, go into the Sparkleshare folder and clone the remote Sparkleshare GIT repo:

cd ~/SparkleShare/ git clone USER@SERVER:sparkleshare.git

6. You can now start SparkleShare from the menu – copying new files in your ~/Sparkleshare/sparkleshare folder should now sync them with your server (without requesting for a password). To set up Sparkleshare sync on multiple computers, simply follow steps 1, 2 and 5 on each computer.


Sparkleshare Ubuntu