在启动时自动运行服务后无法登录

在启动时自动运行服务后无法登录

启动后正常启动时,会从我登录的位置出现登录提示。但是在使运动自动启动后,我无法登录或打开 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。最简单的解决方案是使用motionDebian 中的软件包和它的初始化脚本,其开头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 中:它有一个很好的初始化脚本。你为什么不使用它?

相关内容