lircd funciona quando executado a partir da linha de comando, não quando executado a partir do init.d / service

0

Estou configurando um sistema para uso como media center, executando o Mythbuntu 12.04. Tudo está funcionando, sem o controle remoto. Eu configurei meu controle remoto, e eu inicio o lirc a partir da linha de comando, ele funciona bem. Se eu o executar a partir do script de inicialização service lirc start , não funciona. (Para este efeito, o trabalho significa ter irw mostrar uma saída). Em ambos os casos, estou usando exatamente o mesmo comando (na verdade, para executá-lo a partir da linha de comando, apenas copio o comando que está presente em ps -ef ). Ambos os casos têm o lirc rodando como root (pelo menos é o que o ps -ef me diz). Ambos os casos produzem exatamente as mesmas informações no syslog.

Comando para iniciar o lirc:

sudo /usr/sbin/lircd --output=/var/run/lirc/lircd --driver=devinput --device=/dev/input/irremote

saída do syslog (iniciar lirc, iniciar irw, parar ir, matar lirc):

Aug 13 22:06:05 Myth-FJ lircd-0.9.0[4917]: lircd(devinput) ready, using /var/run/lirc/lircd
Aug 13 22:06:05 Myth-FJ lircd-0.9.0[4917]: accepted new client on /var/run/lirc/lircd
Aug 13 22:06:05 Myth-FJ lircd-0.9.0[4917]: initializing '/dev/input/irremote'
Aug 13 22:06:28 Myth-FJ lircd-0.9.0[4917]: accepted new client on /var/run/lirc/lircd
Aug 13 22:06:35 Myth-FJ lircd-0.9.0[4917]: removed client
Aug 13 22:06:42 Myth-FJ lircd-0.9.0[4917]: caught signal
Aug 13 22:06:42 Myth-FJ lircd-0.9.0[4917]: closing '/dev/input/irremote'

Estou completamente perplexo.

    
por askvictor 13.08.2013 / 14:10

1 resposta

1

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 .

    
por Mossy 03.09.2013 / 14:01