Servidor de impressão com Ubuntu e Pykota

Na instituição em que trabalho tínhamos muitos problemas com impressão. Funcionários que imprimiam coisas desnecessariamente, ai veio a necessidade de um servidor de impressão que controlasse cotas e que os dados da impressão fossem gravados em um banco de dados.

[ Hits: 54.471 ]

Por: Neilon Mauricio Freitas Fernandes em 29/04/2010


Adicionando permissões de impressão no Pykota



Instale as impressoras normalmente e depois de ter instalado siga os seguintes procedimentos.

/etc/cups/printers.conf é o arquivo do cups onde fica a configuração de todas as impressoras, nesse arquivo existe uma tag Device URI, um exemplo: instalei a impressora HP Deskjet 950C que está originalmente no host 10.100.0.10 e no arquivo de configuração do cups ficou da seguinte maneira:

Device URI: ipp://10.100.0.10:631/printers/HP_950C

Para se utilizar do Pykota nessa impressora é preciso somente mudar essa tag e deixar da seguinte maneira:

Device URI: cupspykota:ipp://10.100.0.10:631/printers/HP_950C

Dê um reload no cups:

# /etc/init.d/cupsys reload

Agora vamos verificar se o Pykota está funcionando, abra o konsole e digite o seguinte comando:

sudo tail -f /var/log/messages

Abra algum documento e tente mandar na impressora que foi recentemente instalada e volte para o konsole verificando o log que foi gerado, se gerar algum log mais ou menos igual a:

[email protected]_950C(1) => Printing is denied by printer policy.

Pronto! Seu Pykota está funcionando, porém ainda temos que adicionar nossas impressoras na base do Pykota e posteriormente autorizar nossos usuários a imprimir ou não utilizando o Pykota.

Para adicionar uma impressora ao Pykota utilizamos o comando pkprinters, primeiramente vamos verificar quais as impressoras instaladas no Pykota com o seguinte comando:

# pkprinters --list

Vamos adicionar um impressora para ser gerenciada pelo Pykota:

# pkprinters --add --cups HP_950C

Vamos autorizar nossos usuários a imprimir em nossas impressoras, para tal tarefa utilizamos o comando:

# edpykota --add --printer

Adicionando usuários:

# pkusers --add neilon

Existem alguns parâmetros que podemos utilizar ao darmos permissão ou não a um usuário, por exemplo, podemos restringir a quantidade de folhas que um usuário pode imprimir com a opção -H, essa opção define quantas páginas no máximo podemos imprimir e caso chegue a esse número de impressões o usuários não consegue mais imprimir mais na impressora é conhecido como limite máximo, também podemos restringir a quantidade de folhas com o comando -S, no caso esta opção tem os mesmos princípios da opção -H, porém o usuário consegue imprimir até o limite máximo, também conhecemos essa opção como limite suave. O exemplo abaixo é melhor para visualizarmos essas opções:

# edpykota --add neilon
# edpykota --add neilon --printer HP_950C
# edpykota --add neilon --printer HP_950C --softlimit 100 --hardlimit 150


Para desautorizarmos um usuário de determinada impressora, faremos como no exemplo abaixo:

# edpykota --del neilon
# edpykota --del neilon --printer HP_950C


O comando para mostrar o relatório de impressão por impressora é repykota, se não especificarmos nada após o comando, iremos visualizar o relatório de todas as impressoras, mas podemos definir a impressora a ser visualizada no relatório da seguinte forma:

# repykota --printer HP_950C

É isso.

Página anterior    

Páginas do artigo
   1. O problema e a solução
   2. Adicionando permissões de impressão no Pykota
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando o Android SDK na plataforma Linux

Ubuntu Control Center

Testes de stress no Apache com o comando ab

Monitoramento de Serviços e Servidores

Cacti: Gerenciamento de redes com os plugins Weathermap e Monitor no Debian Etch Linux

  
Comentários
[1] Comentário enviado por joserf em 29/04/2010 - 13:45h

olá amigo, existe uma interface grafica para visualizar as impressoes dos usuarios, estilo jasmine ? . abraço

[2] Comentário enviado por neilomfreitas em 05/05/2010 - 11:53h

Existe uma interface gráfica chamada phppykotaadmin, porém há algum tempo o pessoal não dá suporte. Possui alguns bugs, ele é bem feio. Estamos criando uma ferramenta para visualização, acho que até no máximo no final do mês devemos estar publicando.

[3] Comentário enviado por andbecker em 09/06/2010 - 03:18h

ótima matéria

tudo está certo até:
Entre na pasta /usr/share/pykota/postgresql.
# cd /usr/share/pykota/postgresql

onde faltou a pasta "local" no endereço, onde o correto é: /usr/local/share/pykota/postgresql

e quando chega em:
E basta copiarmos os arquivos de configuração para o local correto:

falta um "su usuário", pois o user postgres não tem privilégio para copiar

e eu tenho uma dúvida: na linha # /etc/init.d/cupsys restart
pede que o cupsys seja iniciado, mas eu só tenho um arquivo cups nesse diretório, é ele mesmo que deve ser reiniciado?


[4] Comentário enviado por carlosalberto4ti em 15/01/2011 - 16:43h

Por acaso , já tem (source + licença livre) o administrador para o pykota ?

[5] Comentário enviado por fba em 11/03/2011 - 14:18h

Ola é importante não fazer comentários depois da configuração como no caso:
storagebackend : pgstorage # Tipo do banco de dados
pois o sistema não identifica como sendo um cometário e gera erro
no lugar de:
storagebackend : pgstorage # Tipo do banco de dados
storageserver : localhost # Endereço do servidor
storagename : pykota # Nome do banco
storageuser : pykotauser # Nome usuário do banco
storageuserpw : readonlypw # Senha do usuário do banco
usar:
storagebackend : pgstorage
storageserver : localhost
storagename : pykota
storageuser : pykotauser
storageuserpw : readonlypw

e no lugar de:
accounter: software(/usr/bin/pkpgcounter)
preaccounter: software(/usr/bin/pkpgcounter)
para mim não estava contando as páginas, para resolver alterei para:
accounter: software()
preaccounter: software()

[6] Comentário enviado por fba em 20/01/2012 - 15:54h

Erro ao configurar o pykota no cups 1.5, com a seguinte mensagem:

printer-state=3(idle)
printer-state-message="TypeError: 'NoneType' object is not subscriptable"
printer-state-reasons=none

para resolver o problema bastou alterar as seguintes linhas no /etc/cups/cupsd.conf
de:
JobPrivateAccess default
JobPrivateValues default
para:
JobPrivateAccess all
JobPrivateValues none

Fonte:
http://comments.gmane.org/gmane.comp.printing.cups.general/28645

[7] Comentário enviado por canelabh em 28/01/2014 - 09:43h

O relatório que esta gerando só identifica o usuário e conta o número de impressões e mais nada, é só isso mesmo?

[8] Comentário enviado por nandohvisk em 02/06/2014 - 11:39h

serve para ambientes windows? preciso usar o samba?


Contribuir com comentário