Galera, blz! estou com um problemas interessante.
Sei que o problema é Java! mas tem haver com direitos.
Como root funciona, como usuário não funciona, e minha aplicação irá
rodar como usuário.
Segue um resumo do problema.
Estou usando uma biblioteca para se comunicar com a porta paralela
/dev/lp0
Só que na verdade o código faz referência diretamente ao endereço da
porta 0x378.
O nome da biblioteca que uso no java é o LibParPort.
Como disse ela faz referência diretamente ao endereço 0x378, então
acredito que eu tenha que dar direitos no nesse endereço, estou
ficando meio louco já pessoal me ajude!
Espero ajuda por favor, é inviável usar o sudo pois essa aplicação faz
outras coisas que comprometem a segurança.
Segue o código que funciona como root.
public void RecebeValorParalela ()
{
ParallelPort lpt1 = new ParallelPort(0x378);
int aByte;
aByte = lpt1.read(); // read a byte from the port's STATUS pins
System.out.println("Leu Paralela: " + aByte);
} // Fim do método RecebeValorParalela
Segue o erro que dá quando executo o código com o usuário normal.
ioperm error: Operation not permitted
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0xB79618FB
Function=(null)
Library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libparport.so