Seu CUPS para sozinho!?

Publicado por michel rodrigues em 27/09/2007

[ Hits: 12.241 ]

 


Seu CUPS para sozinho!?



Olá colegas do VOL, trabalho com o Debian a cerca de 2 anos e o servidor de impressão que eu utilizo é o CUPS. Mas eu tinha um problema muito grande, ele sempre parava sozinho do nada, os usuários me enchiam falando que o Linux perdia a impressora. Procurei por muito tempo uma solução, tentei fazer um script com o cups-enable, mas o usuário tinha que digitar o nome da impressora, isso gerava um problema porque as impressoras não tem nome que segue um padrão e eu acabava recebendo várias ligações para resolver o problema, aí eu tinha que acessar a máquina pelo http://ip:631 para reiniciar a impressora.

Fiquei quebrando a cabeça analisando o /etc/cups/printers.conf e percebi que quando a impressora estava parada aparecia o status dela nesse arquivo assim:

# Printer configuration file for CUPS v1.1.23
# Written by cupsd on Tue Sep 4 14:14:14 2007
<DefaultPrinter kyocera>
Info KYOCERA FS-3800
Location
DeviceURI socket://IP:9100
State Stopped <<======================
StateMessage Paused
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>

Então fiz um teste mudei o State Stopped para State Start e reiniciei o cups... hahahaha... tinha dado certo, aí foi só alegria, fiz um script que entra nesse arquivo e muda de Stopped para Start, vejam como ficou:

#!/bin/bash
#Por Michel em 15 de junho de 2006.
sudo sed 's/Stopped/'Start'/' /etc/cups/printers.conf > /tmp/printers.conf
sudo mv -f /tmp/printers.conf /etc/cups/printers.conf
sudo /etc/init.d/cupsys restart
kdialog --title "Obrigado" --passivepopup "todas impressoras foram reiniciadas é já podem ser utilizadas" 10

Coloquei ele na área de trabalho e também agendei no cron para ser executado periodicamente.

Espero ter ajudado colega,s pelo menos pra mim ajudou muito, se alguém tiver mais alguma sugestão nós agradeceremos.

É isso aí pessoal, viva o Linux!!!!!!!!!!

exit

Outras dicas deste autor

System RescueCD: O livecd que carrega o sistema na memória e deixa o drive do cdrom livre

Gerenciador de pacotes aptitude

Leitura recomendada

Como contornar o erro -bash: 08: value too great for base (error token is "08")

Usando o script alertaTwitter

tres - Transação Executivo-operacional em Shell

Shell script com texto colorido

Variável para guardar o nome do Script

  

Comentários
[1] Comentário enviado por canaman em 27/09/2007 - 20:57h

Interessante, será que poderia postas quais as impressoras conectadas? Isso nunca aconteceu comigo, mas se acontecer já sei onde procurar.
Ainda sim gostaria de saber quail a marca/modelo de suas impressoras.
Abraços

[2] Comentário enviado por michel5670 em 28/09/2007 - 12:34h

colega aqui na empresa temos varios tipos de impressoras as mais ultilizadas são:
okidata 420
lexmark T610
kyocera FS-3800
epson fx-890
lexmarx z22
lexmark e322n
lx-300...
Só que esse problema do cups parar sozinho acontecia com qualquer tipo de impressora..

[3] Comentário enviado por removido em 28/09/2007 - 21:33h

pq vc não usa 'cupsenable nomedaimpressora' ?

[4] Comentário enviado por removido em 28/09/2007 - 21:35h

Tente setar a variavel 'ErrorPolicy' para 'retry-job' ou 'abort-job',
no printers.conf. A politica padrão é 'stop-printer' quando um erro ocorrer.

abraços

[5] Comentário enviado por michel5670 em 01/10/2007 - 16:19h

valeu cara pela dica !!!!!!

[6] Comentário enviado por alissonmorais em 18/01/2008 - 17:15h

Amigo, como eu faço para que os meus relatórios saiam condensado? Uso impressoras lx300 e alguns relatórios que possui linhas maiores, eu preciso condensá-los, como não sei, ocorre quebra de linha.
Obrigado.


_________________
www.tiemfoco.com - Tecnologia & Informação.

[7] Comentário enviado por gesioweb em 27/11/2008 - 08:48h

Bem amigo estou com um problema e não sei se com esse script posso resolve-lo,
as minhas impressoras desativam toda hora, tenho que executar o comando cupsenable.
Quero saber se esse script vai fazer isso?
Obrigado

[8] Comentário enviado por michel5670 em 27/11/2008 - 18:26h

Colega eu tinha muito desse problema aqui na empresa depois que fiz este script resolveu quase 90% dos meus problemas pois deixei ele executavel na area de trabalho do usuario e toda vez que a impressora para o proprio usuario clica no script e reinicia a impressora.

Mas também tem a sugestão do colega alexmontoanelli que esta ai em cima que sugere que façamos o seguinte:
"Tente setar a variavel 'ErrorPolicy' para 'retry-job' ou 'abort-job',
no printers.conf. A politica padrão é 'stop-printer' quando um erro ocorrer."

Essas são palavras dele mas nunca usei pois este script resolveu pelo menos o problema que eu tinha bastante que era das impressoras pararem do nada.

[9] Comentário enviado por marcelonx em 25/06/2009 - 13:16h

pra mim aqui funcionou, mas substituindo o Start do seu script por Idle


Mas esse script se encaixou como uma luva para o que eu precisava!!!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts