Почему 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/ 
Другие вопросы по тегам