Este artigo ensina a configurar a impressora para ser utilizada no SERPRO, software de gerenciamento do governo federal. O artigo trata, em especial, da configuração de impressoras de rede Lexmark (modelo T640), mas é aplicável a outras impressoras e modelos.
Configurando a impressora no Emulador 3270 do SERPRO
A configuração da impressora no Linux já é suficiente para a execução da maioria das tarefas de impressão do emulador. Algumas funções, porém, exigem que seja utilizada a impressora reconhecida pelo Emulador e aí é que surge o problema pois está configuração tem que ser feita manualmente.
O que vai ser ensinado agora é como fazer esta configuração, pois caso contrário, ao ser enviado uma tarefa de impressão por um dos módulos do Emulador, nada acontecerá.
Quando se acessa o site do SERPRO e se loga no sistema, surge uma janela com os diversos terminais e impressoras virtuais:
Clique duas vezes sobre a impressora para acessar o gerenciador de impressão do emulador.
Vá em Arquivo -> Configuração de Impressora, conforme figura abaixo:
Na janela que se abrir, selecione na opção:
Imprimir: "Arquivo"
Arquivos Separados: "Sim"
e em Caminho / Nome do Arquivo, digite:
# /home/user/file.* | lpr -b -P<impressora> $<
Onde:
"/home/user/file.*" é o arquivo onde os dados de impressão estão armazenados. O Host On-Demand incrementa numericamente o nome do arquivo para cada job de impressão. Nesse exemplo, o primeiro arquivo será nomeado "file.000", o próximo "file.001" e assim por diante.
o sinal "or" ("|") separa o nome do arquivo dos comandos externos e de seus parâmetros (chamado de grep, no linux);
"lpr" é um comando externo para enviar trabalhos para impressão;
"-b" para enviar o arquivo para a impressora no modo binário (importante para o caso do arquivo criado conter instruções de formatação binária, como seqüências de escape);
"-P<impressora>" é o nome da impressora;
e "$<" é convertido no nome de arquivo e caminho pelo Host On-Demand.
A idéia deste comando é: Em vez de tentar mandar diretamente a impressão da tela para impressora, ele grava em um arquivo e imprime o arquivo. Na verdade é uma maneira de enganar o Emulador (lembra-se que falei que, após instalada a impressora já estava operante? Pois fizemos uso dela, agora!).
Os comandos antes do grep ( "|" ), criam os arquivos e depois os imprime.
Os arquivos criados no diretório que você escolheu não são apagados automaticamente. Se não quiser armazená-los, deve apagá-los manualmente.
Para maiores informações sobre o comando de impressão lpr, digite no terminal:
# man lpr
Para maiores informações sobre os modos de impressão do Emulador 3270, acesse a referência bibliográfica No. 4 do final da página.
[2] Comentário enviado por mandachuva em 06/03/2007 - 11:19h
Muito bom o artigo. Só faço algumas ponderações.
O "|" se chama pipe e não grep. Ele não é um "or" como nas linguagens de programação, mas um redirecionador. Ele não é um separador, sua função é direcionar a saída do comando utilizado antes dele para o comando utilizado depois dele.
O grep é um comando utilizado para flitrar palavras. Geralmente vem acompanhado do pipe filtrando a saída dada por outro comando, como um ls por exemplo.
É bom esclarecer esses pontos para não confundir iniciantes no mundo linux!!!
[4] Comentário enviado por andreuebe em 09/07/2007 - 10:29h
Paulo Postou a duvida:
---------------------
olá andre, li seu tutorial sobre o serpro, trabalho na ufv(universidade federal de viçosa), estamos com um probleminha com uma impressora, quando a pessoa vai imprimi 10 empenho no serpro, ele não imprimi todos os arquivo imprimi de forma aleatoria(1,3,9,5). usamos o seguinte comando
/home/user/serpro/file.* | kprinter $< você tem alguma noção que possa ser, a impressora é uma kyocera FS-1016MPF.
Resposta:
---------
Paulo
Obrigado pelo envio do email. Vou responder aqui no post pois democratiza a discussão que pode, inclusive, ser util para outros.
Quanto a sua pergunta, eu fiquei com uma duvida pois, aqui no CEFET, toda vez que um empenho é gerado, surge como procedimento do SIASG, o procedimento de solicitação de impressão. Ou seja:
empenho gerado pelo sistema = empenho impresso.
O que eventualmente fazemos é inserir o comando de número de cópias no comando "lpr", uma vez que, pelo sistema da SERPRO, não há como definir, momentos antes da impressão o número de cópias.
Daí surgiram duas duvidas:
1) Vocês não imprimem os empenhos a medida que são criados? Pois caso seja isto, o problema não deve estar no arquivo do SERPRO, mas no comando "lpr". Mas preciso esclarecer melhor este "modus operandi" de impressão de empenho, como vocês fazem pois, a principio, parece ser diferente daqui.
2) A sintaxe do comando lpr costuma ser:
lpr -b -P<impressora> $<
ou
lpr -P<impressora> $<
Você postou apenas:
kprinter $<
Daí, te peço, só para desencargo, que tente usar a sintaxe que postei pois o comando vai ficar mais direto (sem passar pelo kprinter).