モーションサーバーが起動しない

モーションサーバーが起動しない

私はMotion v 4.0のWebサーバーを持っていますが、起動時にMotionが起動しません。毎回起動するように指示しないと、sudo motion -b再起動が必要になるまですべてうまくいきません。設定ファイルを編集してみましたが/etc/motion/motion.conf/etc/defualt/motion

変数を含めるには、start_motion_daemon=yes 起動時にプロセスを開始することになっているのはどれですか?

しかし、確認してみるとプロセスは実行されていません。rc.local を設定しようとしましたが、Ubuntu はもうそれを実行していないようです。

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)

ログを読むと、プロセスは実行されているように思えますが、実際には実行されていません。

提案に従って、cronジョブを設定して実行しsudo crontab -e 、@rebootの行を追加してみました。/usr/bin/motion -b

しかし、再起動しても、モーションデーモンはまだ実行されません。

起動時にこのプロセスを開始する最新の方法を知りたいだけです。Ubuntu 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 で設定する必要があります。

PS: このファイル/etc/defualt/motionはおそらく Ubuntu/Debian では必要ありません。

関連情報