Почему irexec из LIRC не работает должным образом при загрузке?
Я построил LIRC
из источника и получил его. Это работает как systemd
сервис при загрузке и работает отлично. я могу бежать irw
и он отображает ожидаемый результат. я могу бежать ircat
и это показывает, что должно быть запущено на config
линия lircrc
конфигурационный файл.
У меня проблема в том, irexec
, Когда я запускаю его из оболочки, он работает нормально. Когда я запускаю его вручную, запустив systemctl start irexec.service
это работает отлично. Как только я перезагружаюсь, он должен запуститься автоматически, и это происходит, но он не запускает мою команду; это абсолютно ничего не делает. Там нет даже никаких сообщений об ошибках в журналах.
Странная вещь в том, что если я перезапущу irexec.service
после загрузки, после того, как он уже был запущен, он работает нормально и отлично выполняет мою команду. Любая подсказка, почему это происходит?
Это файл irexec.service
[Unit]
Description=LIRC command handler
After=network.target
Wants=lircd.service
[Service]
Type=simple
ExecStart=/usr/bin/irexec /etc/lirc/lircrc
[Install]
WantedBy=multi-user.target
irexec.service
всегда начинается после lircd.service
уже бежит.
РЕДАКТИРОВАТЬ Я использую LIRC 0.9.4-devel
3 ответа
Для меня трюк заключался в том, чтобы позволить службе irexec выполнять
sudo systemctl enable irexec
Мне не нужна была опция --deamon в irexec.service, которая нужна @The Demz.
Я только что отправил отчет об ошибке , поэтому irexec запускается после lircd (after:lircd).
Была та же проблема, но в обратном порядке,
Изменение irexec.service
файл и используя systemctl
Кажется, что команды не работают для запуска и остановки службы. Требуется полная перезагрузка.
Вы, кажется, забыли опцию --daemon.
Это мое irexec.service
файл:
[Unit]
Description=IR Remote irexec config .lircrc loaded on startup
After=lircd.service
Wants=lircd.service
[Service]
ExecStart=/usr/bin/irexec --daemon $HOME/.lircrc
Type=forking
[Install]
WantedBy=multi-user.target
Это, вероятно, очевидно, но я попробовал все ответы здесь и в других местах, и ни один из них не помог запустить systemctl и сохранить работу irexec после загрузки. Я решил проблему, очистив и переустановив lirc, а затем повторно скопировав свои настраиваемые файлы конфигурации в папку /etc/lirc. Хотел бы я сначала попробовать это. Это сэкономило бы много времени.
sudo apt purge lirc
sudo apt install lirc
#then recopy your custom config files
#irexec.lircrc goes in /etc/lirc/
#remote.conf files go in /etc/lirc/lircd.conf.d/