3

Just installed 16.04. Previously with same hardware Dropbox was working. Reinstalled OS due to a hard drive crash, and installed Dropbox. Dropbox icon appears, but can't be used as menus don't appear. This is a well-known issue that's been around since 14.04 at least.

There is a fix that is mentioned several places such as here

 dropbox stop
dbus-launch ~/.dropbox-dist/dropboxd start -i

That will theoretically start dropbox with the system tray ("notification area") icon, instead of the nonfunctional "indicator area" icon.

When I try using dbus-launch, I get this error message:

$ dbus-launch dropbox start -i
 Unable to create /home/~/.dbus/session-bus

Googling and digging into that error sent me down a rabbithole to a lot of stuff I don't understand. For example reading man pages on dbus-launch and not understanding a single sentence of it. I think it's above my pay grade. I also tried launching the command dbus-launch dropbox start -i as SU but that gave the same error. I understand that launching dropbox as sudo will not work long term, I was just grabbing at straws.

I can use the dropbox command-line interface, however it does not allow me to log onto my account, set up a different folder for dropbox, and so on.

How would I go about achieving use of the Dropbox GUI interface and work around this error?

[Edit] Also attempted using

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

this did not produce an error message, however the icon dropdown menu remains nonfunctional and the dbus-launch method still produces the same error message.

[edit] for no apparent reason, this icon seems to be working now despite the error. See my answer to my own question below.

  • I always installed from the official repositories (after enabling Partners) and never had such issues. Always prefer software that has been tested and confirmed to for for a given release. –  Apr 16 '17 at 14:11
  • 1
    Can you try sudo chown username.username -R .dbus where username is your user name ? – Harris Apr 16 '17 at 21:50
  • sudo chown username.username -R .dbus this indeed made the error message not appear when I issue dbus-launch dropbox start -i. Thanks! What does that do, exactly? – Invention1 Apr 16 '17 at 22:29

1 Answers1

3

Despite not working several times in a row, here is a sequence of things that seemed to bring the icon back to functioning:

dropbox stop
dbus-launch ~/.dropbox-dist/dropboxd start -i

This results in an error "Unable to create /home/~/.dbus/session-bus" Then:

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

This produced no output, but icon didn't work either.

Reboot. Icon and its menus seem to work now. Reboot again. Same problem reappears - menus don't work.

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start

Same error message, "Unable to create /home/~/.dbus/session-bus" however dropbox icon reappears in a different spot on the tray, and menus work.

Late Breaking News: @Harris found a way to get rid of the error message

sudo chown username.username -R .dbus

Next I will try putting the dbus command into the dropbox autostart file.

[edit] Now that the dropbox icon menu is working, I can proceed with modifying the autostart.
First, open the icon menu and uncheck "Start Dropbox on System Startup".

I copied my desktop entry: Dropbox replaces this every time it starts so you can't just edit it:

cp ~/.config/autostart/dropbox.desktop ~/.config/autostart/start_dropbox.desktop

then editing the new file thus:

    [Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
#Exec=dropbox start -i
Exec=dbus-launch dropbox start -i
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
StartupNotify=false

Finally went to Applications > System Tools > Preferences > Startup Applications and noticed now two instaces of Dropbox as startup programs. Uncheck the original and rename the other one to Dropbox With Icon Fixed.

Tried this at the command prompt

dropbox autostart n

most of this is reviewed here

This difference being in my case the error message. Despite that error message the hack seems to work.