Controle de impressão por usuário

Este é o meu primeiro artigo postado aqui no VOL. Apesar de ser frequentador assíduo do site, vejo que as vezes alguns artigos não trazem a informação ao pé da letra e aí o pessoal que é mais novato neste mundo acaba desistindo de migrar para um sistema livre porque não consegue achar a solução de pequenos erros ou até mesmo no resultado final acabam se decepcionando.

[ Hits: 112.255 ]

Por: SERGIO RICARDO PASCOAL em 22/03/2010


Iniciando servidor de impressão através do CUPS + Jasmine



Fui cobrado aqui na empresa aonde eu trabalho sobre o número excessivo com gasto de papel nas impressões feitas pelos os usuários.

Pesquisei diversas ferramentas, instalei o PaperCut em um servidor Win2003 Server só que o mesmo não me trouxe de forma eficiente um resultado básico sobre as impressões dos meus usuários.

Foi aí então que resolvi apelar para o site guru no mundo GNU/Linux, o VOL, e pesquisando no mesmo cheguei ao artigo de Bruno Dias Das Neves aonde ele coloca de forma eficiente e simples a instalação de um recurso chamado JASmine.
Notei que o recurso era exatamente aquilo que estava procurando, contabilizar o número de páginas por usuários. Até aí tudo perfeito.

Mas vendo o resultado final do artigo verifiquei que nos screenshots apareciam os usuários e as quantidades de impressões, sendo que no meu somente contabilizava os usuários root e nobody.

Então resolvi disponibilizar este conhecimento, porque creio que conforme fala do meu amigo Adilson Rodrigues Bonan, no mundo livre "conhecimento adquirido e não transmitido é conhecimento perdido".

Pois então vamos colocar a mão na massa!

Instalando o Apache, MySQL e PHP5

Para que tudo funcione em nosso relatório primeiro devemos instalar os seguintes recursos:
  • Apache2
  • PHP5
  • MySQL
  • Perl
  • Python
  • CUPS

Bom, vamos lá!

Vou abordar diversos caminhos pois como utilizo a distribuição Debian 5 Lenny Linux, senti as vezes algumas dificuldades em relação ao simples comando apt-get, e com isso não dava certo a instalação:

Na instalação do Debian resolvi instalar os seguintes recursos: servidor web, servidor de arquivos, servidor de impressão etc, tudo que tinha direito. rsss

Com isso o Apache e o PHP5 já estavam instalados, faltando apenas a configuração mesmo, mas caso precise instalar pela linha de comando seguem os comandos:

# apt-get install apache2
# apt-get install php5


Ou você poderá utilizar o seguinte comando:

# apt-get install apache2 mysql-server php5 php5-mysql

Se você estiver utilizando, igual eu, a versão 5 Debian (Lenny), irá aparecer um erro referente ao mysql-server-5.0. Para corrigirmos este erro basta você entrar em:

# /etc/apt/nano sources.list

E acrescentar as seguintes linhas:

deb http://ftb.br.debian.org/debian/stable main
deb-src http://ftp.br.debian.org/stable main

Pronto! Salve tudo e dê novamente um:

# apt-get update

Agora você poderá instalar novamente o mysql-server-5.0:

# apt-get install mysql-server-5.0

Quando estiver instalando o MySQL irá lhe pedir o usuário e senha para o MySQL, no meu caso coloquei usuário root e defini uma senha **********.

Para sabermos se o Apache2 está funcionando, abra o seu navegador de web e digite "localhost" ou use o seu IP, irá lhe retornar uma mensagem "It works!". Neste caso o Apache está configurado corretamente.
Linux: CONTROLE DE IMPRESSÃO POR USUÁRIO
Agora vamos para configuração do PHP, para isso devemos entrar em:

# /var/www/nano (tecle enter)

Digite o seguinte comando:

<php phpinfo(); ?>

Pronto, salve com o nome de info.php, lembrando que deve estar salvo em /var/www, isso na distribuição Debian.

Para verificar se realmente o PHP está funcionando, digite no seu navegador de web a seguinte informação na barra de endereços:

http://localhost/info.php

Se o resultado for igual a imagem abaixo, está funcionando tudo corretamente.
Linux: CONTROLE DE IMPRESSÃO POR USUÁRIO
    Próxima página

Páginas do artigo
   1. Iniciando servidor de impressão através do CUPS + Jasmine
   2. Baixando os arquivos para instalação do JASmine
   3. Instalando o JASmine-Web para visualizarmos nosso relatório
   4. Integrando os usuários do Windows com o Linux para que sejam exibidos no seu relatório
   5. Adicionar usuário no UNIX e SMB para que você faça a integração WINDOWS/LINUX
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Linux e Active Directory (Integrando COMPLETAMENTE sua estação Linux a um domínio MS Windows 2000/2003 Server)

Servidor Samba completo

Domínio com perfil móvel no Fedora 10

Inserindo Windows (98/XP/2000) no domínio do Samba

Permissões do Samba usando chmod

  
Comentários
[1] Comentário enviado por emalmeid em 24/03/2010 - 17:50h

Olá Sérgio...parabésns pelo artigo primeiramente!

Estou concluíndo a etapa de adicionar os usuários no linux e no samba para fazer a integração do windows com o Linux.
A parte que diz:
Digitar os seguinte comando:

# useradd -g computadores /dev/null -s /bin/false informatica$

Precisa ser criado usuário e grupo antes? Pode me explicar com mais detalhes, pq não estou entendendo?

Abraços!

[2] Comentário enviado por dudis em 24/03/2010 - 20:02h

Fala Sério! Beleza?

Com estas ferramentas, eu tenho como listar os usuários que estão imprimindo em determinadas impressoras? Ou então listar quais impressoras que o usuário está utilizando para imprimir?

Abraço

[3] Comentário enviado por sergioricardo em 25/03/2010 - 08:17h

Olá... "emalmeid"


O Grupo é computadores e o usuário é informática exemplo:
#useradd -g computadores /dev/null -s /bin/false informática$

Lembrando nunca esquecer do $ após o usuário ou nome da estação conforme desejar.

Você poderá conferir se realmente seu usário e grupo foram criados utilizando a opção SISTEMA/ADMINISTRAÇÃO/USUARIOSeGRUPOS

No meu caso preferi criar somente um grupo pois quando criamos muitos grupos começa a bagunçar tudo e confundir até mesmo quando você for explicar para algum diretor seu, pois o que importa na verdade é quem imprimiu, quantidade de folhas e qual impressora está gastando mais.

Com isso, caso você faça este projeto você poderá focar em um ponto só que é a redução de impressões em uma empresa.

[4] Comentário enviado por tatototino em 26/03/2010 - 14:11h

Parabéns pelo seu artigo, realmente muito bom!

Só queria tirar uma dúvida, você sabe se o Jasmine ou Cups tem a opção de bloquear o usuário quando atingirem suas cotas pré-estabelecidas anteriomente pois queria integrar se desse o Jasmine + Cups com openLDAP.


Grato.

[5] Comentário enviado por equatore em 14/06/2010 - 18:52h

Prezado Segio,

Primeiro parabens pelo seu artigo bom, porém quería pedir uma forca, tem como me ajudar no error que me dá.
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - CUPS_FONTPATH= /usr/share/cups/fonts
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - PPD= /etc/cups/ppd/Xerox-WorkCentre-7345.ppd
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - CHARSET= utf-8
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - PRINTER= Xerox-WorkCentre-7345
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - CONTENT_TYPE= application/postscript
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - CUPS_SERVER= /var/run/cups/cups.sock
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - CUPS_DATADIR= /usr/share/cups
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - PATH= /usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - DEVICE_URI= jasmine:socket://192.168.0.10:9100
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - SOFTWARE= CUPS/1.4.1
Jun 14 16:23:23 zeus-desktop jasmine[7968]: - CUPS_SERVERROOT= /etc/cups
Jun 14 16:23:23 zeus-desktop jasmine[7968]: Called with 5 args, $doc is read from STDIN and the tempfile is
Jun 14 16:23:23 zeus-desktop jasmine[7968]: Document:
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Analyzer returned: 0
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Analyzing successful !
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Number of pages: 1
Jun 14 16:23:24 zeus-desktop jasmine[7968]: $real_uri= socket://192.168.0.10:9100
Jun 14 16:23:24 zeus-desktop jasmine[7968]: $real_backend= socket
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Calling backend: /usr/lib/cups/backend/socket socket://192.168.0.10:9100 130 zeus Test Page 1 PageSize=A4 job-uuid=urn:uuid:97cee5b1-18b3-3894-5e32-ab0d0e7c8fe8 job-originating-host-name=localhost
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Real backend returned: 1
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Backend caught signal: 0
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Did backend core dumped ? : 0
Jun 14 16:23:24 zeus-desktop jasmine[7968]: Couldn't lauch the real backend; Return code: 256 <---------------JUSTO AQUI O ERRO.

meu msn é orbespinosa@hotmail.com
Obrigado

[6] Comentário enviado por adrianodalpont em 04/09/2010 - 14:01h

Olá,

Parabéns pelo artigo, vou tentar implementa-lo mas gostaria de saber se dá pra usar a base de usuarios do LDAP+Samba nessa solução de monitoramento de impressão?

Att,

Adriano

[7] Comentário enviado por caf3ina em 20/10/2010 - 15:51h

Como eu faço para instalar um impressoras que está conectada no Jasmine em uma estação linux ?

[8] Comentário enviado por sergioricardo em 21/10/2010 - 08:16h

Qual a distribuição Linux que você está usando caf3ina?

A configuração das impressoras fiz através do CUPS, mas para que todos pudessem visualizar as mesmas, alterei o arquivo smb.conf para que todos das rede pudessem exergar as mesmas na rede, conforme exemplo citado no artigo.

Mas me mande qual a sua distribuição e eu te oriento corretamente, ok!

[9] Comentário enviado por caf3ina em 22/10/2010 - 10:32h

Olá amigo, estou usando o Ubuntu Server 10.04 , quando acesso o compartilhamento via Windows Explorer exemplo \\printserver ele me traz as impressoras que eu tenho compartilhada .. ai beleza instalo, mais no Linux não da aqui na empresa temos estações linux também...

outra coisa..

vc tentou usar uma base Ldap para pegar os usuário, dai assim não precisa cadastrar todos no linux .. usaríamos o samba autenticando na base ldap .

Estou tendo um problema, quando eu crio os usuários ..e adiciono no samba, eu acesso o compartilhamento onde está instalado as minhas impressoras e coloco o usuário e a senha, mais depois que eu faço logof não consigo mais imprimir .. pois ele perde a autenticação .. como posso resolver isso ?

Abraços

[10] Comentário enviado por skellbr em 02/03/2011 - 16:44h


Olá
Eu instalei o jasmine e estou tendo problemas .
O problema é seguinte no cups esta aparecendo aquele erro jasmine: couldn't lauch the real backend; Return code: -1 .
Verifiquei as configurações do Debug e estão desativadas.E a permissão do jasmine esta 755

O caminho da impressora esta jasmine:usb://Samsung/ML-2850%20Series

Sem o jasmine , imprime normal. Engraçado é que com o dummy funciona beleza, aparece no contador jasmine .
Estou usando o Ubuntu 10.10

Obrigado pela ajuda

Atenciosamente.

[11] Comentário enviado por crashcomplex em 27/06/2013 - 15:53h

Estou com o seguinte erro na hora da criação da tabela jobs_log:


ERROR 1064 (42000) at line 23: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, job_id' tinytext UNSIGNED NOT NULL, 'printer' tinytext UNSIG' at line 3.

VERSAO DO MYSQL QUE ESTOU UTILIZANDO: 5.5, UBUNTU 12

Sei que é erro de syntax mas não consigo descobrir uma maneira de corrigir isso, alguem sabe como posso corrigir?

Obrigado


[12] Comentário enviado por tomassoni em 30/08/2013 - 23:09h

Muito legal seu trabalho, tem um muito parecido chamado JPyKotaGUI vale a pena também. Ele funciona com Ubuntu server 12.04, o projeto está no sourceforge http://sourceforge.net/projects/jpykotagui/

[13] Comentário enviado por annecaroline em 06/11/2013 - 12:00h

Olá !!! Estou precisando de uma ajuda...Instalei o Jasmine e o CUPS e não estão apresentando nenhuma mensagem de erro, só que o jasmine não está contabilizando as cópias impressas....Gostaria de saber se alguém sabe por qual motivo isso está acontecendo...Grata!!!

[14] Comentário enviado por kalloww em 18/09/2014 - 15:02h

Oi galera.. Consegui instalar o cups + JASmine, esta contabilizando tudo direiro, usuario, numero de folhas, servidor e tals... Mas queria saber se da para criar cotas para cada usuario.. ?!

[15] Comentário enviado por kalloww em 18/09/2014 - 15:10h


[13] Comentário enviado por annecaroline em 06/11/2013 - 12:00h:

Olá !!! Estou precisando de uma ajuda...Instalei o Jasmine e o CUPS e não estão apresentando nenhuma mensagem de erro, só que o jasmine não está contabilizando as cópias impressas....Gostaria de saber se alguém sabe por qual motivo isso está acontecendo...Grata!!!



Bom, deve ser apenas o pkpgcounter que esta setado no diretorio errado.. o meu tambem estava assim..


Aqui a minha solução :
nano /usr/lib/cups/backend/jasmine

onde tem : my $path_to_pkpgcounter="****"
coloque
my $path_to_pkpgcounter="/usr/local/bin/pkpgcounter"

[16] Comentário enviado por caualourenco em 15/02/2016 - 15:02h

Ola jovens, eu consegui realizar a instalação do cups + jasmine com autenticação no AD. Preciso de ajuda agora para adicionar quota de impressão por grupos (no caso setores). Alguém poderia me ajudar?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts