web-dev-qa-db-ja.com

起動時にsystemdを介して開始すると、dropboxdが「接続中...」でハングする

Systemdサービスファイルdropbox.serviceを次のように設定しました。

[Unit]
Description=dropbox
After=local-fs.target network.target

[Service]
User=romeovs
ExecStart=/usr/bin/dropboxd

[Install]
WantedBy=multi-user.target

これにより、起動後いつでもドロップボックスデーモンが実行されると、正常に起動します。ただし、起動時にenable実行すると、問題が発生するようです。 dropbox statusは、DropboxがConnecting...であることを示しています。

私の推測では、Dropboxを起動する前に、ネットワークを完全に稼働させる必要があります。 systemdでこれを強制するにはどうすればよいですか?

3
romeovs

簡単なハックとして:

[Unit]
Description=dropbox
After=local-fs.target network.target

[Service]
User=romeovs
ExecStartPre=sh -c 'while ! ping -c1 dropbox.com >/dev/null; do sleep 1; done'
ExecStart=/usr/bin/dropboxd

[Install]
WantedBy=multi-user.target

ネットワークマネージャーの報告とは独立して機能する必要があります。

1
Chris Down