시작 시 서비스 자동 실행 후 로그인할 수 없습니다. [Debian]

시작 시 서비스 자동 실행 후 로그인할 수 없습니다. [Debian]

정상적으로 부팅되면 로그인한 곳에서 로그인 프롬프트가 나타납니다. 하지만 자동으로 움직임을 시작하게 한 후에는 움직임이 너무 커서 로그인하거나 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데비안의 패키지그리고 그것의초기화 스크립트, motion다음과 같이 시작됩니다.

start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion

( DAEMON/usr/bin/motion). 데몬을 자동으로 시작하려면 를 편집해야 합니다 /etc/default/motion.

답변2

initscript 시작 작업이 종료되지 않기 때문에 문제가 발생할 가능성이 높습니다. 일반적으로 init 스크립트는 데몬 프로세스를 시작하고 프로세스가 시작된 후 종료되어야 합니다(또는 파일 시스템 마운트와 같은 일회성 작업을 수행함).

이동을 "데몬화"하려면 start-stop-daemon을 적절하게 사용해야 합니다.

Debian initscript 템플릿은 시스템의 /etc/init.d/sculpture에 있어야 하며 /etc/init.d/motion에 복사하여 필요에 맞게 편집할 수 있습니다.

initscript도 사용할 수 있습니다데이브 씨스포츠 포크, 그러나 여기에는 약간의 조정이 필요할 수도 있습니다(예: 스포츠 사용자를 사용할 위치). 이 모든 것을 염두에 두고 스포츠는 이미포장된데비안: 멋진 초기화 스크립트가 있습니다. 왜 그것을 사용하지 않습니까?

관련 정보