web-dev-qa-db-fra.com

Impossible d'exécuter le démon dropbox au démarrage

J'ai installé Dropbox sur mon Ubuntu 16.04 en suivant les instructions de http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-in-an-entirely-text-based-linux-environment =

Lancé le serveur avec le script pyton et lié à mon compte Dropbox. Tout fonctionne bien, je peux synchroniser mes fichiers comme prévu.

fmf@Kodi:~$ ls -al |grep dropbox-dist
drwxr-xr-x  3 fmf  fmf       4096 Aug  1 18:05 .dropbox-dist
fmf@Kodi:~$

fmf@Kodi:~$ ll .dropbox-dist/
total 20
drwxr-xr-x  3 fmf fmf 4096 Aug  1 18:05 ./
drwxr-xr-x 31 fmf fmf 4096 Aug  3 10:27 ../
-rwxr-xr-x  1 fmf fmf   99 Aug  1 18:05 dropboxd*
drwxr-xr-x  9 fmf fmf 4096 Aug  1 18:05 dropbox-lnx.x86_64-8.3.16/
-rw-r--r--  1 fmf fmf    6 Aug  1 18:05 VERSION
fmf@Kodi:~$

fmf@Kodi:~$ ./dropbox.py start
Starting Dropbox...Done!
fmf@Kodi:~$ ./dropbox.py status
Up to date
fmf@Kodi:~$

Maintenant, j'aimerais qu'il soit lancé au démarrage. C'est pourquoi, dans la même page Web, j'ai trouvé des instructions pour créer /etc/init.d/dropbox et définir USER sur mon utilisateur. Je lance update-rc.d et j'ai essayé de redémarrer. Après le redémarrage, le démon n'est pas en cours d'exécution.

Alors j'ai vérifié:

fmf@Kodi:~$ Sudo journalctl -u dropbox
-- Logs begin at Wed 2016-08-03 10:25:51 CEST, end at Wed 2016-08-03 10:36:35 CEST. --
Aug 03 10:26:37 Kodi systemd[1]: Starting LSB: dropbox service...
Aug 03 10:26:37 Kodi systemd[1]: dropbox.service: Control process exited, code=exited status=203
Aug 03 10:26:37 Kodi systemd[1]: Failed to start LSB: dropbox service.
Aug 03 10:26:37 Kodi systemd[1]: dropbox.service: Unit entered failed state.
Aug 03 10:26:37 Kodi systemd[1]: dropbox.service: Failed with result 'exit-code'.
fmf@Kodi:~$

fmf@Kodi:~$ systemctl status dropbox.service -l
● dropbox.service - LSB: dropbox service
   Loaded: loaded (/etc/init.d/dropbox; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2016-08-03 10:26:37 CEST; 10min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3147 ExecStart=/etc/init.d/dropbox start (code=exited, status=203/EXEC)

Aug 03 10:26:37 Kodi systemd[1]: Starting LSB: dropbox service...
Aug 03 10:26:37 Kodi systemd[1]: dropbox.service: Control process exited, code=exited status=203
Aug 03 10:26:37 Kodi systemd[1]: Failed to start LSB: dropbox service.
Aug 03 10:26:37 Kodi systemd[1]: dropbox.service: Unit entered failed state.
Aug 03 10:26:37 Kodi systemd[1]: dropbox.service: Failed with result 'exit-code'.
fmf@Kodi:~$

Qu'est-ce que je fais mal?

3
effemmeffe

J'ai finalement réussi à avoir Dropbox pour démarrer au démarrage. J'ai découvert que Ubuntu 16.04 utilise systemd. J'ai donc écrit un fichier de configuration d'unité pour Dropbox:

fmf@Kodi:~$ cat /etc/systemd/system/dropbox.service
[Unit]
Description=Dropbox Service
After=network.target

[Service]
ExecStart=/bin/sh -c '/usr/local/bin/dropbox start'
ExecStop=/bin/sh -c '/usr/local/bin/dropbox stop'
PIDFile=${HOME}/.dropbox/dropbox.pid
User=fmf
Group=fmf
Type=forking
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3

[Install]
WantedBy=multi-user.target
fmf@Kodi:~$

Ensuite, j'ai créé un lien vers le script officiel python pour contrôler la liste déroulante:

fmf@Kodi:~$ Sudo ln -sf /home/fmf/dropbox.py /usr/local/bin/dropbox

Et activé le service:

fmf@Kodi:~$ Sudo systemctl enable dropbox.service

Après un redémarrage, la Dropbox fonctionne comme prévu.

4
effemmeffe