/etc/init.d 中的脚本在启动时不运行

sky*_*der 6 startup command-line init.d scripts

我想在启动时自动运行我的 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
Run Code Online (Sandbox Code Playgroud)

但是,Dropbox 不会在启动时运行。

请注意,调用会/etc/init.d/dropbox.sh顺利运行​​ dropbox 守护程序。

我知道 Ubuntu 有一个 GUI,我可以轻松地在那里添加 dropbox 脚本,但我想知道为什么我的终端命令没有这样做?这不是 Linux 机器的标准吗?

Rad*_*anu 2

insserv如果您使用而不是,这可能是一个好方法sudo update-rc.d dropbox.sh defaults。

\n\n
sudo insserv\n
Run Code Online (Sandbox Code Playgroud)\n\n

从man insserv:

\n\n
\n
insserv  is a low level tool used by update-rc.d which enables an installed sys\xe2\x80\x90\ntem init script (`boot script')\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

如果你得到command not found错误,可以通过运行以下命令进行修复:

\n\n
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv\n
Run Code Online (Sandbox Code Playgroud)\n\n

看insserv -h寻求帮助。

\n