1

I built LIRC from source and got it installed. It's running as a systemd service on boot and works great. I can run irw and it displays the expected output. I can run ircat and it shows what is supposed to be run on the config line of the lircrc configuration file.

The problem I'm having is irexec. When I run it from the shell it works fine. When I run it manually by running systemctl start irexec.service it works fine. As soon as I reboot and it's supposed to start automatically, and it does, but it does not run my command; it does absolutely nothing. There's not even any error messages in the logs.

The weird thing is that if I restart irexec.service after boot, after it was already started, it works fine and runs my command perfectly. Any clue why this is happening?

This is the irexec.service file

[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

The irexec.service does always start after the lircd.service is already running.

EDIT I'm using LIRC 0.9.4-devel

vane
  • 347

3 Answers3

0

Had the same issue but in reverse,

Changing the irexec.service file and using the systemctl commands does not seem to work to start and stop the service. A full reboot is needed.

You seem to have forgotten the --daemon option.

This is my irexec.service file:

[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
The Demz
  • 111
0

This is probably obvious, but I tried all the answers here and elsewhere, and none worked in getting systemctl to start and keep irexec running after boot. I solved the issue by purging and reinstalling lirc, then recopying my custom made config files to the /etc/lirc folder. I wish I had tried this first. It would have saved a lot of time.

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/ 
Ken H
  • 111
  • 2
0

What did the trick for me was enabling the irexec service doing a

sudo systemctl enable irexec

I did not need the --deamon option in the irexec.service that @The Demz needed.

I just submitted a bug report so irexec runs after lircd (after:lircd).

IIVQ
  • 101