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: 55.627 ]

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:

user@HP_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 um servidor Openfire no Debian para liberação de MSN via Spark em uma rede Windows

Como fazer um servidor de rádio virtual

Criando imagens Docker com Dockerfile

Librix 4.0 - Uma distro que não é para inglês ver - primeiras impressões

Instalando o DB Designer

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts