Headless Dropbox

I have been playing around with the very impressive Dropbox, watching the surprisingly rapid syncing between my desktop and netbook, when I stumbled on a use case that would totally rock my socks off: I totally need a Dropbox on my Linode!

So I copied ~/.dropbox* up to my Linode VM server, checked if it had any obvious references to the machine it was originally installed on, and ran ~/.dropbox-dist/dropboxd (a quick ldd will show you that it is a simple daemon, and doesn’t link to any of the GUI stuff).

Voila — Dropbox on my server, synced back with my desktop and netbook, with the same delightful performance and seamless attention to detail as the desktop client. Seriously, their GNOME-like “Just Works” approach and Nautilus integration are totally awesome.

(I also posted to their forum about it, so there might be some discussion there to watch.)

Bravo, Dropboxers.

Update: In the forum, Walther points out that you can use the same computer to register two nodes with different names (using the GUI), so the Dropbox central server knows you have two different nodes connected. Great tip, particularly given that it might avoid problems in the future.

  • E-mail this story to a friend!
  • Print this article!
  • Twitter
  • Identi.ca
  • del.icio.us
  • Facebook
  • Digg

23 Comments

  1. Posted September 16, 2008 at 15:50 | Permalink | Reply

    I’ve been dropping some of my dotfiles in ~/Dropbox/dotfiles and replacing the real files with symlinks. Now I have my muttrc, offlineimaprc, bashrc, signature and others all synced between my laptop and my desktop; it’s been working great so far.

    I could never get the tomboy ssh-sync to work so I am trying .tomboy as well, it synced the notes but I wonder when it’s going to blow up while both of them are running.

    It would be cool to figure out a way to throw in the ~/Private that is in Intrepid now in a Dropbox but I haven’t investigated yet.

  2. Posted September 16, 2008 at 16:10 | Permalink | Reply

    Hi,

    I’m currently trying out Dropbox as well, but so far I’m not that much impressed. I haven’t found a feature superior to a WebDAV storage mounted via davfs2. This solution also integrates nicely into the OS as a generic mount(Linux)/HD(Win)/Whatever(Apple :) ) without the need to install a Desktop Environment specific daemon.

  3. Posted September 16, 2008 at 16:24 | Permalink | Reply

    Actually, while trying to follow your advice, I stumbled across a dependency: libgtk-x11.

    Looking at their forums, it seems that there are, indeed, graphical dependencies. How did you manage to geo through these?

  4. Posted September 16, 2008 at 17:05 | Permalink | Reply

    @psilva: The nautilus-dropbox package certainly depends on GNOME stuff, but the dropboxd binary (which Dropbox downloads after you connect) doesn’t. You can just copy up your configured install and run dropboxd.

  5. Posted September 16, 2008 at 17:46 | Permalink | Reply

    Wow, Dropbox is very very impressing software! Thanks for pointing it out!

  6. davide
    Posted September 16, 2008 at 18:14 | Permalink | Reply

    does it work behind a proxy?
    I’m trying to use it on ubuntu hardy installation but it hangs up after “killall nautilus”…

    On my main Linux installation (Debian Sid) it works pefectly…

  7. Posted September 16, 2008 at 18:16 | Permalink | Reply

    @davide: The GNOME client has proxy settings (context menu on the notification icon, click “Preferences…”)

  8. davide
    Posted September 16, 2008 at 18:47 | Permalink | Reply

    @jdub: the problem is the client starts and hangs up. I’ve a frozen icon in the “notify zone” and I cannot right click… moreover all desktop seems to be frozen (but other applications still work), i.e. desktop icons are not active and so on…

    Maybe it is useful: the proxy requires authentification via login/password but I’ve entered it in Gnome Network Proxy Preferences.

  9. Posted September 16, 2008 at 18:55 | Permalink | Reply

    @davide: Not sure, I haven’t seen that. (Also, Dropbox has its own proxy settings in its preferences box, unrelated to GNOME’s… a bit unfortunate.)

  10. Khashayar
    Posted September 16, 2008 at 20:18 | Permalink | Reply

    Wow!
    Dropbox is really really nice, exactly what I’ve been looking for, for a long time.
    Thanks for pointing it out!

    (Too bad it’s not fully open source though…)

  11. Victor Bogado
    Posted September 16, 2008 at 23:02 | Permalink | Reply

    I loved the idea and would have tried, but it seems that the most important piece is closed source. :-(

  12. Posted September 17, 2008 at 00:12 | Permalink | Reply

    jdub: I was talking specifically about the daemon. Here’s the traceback:

    psilva@psilva:~$ .dropbox-dist/dropboxd
    Traceback (most recent call last):
    File “”, line 6, in
    File “__main__.py”, line 105, in
    File “__main__dropbox__.py”, line 174, in
    File “__main__dropbox__.py”, line 169, in main_startup
    File “arch/linux/startup.py”, line 129, in main_thread_loop
    File “ui/wx_core.py”, line 4, in
    File “wx/__init__.py”, line 45, in
    File “wx/_core.py”, line 4, in
    File “wx/_core_.py”, line 14, in
    ImportError: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
    Exception in thread RTRACE (most likely raised during interpreter shutdown):
    Traceback (most recent call last):
    File “threading.py”, line 486, in __bootstrap_inner
    File “common_util/trace.py”, line 486, in run
    File “common_util/trace.py”, line 412, in rtrace_thread_func
    : ‘NoneType’ object is not callable
    Unhandled exception in thread started by
    Error in sys.excepthook:

    Original exception was:
    Exception in thread CONTROL (most likely raised during interpreter shutdown):
    Traceback (most recent call last):
    File “threading.py”, line 486, in __bootstrap_inner
    File “common_util/trace.py”, line 31, in intwatched
    : ‘NoneType’ object is not callable
    Unhandled exception in thread started by
    Error in sys.excepthook:

    Original exception was:

    Which is funny, since, as you said, ldd doesn’t show any linking to libgtk-x11.

  13. Posted September 17, 2008 at 00:19 | Permalink | Reply

    @psilva: Did you configure it locally (with GUI) before copying it up and trying to run dropboxd? Looks like it’s trying to start up its GUI first-run configuration stuff.

  14. Posted September 17, 2008 at 02:43 | Permalink | Reply

    jdub: Yeah, I ran it first locally, same architecture, configured it properly, checked that it worked, then scp’ed .dropbox* to my headless box, ran it, and got that trace. So it’s definitely weird. I’m thinking that maybe they changed the lib deps in their last dropboxd revision, which I downloaded. When did you set up yours? I just tried this yesterday.

  15. Posted September 17, 2008 at 02:55 | Permalink | Reply

    @psilva: About half an hour before I posted… Check the output of ldd on your version of dropboxd — I doubt they’ve changed the direct library dependencies, but for whatever reason, yours is attempting to dynamically load the GUI layer.

  16. Filip
    Posted September 17, 2008 at 05:39 | Permalink | Reply

    “their GNOME-like “Just Works” approach”, ahahahah, good one.

  17. Posted September 17, 2008 at 15:31 | Permalink | Reply

    What about privacy? You are putting your private files on a remote server? Or am I missing something?

    BTW: OpenID with meinguter.name does not seem to work here ;(

  18. Posted September 17, 2008 at 16:41 | Permalink | Reply

    @Frank: I choose which files go up there, and it means I can more easily share stuff with other Dropbox users.

  19. Posted September 17, 2008 at 19:13 | Permalink | Reply

    Ok I understand. It would be great to be able to install DropBox onto own servers. Any idea if the DropBox guys are planning that for the future?

    “We were unable to authenticate your claimed OpenID, however you can continue to post your comment without OpenID” any idea about that? OpenID provider is https://meinguter.name/

  20. Gaspa
    Posted September 17, 2008 at 20:06 | Permalink | Reply

    bah.
    It gives to me a bad feeling, at the head of the document they stated that’s open,free, and blablabla…
    and at the bottom, the sentence is corrected by “dropboxd is a closed-source daemon”…
    So what’s open? the interface? uh cool…

    And moreover, why should I write _opensource_ interfaces (kde,terminal,and so on) based on a _closedsource_ daemon?

    /me’s searching an opensource alternative.

  21. Cocoroto
    Posted September 19, 2008 at 02:25 | Permalink | Reply

    Jeez, the servicelooks good but I value my privacy more than its usefulness. WhyTF do they want to have access to your files? Accessing your public folder is not enough for them? Their privacy policy is the worst I have seen for a long time. It should not be used for work files at all.

  22. Cocoroto
    Posted September 19, 2008 at 02:35 | Permalink | Reply

    Er… obviously their privacy policy plays with you when they say: “BY UTILIZING THE SITE, CONTENT, FILES AND/OR SERVICES, YOU CONSENT TO ALLOW DROPBOX TO ACCESS YOUR COMPUTER TO ACCESS ANY FILES THAT ARE PLACED IN THE ‘MY DROPBOX,’ ‘DROPBOX’ FOLDERS, AND/OR ANY OTHER FOLDER WHICH YOU CHOOSE TO LINK TO DROPBOX.” It is not a joke, they are mixing Dropbox (as a service) with Dropbox as a company, throughout all their legal stuff. WTF… (sorry for ranting here, but I think other users should be concerned, and I almost rushed into using their service after reading your posts).
    Cheers!

  23. =!F0AA.4219.B594.355F
    Posted May 26, 2009 at 17:11 | Permalink | Reply

    Beware of not having your Dropbox in sync between systems when doing this without changing the hostname first… It will delete everything :>

3 Trackbacks

  1. By ${me:-whatever} » Dropbox on September 18, 2008 at 11:56

    [...] you’re running Linux, it’s also possible to use DropBox with no file-manager or GUI of any kind. (Also seen on Planet [...]

  2. By My Worklog » Post Topic » Links for 18-Sep-2008 on September 18, 2008 at 17:03

    [...] Headless Dropbox. [...]

  3. By links for 2008-09-25 « Bloggitation on September 26, 2008 at 07:24

    [...] Headless Dropbox (tags: linux backup sysadmin) [...]

Post a Comment

Your email is never shared. Required fields are marked *

*
*

Comments will be sent to the moderation queue.