모션 서버가 시작되지 않습니다

모션 서버가 시작되지 않습니다

모션 v 4.0이 설치된 웹서버가 있는데 부팅 시 모션이 시작되지 않습니다. 매번 시작하라고 지시해야 합니다. 그러면 sudo motion -b재부팅해야 할 때까지 모든 것이 정상입니다. 구성 파일을 편집해 보았습니다 /etc/motion/motion.conf. /etc/defualt/motion

변수를 포함하려면: start_motion_daemon=yes 부팅 시 프로세스를 시작해야 하는 것은 무엇입니까?

하지만 확인하러 갈 때 프로세스가 실행되지 않습니다. rc.local 설정을 시도했는데 우분투에서는 더 이상 그렇게 하지 않는 것 같나요?

systemctl을 사용하여 서비스를 활성화해 보았습니다.

sudo systemctl enable motion
motion.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable motion

하지만 서비스가 활성화되지 않거나 심지어 켜지지도 않습니다. 그래서 로그를 살펴보았습니다.

[1:ml1] [NTC] [VID] [Jun 16 07:26:10] v4l2_get_capability: - VIDEO_CAPTURE
[1:ml1] [NTC] [VID] [Jun 16 07:26:10] v4l2_get_capability: - STREAMING
[1:ml1] [NTC] [VID] [Jun 16 07:26:10] v4l2_select_input: name = "Camera 1", type 0x00000002, status 00000000
[0:web_control] [NTC] [STR] [Jun 16 07:26:10] http_bindsock: error binding on 127.0.0.1 port 8080
[1:ml1] [NTC] [VID] [Jun 16 07:26:10] v4l2_select_input: - CAMERA
[0:web_control] [NTC] [STR] [Jun 16 07:26:10] motion_web_control: motion-httpd thread exit
[1:ml1] [ERR] [VID] [Jun 16 07:26:10] v4l2_select_input: Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy
[1:ml1] [NTC] [VID] [Jun 16 07:26:10] vid_v4lx_start: Using V4L1
[1:ml1] [NTC] [ALL] [Jun 16 07:26:10] image_ring_resize: Resizing pre_capture buffer to 1 items
[1:ml1] [ERR] [ALL] [Jun 16 07:26:20] motion_init: Error capturing first image
[1:ml1] [NTC] [STR] [Jun 16 07:26:20] http_bindsock: error binding on any IPv4 address port 8081
[1:ml1] [ERR] [ALL] [Jun 16 07:26:20] motion_init: Problem enabling motion-stream server in port 8081: Address already in use
[1:ml1] [NTC] [ALL] [Jun 16 07:26:20] motion_loop: Thread exiting
[1:ml1] [NTC] [VID] [Jun 16 07:26:20] vid_close: Closing video device /dev/video0
[0:motion] [NTC] [ALL] [Jun 16 07:26:21] main: Motion thread 1 restart
[1:ml1] [NTC] [ALL] [Jun 16 07:26:21] motion_init: Camera 0 started: motion detection Enabled
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] vid_v4lx_start: Using videodevice /dev/video0 and input -1
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] v4l2_get_capability: 
------------------------
cap.driver: "uvcvideo"
cap.card: "HD Webcam C615"
cap.bus_info: "usb-ff540000.usb-1.1"
cap.capabilities=0x84200001
------------------------
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] v4l2_get_capability: - VIDEO_CAPTURE
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] v4l2_get_capability: - STREAMING
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] v4l2_select_input: name = "Camera 1", type 0x00000002, status 00000000
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] v4l2_select_input: - CAMERA
[1:ml1] [ERR] [VID] [Jun 16 07:26:21] v4l2_select_input: Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy
[1:ml1] [NTC] [VID] [Jun 16 07:26:21] vid_v4lx_start: Using V4L1
[1:ml1] [NTC] [ALL] [Jun 16 07:26:21] image_ring_resize: Resizing pre_capture buffer to 1 items
(END)

로그를 읽으면 프로세스가 실행 중이라고 생각하지만 그렇지 않습니다.

제안에 따라 크론 작업을 설정하고 sudo crontab -e @reboot 줄을 실행하고 추가해 보았습니다./usr/bin/motion -b

하지만 재부팅해도 모션 데몬이 여전히 실행되지 않습니다.

부팅 시 이 프로세스를 시작하는 현대적인 방법을 알고 싶습니다. 우분투 18.04, LXDE.

답변1

cron @reboot를 사용할 수 있습니다

sudo crontab -e

그리고 줄을 추가하세요

@reboot   /path/to/bin/motion -b

답변2

먼저 sudo -u motion motion. 작동한다면 문제는 systemd에 의해 발생한 것입니다.

이는 반직관적이지만 systemd를 사용하면 daemon offMotion.conf에서 설정해야 합니다.

/etc/defualt/motion추신: Ubuntu/Debian에서는 파일이 필요하지 않을 수도 있습니다.

관련 정보