web-dev-qa-db-ja.com

/etc/init.dのスクリプトは起動時に実行されません

起動時にDropboxデーモンを自動的に実行したかった。ターミナル経由で実行しました。つまり、(1)/etc/init.dに移動し、(2)実行可能にし、(3)Sudo update-rc.d dropbox.sh defaultsを実行しました。だから私たちは

$ ll /etc/init.d/dropbox.sh 
-rwxr-xr-x 1 root root 38 Aug 16 00:18 /etc/init.d/dropbox.sh*

$ cat /etc/init.d/dropbox.sh 
#! /bin/sh
~/.dropbox-dist/dropboxd &

$ ll ~/.dropbox-dist/dropboxd
-rwxr-xr-x 1 skrd skrd 258 Jun  6 03:03 /home/skrd/.dropbox-dist/dropboxd

ただし、Dropboxは起動時に実行されません。

/etc/init.d/dropbox.shを呼び出すと、問題なくdropboxデーモンが実行されます。

UbuntuにはこのためのGUIがあり、Dropboxスクリプトを簡単に追加できることは知っていますが、なぜ端末コマンドがそれを行わなかったのでしょうか? Linuxマシンの標準ではないでしょうか?

6
skytreader

Sudo update-rc.d dropbox.sh defaultsの代わりにinsservを使用するとよい方法です。

Sudo insserv

man insservから:

insserv  is a low level tool used by update-rc.d which enables an installed sys‐
tem init script (`boot script')

command not foundエラーが表示された場合は、次のコマンドを実行して修正できます。

Sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

ヘルプについては、insserv -hを参照してください。

2
Radu Rădeanu