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 personal 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.
On Mac OS X
Launch /Applications/Utilities/Terminal.app. Make sure you are running a “bash” shell. If needed, just type:
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.
Start automatically on login
There are two methods for this. One method is to create a small app bundle that you then add to startup items. Alternatively, you can use Automator to create an application that runs the bash command above in Terminal.
- Open Automator from your Applications folder
- Choose the ‘Application’ template from the template chooser
- In the Actions Pane on the right side, Choose ‘Library > Utilities’
- From the next pane choose ‘Run Shell Script’ and drag it into your workflow.
- In the Run Shell Script text box, paste the command you used above:
bash HOME=$HOME/.dropbox-alt /Applications/Dropbox.app/Contents/MacOS/Dropbox &
- Make sure to include the linebreak.
- Run the script (button on the top right) to make sure it works.
- Go to File > Save As and save anywhere.
- Add the resulting application to your Login items.
App Bundle Method
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 formatting):
#!/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).
Note: It doesn’t seem to work with version of 0.7.110 on Ubuntu 9.10
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 at boot
For Most Scenarios
edit /etc/rc.local as root (Mac OS X uses /etc/rc.common), 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.
For More Recent Versions of Linux
Disable the autostart feature of the existing Dropbox account. Then copy your existing credentials to a new folder, like so:
mv .dropbox .dropbox-personal
Create a new script called MultipleDropboxInstances.sh which contains the following:
#!/bin/bash dropboxes=".dropbox-personal .dropbox-work" for dropbox in $dropboxes do HOME="/home/$USER" if ! [ -d "$HOME/$dropbox" ] then mkdir "$HOME/$dropbox" 2> /dev/null ln -s "$HOME/.Xauthority" "$HOME/$dropbox/" 2> /dev/null fi HOME="$HOME/$dropbox" /home/$USER/.dropbox-dist/dropboxd 2> /dev/null & done
Give this file executable rights:
$ chmod +x path/to/your/file
Now add this file to your startup programs. (Note, this can be edited to accommodate as many instances of Dropbox as you wish. Just add an entry in the line defining the directory names: dropboxes=”.dropbox-personal .dropbox-work .dropbox-whatever”.)
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.