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

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
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/ 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.