You are not logged in.
[orschiro@thinkpad dispatcher.d]$ cat 10-dropbox
#!/bin/bash
# /etc/NetworkManager/dispatcher.d/10-dropbox
case "$2" in
up)
killall dropbox
su -c dropboxd orschiro
;;
down)
;;
esac
-rwxr-xr-x 1 root root 163 16. Mär 17:41 10-dropbox
If I run this script manually, dropbox is killed, the tray icon disappears and comes up again.
If I run this script automatically as a dispatcher script executed by NetworkManager after a connection is up, the tray icon disappears but never comes up again.
What is the reason?
EDIT:
I just saw in the journal that the script seems to time out:
Mär 16 17:57:26 thinkpad NetworkManager[459]: <warn> Dispatcher script timed out: Script '/etc/NetworkManager/dispatcher.d/10-dropbox' timed out.
How can I increase the timeout?
Last edited by orschiro (2013-03-23 17:37:58)
Offline
I don't know what is the reason for the beaviour you are seeing,
but I prefer to use the systemd service instead of calling dropboxd from the dispatcher:
case "$2" in
up)
systemctl restart dropbox@orschiro
;;
down)
systemctl stop dropbox@orschiro
;;
esac
Offline
Thank you aesiris.
I did not know that dropbox has a systemd service. However, does starting the service bring up a tray icon on your system?
Here on Cinnamon it does not show a tray icon. Dropboxd (started manually) does.
Offline
I do not know because I use only the CLI interface.
I guess the difference comes from $DISPLAY not being set.
See if you find any other difference in the ENV of dropbox:
tr "\000" "\n" < /proc/$(pidof dropboxd)/environ
Offline
[orschiro@thinkpad ~]$ tr "\000" "\n" < /proc/$(pidof /opt/dropbox/dropbox)/environ
LC_MONETARY=de_DE.utf8
LC_NUMERIC=de_DE.utf8
USER=orschiro
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
LANG=en_US.utf8
LC_MEASUREMENT=de_DE.utf8
SHLVL=0
HOME=/home/orschiro
LOGNAME=orschiro
LC_TIME=de_DE.utf8
I had to change dropboxd to /opt/dropbox/dropbox for the pidof to work. What does that output say?
Offline
The wiki provides the answer. According to that it is normal to not have a tray icon.\
Recent versions of Dropbox come with a systemd service file. Running Dropbox as a daemon does not give you an icon in the system tray, but syncs your files and folders in the background.
.
So I guess I will just stick to the service approach without the tray icon. At least this does its work and can be called from the dispatcher.
Offline
[orschiro@thinkpad ~]$ tr "\000" "\n" < /proc/$(pidof /opt/dropbox/dropbox)/environ ...
I had to change dropboxd to /opt/dropbox/dropbox for the pidof to work. What does that output say?
The output writes all the environment variables of that process (It's the same difference as when on the forum you are asked to post the output of "LANG=C pacman -Qi pacman" instead of just "pacman -Qi pacman").
I think you posted the output relative to a dropbox process started from systemd, try it when it is started from your user shell and see the difference.
If (as I am guessing) the problem is only that DISPLAY is not set, you can teach systemd to set the correct value.
For example using the new (systemd 198) drop-in functionality you would do:
mkdir /etc/systemd/system/dropbox.service.d/
cat > /etc/systemd/system/dropbox.service.d/EnvDisplay0.conf <<EOF
[Service]
Environment=DISPLAY=:0
EOF
if you now start dropbox from systemd, you should find also "DISPLAY=:0" in the output from /proc/.../environ
I hope that this would be enought to make the icon appear.
Offline
Thanks aesiris for the hint with the environment setting. I wondered that it is not used as default in the Dropbox service file. This brings up the tray icon correctly!
Offline