
Lo construí LIRC
desde la fuente y lo instalé. Se ejecuta como un systemd
servicio al arrancar y funciona muy bien. Puedo ejecutar irw
y muestra el resultado esperado. Puedo ejecutar ircat
y muestra lo que se supone que debe ejecutarse en la config
línea del lircrc
archivo de configuración.
El problema que tengo es irexec
. Cuando lo ejecuto desde el shell funciona bien. Cuando lo ejecuto manualmente ejecutándolo, systemctl start irexec.service
funciona bien. Tan pronto como reinicio y se supone que se inicia automáticamente, lo hace, pero no ejecuta mi comando; no hace absolutamente nada. Ni siquiera hay mensajes de error en los registros.
Lo extraño es que si reinicio irexec.service
después del arranque, después de que ya se haya iniciado, funciona bien y ejecuta mi comando perfectamente. ¿Alguna pista de por qué sucede esto?
Este es el archivo 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
El irexec.service
siempre comienza después de que lircd.service
ya se esté ejecutando.
EDITAREstoy usando LIRC 0.9.4-devel
Respuesta1
Tuve el mismo problema pero al revés.
Cambiar el irexec.service
archivo y usar los systemctl
comandos no parece funcionar para iniciar y detener el servicio.Es necesario un reinicio completo.
Parece que has olvidado la opción --daemon.
Este es mi irexec.service
archivo:
[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
Respuesta2
Probablemente esto sea obvio, pero probé todas las respuestas aquí y en otros lugares, y ninguna funcionó para que systemctl se iniciara y mantuviera irexec ejecutándose después del arranque. Resolví el problema purgando y reinstalando lirc, luego volviendo a copiar mis archivos de configuración personalizados en la carpeta /etc/lirc. Ojalá hubiera probado esto primero. Habría ahorrado mucho tiempo.
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/
Respuesta3
Lo que me sirvió fue habilitar el servicio irexec haciendo un
sudo systemctl enable irexec
No necesitaba la opción --deamon en irexec.service que @The Demz necesitaba.
Acabo de enviar uninforme de errorentonces irexec se ejecuta después de lircd (después de:lircd).