Por que o irexec do LIRC não está funcionando corretamente na inicialização?

Por que o irexec do LIRC não está funcionando corretamente na inicialização?

Eu construí LIRCa partir do código-fonte e instalei. Está sendo executado como um systemdserviço na inicialização e funciona muito bem. Posso executar irwe ele exibe a saída esperada. Posso executar ircate mostra o que deve ser executado na configlinha do lircrcarquivo de configuração.

O problema que estou tendo é irexec. Quando executo a partir do shell, ele funciona bem. Quando eu o executo manualmente, systemctl start irexec.serviceele funciona bem. Assim que eu reinicio e ele deveria iniciar automaticamente, e inicia, mas não executa meu comando; não faz absolutamente nada. Não há mensagens de erro nos logs.

O estranho é que se eu reiniciar irexec.serviceapós o boot, depois de já ter iniciado, ele funciona bem e executa meu comando perfeitamente. Alguma pista de por que isso está acontecendo?

Este é o arquivo 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

O irexec.servicedoes sempre inicia depois que o lircd.servicejá estiver em execução.

EDITAREstou usando o LIRC 0.9.4-devel

Responder1

Tive o mesmo problema, mas ao contrário,

Alterar o irexec.servicearquivo e usar os systemctlcomandos parece não funcionar para iniciar e parar o serviço.É necessária uma reinicialização completa.

Você parece ter esquecido a opção --daemon.

Este é o meu irexec.servicearquivo:

[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

Responder2

Provavelmente isso é óbvio, mas tentei todas as respostas aqui e em outros lugares, e nenhuma funcionou para iniciar o systemctl e manter o irexec em execução após a inicialização. Resolvi o problema limpando e reinstalando o lirc e, em seguida, copiando novamente meus arquivos de configuração personalizados para a pasta /etc/lirc. Eu gostaria de ter tentado isso primeiro. Teria economizado muito tempo.

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/ 

Responder3

O que funcionou para mim foi ativar o serviço irexec fazendo um

sudo systemctl enable irexec

Eu não precisava da opção --deamon no irexec.service que @The Demz precisava.

Acabei de enviar umrelatório de erroentão o irexec é executado após o lircd (após: lircd).

informação relacionada