Eu tive os mesmos sintomas, lirc não funcionava quando executado como um serviço, mas funcionava como um comando. Note que no meu caso algumas das chaves funcionaram, mas somente quando o lirc não estava rodando (nem como um serviço nem como um comando).
O problema era que evdev (um driver de entrada para Xorg ) estava captando o controle remoto como um dispositivo de entrada de teclado. Fazer o evdev ignorar o controle remoto resolveu o problema para mim. Eu acho que o script de início do serviço lirc ficou preso pelo fato de que evdev tinha um controle sobre o controle remoto, de alguma forma.
O problema está detalhado neste tópico: link
O seguinte é da última postagem desse segmento. Nota: TBS6981 é o sintonizador de satélite que eu estava usando como meu receptor remoto.
% bl0ck_qu0te%Assim, o primeiro passo é procurar por linhas em seu /var/log/Xorg.0.log mostrando evdev pegando seu receptor remoto e, em seguida, configurar /usr/share/X11/xorg.conf.d/10-evdev.conf para ignorar o receptor usando o id para o receptor como encontrado em Xorg.0.log .