Multiple Dropbox Instances on UNIX systems (Linux, Mac OS X)

Warning: This tricks has been tested on Mac OS X so far (including Snow Leopard), with version 0.6.570 of Dropbox. It has also been successfully tested on Linux Ubuntu 7.10, and should work for any *nix OS.

General idea

The basic idea is to just start Dropbox from the command-line using an alternate home-dir. This will create another Dropbox icon, and another Dropbox folder, which has to be in some other place from the original one. One way to distinguish the two menu bar icons is to change one to Leopard style (black and white) in its Preferences. The two Dropbox folders will both be called Dropbox (this cannot be changed), but you can distinguish them by their location, precisely. Each instance can be used with a different Dropbox account. For instance, I have a personnal Dropbox account and one for professional use. On my laptop, there are separated on two different user accounts, but at home, I would like both on the same user account. Hence, at home, I use the trick below. Technically speaking, this trick could be made an unlimited number of times.

Set it up on Mac OS X

Launch /Applications/Utilities/Terminal.app. Make sure you are running a "bash" shell. If needed, just type (do not include the dollar sign—that indicates the command prompt):

$ bash

Then paste the following command:

$ HOME=$HOME/.dropbox-alt /Applications/Dropbox.app/Contents/MacOS/Dropbox &

Now, you should entering a new Dropbox setup wizard window. A second Dropbox icon should appear on the status bar. Choose an existing account if you have one (different from the original one!) or create a new one. Make sure you choose an alternate location for your new Dropbox folder. If you quit the terminal, the new alternate Dropbox process will also quit. But do not worry! It is set up, and the remaining part of the trick below explains how to restart it with a dedicated little app bundle.

Set it up on Ubuntu (and probably other Linux distributions)

Open a terminal or whatever shell. Then paste the following commands:

$ mkdir $HOME/.dropbox-alt
$ HOME=$HOME/.dropbox-alt /usr/bin/dropbox start -i

Now, you should entering a new Dropbox setup wizard window. A second Dropbox icon should appear on the status bar. Choose an existing account if you have one (different from the original one!) or create a new one. Make sure you choose an alternate location for your new Dropbox folder. If you quit the terminal, the new alternate Dropbox process will also quit. But do not worry! It is set up, and the remaining part of the trick below explains how to restart it with a dedicated script.

Start automatically on login on Mac OS X

In order to run the second instance automatically on login, you'll have to create a small app bundle, which you will later add to startup items in the System Preferences "Accounts" pane. Starts by pasting the following command into Terminal. Again, do not include the initial dollar sign of each block:

$ mkdir -p ~/<whaveter place you like>/DropboxAltStarter.app/Contents/MacOS/

This will create recursively, if they do not exist, the folders "DropboxAltStarter.app", "Contents" and "MacOS". If you change the name "DropboxAltStarter" for something else, make sure you change it everywhere relevant in the next lines.

Now, open a text editor, and paste the following code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleExecutable</key>
    <string>DropboxAltStarter</string>
    <key>LSUIElement</key>
    <string>1</string>
</dict>
</plist>

And save it with the name "Info.plist" (this is crucial, do not choose another name) and save the file inside "DropboxAltStarter.app/Contents"! Now, open a new text file in the text editor, and paste the following text (warning: make sure you remove the leading whitespaces - I had to put one because of wiki formating):

 #!/bin/bash
 HOME=/Users/$USER/.dropbox-alt /Applications/Dropbox.app/Contents/MacOS/Dropbox

and save it with the same name as specified in the Info.plist file (i.e. look at the string just below "<key>CFBundleExecutable</key>"). And save the file inside "DropboxAltStarter.app/Contents/MacOS"! (Yes, with "MacOS" this time). You can close your text editor.

Make sure that your script is executable, by typing the following command in a terminal:

$ chmod 755 ~/<whatever place you like>/DropboxAltStarter.app/Contents/MacOS/DropboxAltStarter

Now, in the "<whaveter place you like>" directory, you have a small Mas OS X app bundle. You can add it to your login items in the System Preferences->Accounts. You can also double-click on it everytime you need to start this second instance of Dropbox (i.e. if it crashed).

Start automatically at boot on other *Nix systems (Linux, BSD, etc)

edit /etc/rc.local as root, then add the following line:

su <user> -c "/home/<user>/.dropbox-alt/.dropbox-dist/dropboxd &"

Where <user> is the username under which you want to run Dropbox.

This can be done for as many users as you like, provided that they actually exists and that they have Dropbox installed/symlinked in their home folder. You'll also need to set it up manually the first time, as it requires a graphical interface to link to an account. The above can also be used to auto-start Dropbox on systems which are not running Nautilus as the file manager.

TipsAndTricks/MultipleInstancesOnUnix (last edited 2009-12-19 13:00:55 by CédricF)