[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problema/ dúvida com cat /dev/lp0



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

fredm@chesf.gov.br 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 "\33%-12345X@PJL\n@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 "\33%-12345X@PJL\n@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?








Reply to: