启动后正常启动时,会从我登录的位置出现登录提示。但是在使运动自动启动后,我无法登录或打开 GUI,因为运动是使用命令行显示录音状态。
我正在 Linux 上使用 Motion 录制视频流。在文件夹中
\etc\init.d
编写了一个脚本来在启动时执行运动。
case $1
start)
echo "Starting Motion..."
sudo motion
;;
stop)
# when the init daemon performs a shutdown the motion is terminated
kill $(pidof motion)
;;
*)
;;
esac
exit 0
该脚本被设为可执行并添加到启动序列中。我的运行级别是 3(命令行)。
答案1
您需要motion
使用或类似的东西作为守护进程启动start-stop-daemon
。最简单的解决方案是使用motion
Debian 中的软件包和它的初始化脚本,其开头motion
如下:
start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion
(DAEMON
是/usr/bin/motion
)。要让守护进程自动启动,您需要编辑/etc/default/motion
.
答案2
问题很可能是因为您的 initscript 启动操作没有退出。一般来说,初始化脚本应该启动守护进程并在进程启动后退出(或者执行一次性作业,例如挂载文件系统)。
您应该适当地使用 start-stop-daemon 来“守护”运动。
Debian initscript 模板应该位于您系统上的 /etc/init.d/sculpture 中,您可以将其复制到 /etc/init.d/motion 并尝试根据您的需要进行编辑。
还有一个 initscript 可用戴夫先生运动叉,但这可能还需要一些调整(例如,在那里使用运动用户)考虑到所有这些,运动已经是包装好的在 Debian 中:它有一个很好的初始化脚本。你为什么不使用它?