Olá,
A questão é que o problema não está no comando "echo". Utilizo o echo
somente para solicitar o contador interno de páginas da HP (nem
precisaria do echo para ler algo da impressora, já fiz este teste também).
O problema está no comando "cat" que deveria finalizar sozinho, após
receber os dados da impressora, e voltar à linha de comando.
Dessa forma, quando executo o "cat /dev/lp0", o que realmente acontece é
que o comando cat executa, lê os dados da impressora, mas fica
aguardando mais alguma coisa, ou seja, fica preso no cat. Sei que quando
a impressora envia as informações solicitadas, o último caracter que ela
transmite é ^L (se não estiver enganado), marcando fim de arquivo. O cat
deveria entender isto como fim de arquivo, mas ele não o faz. Isto trava
todo o sistema de contabilização de quotas de impressão. E o mais
estranho é que isto não acontece com a máquina antiga, rodando Mandrake.
Não é problema de hardware pois fiz o teste de colocar o HD com o
sistema novo no hardware antigo (no lugar do HD com o Mandrake) e o
problema continuou. Ou seja, é alguma coisa referente ao Debian, mas não
sei mais o que tentar.
[]'s
Gustavo
[EMAIL PROTECTED] wrote:
Olá,
Estamos trocando um antigo servidor de impressão que estava com linux
2.2.13 (Mandrake), conectado a uma impressora da HP laserjet (HP8100).
Nesta máquina, quando fazemos cat /dev/lp0 (necessário para o serviço de
quotas de impressão - solicitando o contador interno de páginas), temos
o resultado:
__________________________________________________
printerserver:~# echo -e "[EMAIL PROTECTED]@PJL INFO
PAGECOUNT\n\33%-12345X" > /dev/lp0
printerserver:~# cat /dev/lp0
@PJL INFO PAGECOUNT
285783
printerserver:/~#
__________________________________________________
Reparem na última linha. O cat finaliza e retorna para a linha de comando
!
A questão é que estamos configurando uma nova máquina, com Linux 2.4.19
(Debian) e, nesta máquina, quando executamos a mesma sequencia obtemos
_______________________________________________
cupserver:~# echo -e "[EMAIL PROTECTED]@PJL INFO PAGECOUNT\n\33%-12345X"
> /dev/lp0
cupserver:~# cat /dev/lp0
@PJL INFO PAGECOUNT
285783
_______________________________________________
Reparem que o cat não é finalizado, só retornando à linha de comando com
^c !!! Nem preciso dizer que este fato simplesmente indisponibiliza
todo o serviço de quotas de impressão.
Por favor, alguém tem alguma sugestão. Realmente não sabemos mais o que
tentar...
Gustavo,
Botar um \n no final da string argumento do echo não resolve seu problema
não?
Outra coisa. Você leu a página man do echo? Lá fala que se seu shell tiver
um comando echo vai se sobrepor a este. Você sabe se seu shell tem um
comando
echo interno?