다시 시작한 후 LIRC를 시작할 수 없습니다

다시 시작한 후 LIRC를 시작할 수 없습니다

LIRC를 컴파일하면this patched lirc그런 다음 이를 사용한 설치가 make install제대로 작동하고 오류 없이 시작되었습니다. 그러나 재부팅한 후에는 다음 오류와 함께 동일한 명령이 실패합니다.

root@NAS:~# lircd --device=/dev/ttyACM0 --driver=usb_irtoy
lircd: can't open or create /var/run/lirc/lircd.pid
lircd: No such file or directory
root@NAS:~#

원인이 무엇인지 어떤 아이디어가 있습니까?

답변1

좋아, 해결책을 찾았습니다. /var/run/lirc/시작할 때마다 수동으로 디렉터리를 만들어야 합니다 . lirc를 편집했습니다초기화 파일다음 스크립트는 디렉토리가 존재하지 않는 경우 코드를 사용하여 디렉토리를 생성합니다 [ -d "/var/run/lirc" ] || mkdir -p "/var/run/lirc".

#! /bin/sh
#
# This is an init script for Debian 2.1 Slink distribution.
# Copy it to /etc/init.d/lirc and type
# > update-rc.d lirc defaults 20
#


test -f /usr/local/sbin/lircd || exit 0
test -f /usr/local/sbin/lircmd || exit 0

case "$1" in
  start)
    [ -d "/var/run/lirc" ] || mkdir -p "/var/run/lirc"
    echo -n "Starting lirc daemon: lircd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --listen --driver=usb_irtoy --device=/dev/ttyACM0
    echo -n " lircmd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd
    echo "."
    ;;
  stop)
    echo -n "Stopping lirc daemon: lircmd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd
    echo -n " lircd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd
    echo "."
    ;;
  reload|force-reload)
    start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircd
    start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircmd
    ;;
  restart)
    echo -n "Stopping lirc daemon: lircmd"
    start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd
    echo " lircd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --listen --driver=usb_irtoy --device=/dev/ttyACM0
    sleep 1
    echo -n "Starting lirc daemon: lircd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircd -- --listen --driver=usb_irtoy --device=/dev/ttyACM0
    echo -n " lircmd"
    start-stop-daemon --start --quiet --exec /usr/local/sbin/lircmd
    echo "."
    ;;
  *)
    echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
    exit 1
esac

exit 0

관련 정보