CUPS + Jasmine (gerenciador de impressões e relatórios de impressão)

Vou postar aqui mais um artigo entre inúmeros no Viva o Linux, mas porque outro? Algumas pessoas já me falaram que não conseguiram seguindo os artigos aqui postados, então vou explicar mais detalhadamente.

[ Hits: 127.268 ]

Por: José Rodrigues Filho em 08/10/2010


Ambiente utilizado



Primeiramente ditarei o ambiente que utilizo e que está em funcionamento:
  • Ubuntu Server 8.04

É necessário para nossos testes uma impressora USB, PARALELA ou de REDE.

No exemplo a seguir tenho uma HP LaserJet Professional P1102w, é a nova HP Laser com rede sem fio, nela está configurado o IP 172.16.1.66.
Instalando:

sudo aptitude update
$ sudo aptitude install vim apache2 build-essential cupsys cups-pdf cupsys-driver-gutenprint
$ sudo vim /etc/cups/cupsd.conf


Altere a linha 17:

Listen localhost:631

Para:

Listen 631

Para quem não sabe fazer o vim aparecer numeração é simples, digite a tecla ESC e em seguida:

:set nu

Vamos agora dar permissão para acesso ao CUPS:

sudo vi /etc/cups/cupsd.conf

E altere as linhas conforme abaixo:

# Show shared printers on the local network.
Browsing On
DefaultAuthType Basic
<Location />
   Allow From 172.16.1.54
   Allow all
</Location>

E para termos acesso às paginas de administração:

# Restrict access to the server...
<Location />
   Order allow,deny
   Allow From 172.16.1.54
</Location>

# Restrict access to the admin pages...
<Location /admin>
   Allow From 172.16.1.54
   Allow all
</Location>

Agora reinicie o serviço:

sudo invoke-rc.d cupsys restart

Lembrando que o IP acima 172.16.1.54 é para ter acesso apenas da minha rede, altere conforme o IP da sua rede.

    Próxima página

Páginas do artigo
   1. Ambiente utilizado
   2. Samba
   3. Jasmine + impressora de testes (economia de papel)
   4. Instalando a impressora no servidor
   5. Instalando a impressora no Windows
   6. Contabilizar as páginas no Jasmine
Outros artigos deste autor

OpenVPN - Servidor Ubuntu 10.04 LTS e Clientes Windows

Servidor Ubuntu 8.04 com proxy autenticado + SARG + Samba + CUPS

Administração - Controle de Acessos

FTP com autenticação LDAP

Recebendo relatório do SARG via e-mail (Gmail)

Leitura recomendada

XL - Ferramenta de gerenciamento Xen - Parte II

Bacula no Debian Lenny

Adicionar mensagens iniciais no terminal nas sessões de sudo

Configurando hostname, rotas, gateway e IP em Red Hat 6

Funcionalidades do Eclipse no Vim - Usando o Eclim

  
Comentários
[1] Comentário enviado por wellington79 em 08/10/2010 - 09:57h

Ola, gostaria de saber se em seu servidor ele faz corretamente a contabilidade de paginas impressas, principamente com arquivos PDFs, pois a um tempo atrás testei o jasmim e o kingfisherqm e nao contabilizavam corretamente as paginas ....

[2] Comentário enviado por joserf em 08/10/2010 - 11:39h

Amigo eu tenho em funcionamento um server com 11 maquinas e 3 impressoras até agora contabilizou normal os PDFs.

[3] Comentário enviado por celosop em 08/10/2010 - 15:33h

Olá, pessoal, ficou ótimo o artigo, realmente bem detalhado, só que eu continuo com um probleminha e não sei se vocês podem me ajudar. Segui todos os passos, e na hora de instalar a impressora no CUPS, testei as 2 maneiras, tanto impressora local, quanto de rede, ambas deram problemas, os erros foram o seguinte:

Local: jasmine couldn't lauch the real backend return code -1.
Rede: jasmine couldn't lauch the real backend return code 256.

Realmente queria saber se alguem teve o mesmo problema e gostaria de me ajudar a resolve-lo, e o engraçado é que quando eu instalo a impressora local sem ser pelo jasmile ele funciona normal. Obrigado galera!!!!

[4] Comentário enviado por joserf em 08/10/2010 - 17:23h

qual sistema esta aplicado seu servidor de impressão ? utiliza Ubuntu 8.04 server e segue o artigo que vai bombar

[5] Comentário enviado por eduardofraga em 12/10/2010 - 22:53h

Olá amigo, parabéns pelo seu artigo.

Eu já tive problemas com Jasmine a alguns anos e realmente tem um BUG na contabilização das páginas.

O problema ocorre na contabilização de páginas que são canceladas. Por exemplo: Se um usuário envia um documento com 50 páginas e, em seguida ele cancela na 3 página, o Jasmine não tem como excluir do banco de dados, ou seja ele conta as 50 páginas, mas só foram impressas 3.


[6] Comentário enviado por sergioricardo em 13/10/2010 - 15:55h

Meu amigo faltou explicar no artigo como adicionar os usuários do Windows para que os mesmos possam aparecer no Relatório.

Mas valeu pelo artigo!?

[7] Comentário enviado por binobass em 26/01/2011 - 17:52h

joserf pode me dar um help? Não consegui criar a base de dados para o jasmine.
em http://localhost/jasmine/ exibe a seguinte erro

Critical errors

DB_connect Unable to connect to host "MYSQL_SERVER": Unknown MySQL server host 'MYSQL_SERVER' (1)
Check that the MySQL host is up, and that you gave the right hostname.
DB_select Unable to select database "MYSQL_DB": Access denied for user 'www-data'@'localhost' (using password: NO)
Check that this database exists, and that you gave the right name.
DB_query Unable to run query "SELECT user,SUM(copies*pages) as total FROM jobs_log GROUP BY user ORDER BY total DESC LIMIT 10": Access denied for user 'www-data'@'localhost' (using password: NO)
Check the syntax of this query, and that the requested data exists.
jas_getUserRankings Query failed !
Check for the query syntax, and that the MySQL host is up.
DB_query Unable to run query "SELECT printer,SUM(copies*pages) as total FROM jobs_log GROUP BY printer ORDER BY total DESC LIMIT 5": Access denied for user 'www-data'@'localhost' (using password: NO)
Check the syntax of this query, and that the requested data exists.
jas_getPrinterRankings Query failed !
Check for the query syntax, and that the MySQL host is up.
DB_query Unable to run query "SELECT server,SUM(copies*pages) as total FROM jobs_log GROUP BY server ORDER BY total DESC LIMIT 5": Access denied for user 'www-data'@'localhost' (using password: NO)
Check the syntax of this query, and that the requested data exists.
jas_getServerRankings Query failed !
Check for the query syntax, and that the MySQL host is up.

Desde de já agradeço.

[8] Comentário enviado por binobass em 27/01/2011 - 13:55h

Bom galera, consegui fazer funcionar o sql, imprimo normal mas no relatório do jasmine exibe o nome do arquivo que foi impresso, mas infelizmente não está contabilizando as paginas de cada arquivo impresso... alguém pode me dar um help?

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


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.

[10] Comentário enviado por ClaytonJM em 23/03/2011 - 21:52h

Esse IP é ou pode ser o IP do servidor onde ele esta?? e se for isso todas as máquinas da minha rede pode imprimir nele??

[11] Comentário enviado por frozendesigner em 25/03/2011 - 11:13h

Bom dia amigos, alguém já teve a necessidade criar uma lista de palavras que apareçam no title e cancelar a impressão e não enviar para impressora e também a necessidade de mandar imprimir uma cópia impressa e manter uma cópia do mesmo arquivo em pdf em determinada pasta. Estou pesquizando ainda não encontrei nada desse tipo achei um sistema pago printertux de fato muito bom queria fazer um e disponibilizá-lo de forma gratuita.

[12] Comentário enviado por jeff.jno em 01/04/2011 - 21:59h

Olá amigos,
Bruno Dias das Neves valew mesmo o seu artigo resolveu minha vida aqui. Tinha muitos problemas com mandar impressão e nao ir, impressora que nao respondia.
Muitas dessas coisas resolveram com a instalaçao do cups,
Porém agora to com outro problema.
Sempre que tenho passar as impressões pelo jasmine. Da um erro. que é o seguinte.

{completed at
Sex 01 Abr 2011 21:33:27 BRT
"Unable to open print file "": No such file or directory"}

Pode ser visualizado dentro da página de do proprio cups. Se eu tiro o soket jasmine:socket://192.168.200.99
Deichando assim :socket://192.168.200.99
O negocio funciona.
O pior que eu consegui gerar alguns relatórios de cópias com o cups agora nao gero nenhum é ativar e a impressora não imprime.

A permissão do jasmine está em 755 e ja coloquei 775 e nada tambem.

Podem me ajudar?

[13] Comentário enviado por christianmarques em 05/05/2011 - 16:35h

Uso ubuntu 10.04 lts 32 bits server.

Tudo ocorreu bem na instalação, mas o Jasmine não contabiliza nada, fica a tela sempre em branco.

Uso uma RIcoh 2510.

Alguma dica?

[14] Comentário enviado por joserf em 05/05/2011 - 17:50h

christianmarques, esse artigo é pro 8.04 eu estou migrando meu servidor para 10.04 lts porem não cheguei ainda no jasmine assim que eu instalar aqui no meu ambiente de produção estarei postando as mudanças se houver, abraço.

[15] Comentário enviado por joserf em 10/05/2011 - 12:27h

christianmarques, acabei de postar um artigo para o jasmine funcionar no 10.04 lts server só aguardar ou me dar um toque que envio para vc.

[16] Comentário enviado por frozendesigner em 10/11/2011 - 20:04h

Boa noite pessoal, alguém sabe como imprimir ou converter os arquivos que estão em /var/spool/cups. Obrigado a todos.

[17] Comentário enviado por rotaviano em 30/01/2012 - 21:36h


sera que alguem pode me ajudar ...

estou com problema para dexar o cups funcionando e tenho algumas duvidas..

terei apenas 1 servidor cups...

e na maquina cliente tenho q instalar o cups tb ???

como a maquina cliente , é nela que esta instalada a impressora , farei para o servidor gerenciar esse impressora e a maquina cliente identificar o servidor cups ? ? ? ?

***centos 5.7 e ubuntu 10.11 cliente

[18] Comentário enviado por s1n1str0_n3t em 16/05/2012 - 11:41h

Bom dia senhores.
Sei que o projeto Jasmine já esta descontinuado, mas caso alguém assim como eu tenha problemas do tipo abaixo relacionado, encontrei um bem interessante que resolveu o meu problema, até o momento meu servidor esta em testes mas não tive mais problemas depois desta correção sugerida no tutorial. Segue erro:

E [16/May/2012:09:50:10 -0300] [Job 91] Não é possível abrir o arquivo de impressão "": No such file or directory
E [16/May/2012:09:50:10 -0300] [Job 91] jasmine: Couldn't lauch the real backend; Return code: 256

Pelo que entendi a função perl que cria os arquivos temporários não estava operando corretamente, então foi sugerido a alteração na seguinte linha do código fonte Jasmine, segue link:

http://permalink.gmane.org/gmane.comp.printing.jasmine.user/145

Com a certeza de ter ajudado, fico a disposição para mais esclarecimentos.

Ambiente testado:
Slackware 13.1.0
Kernel 2.6.37
Cups 1.4.5-x86_64-2
Mysql 5.1.46-x86_64
Apache 2.4.2
PHP 5.4.0

Impressoras testadas:
HP Laserjet 1160
HP Laserjet 3055
HP OfficeJet Pro L7500

[19] Comentário enviado por david fonseca em 20/08/2012 - 16:35h

Deu tudo certo comigo .... fiz no centos 5.8


Mas tenho uma duvida... tem algum modo de eu poder visualizar as impressões??

Eu so vejo o nome e o tipo do arquivo quer foi impresso , preciso ver seu conteúdo

[20] Comentário enviado por henriquetecinfo em 19/05/2014 - 16:36h

Boa tarde
Estou tentando criar um servidor de impressões seguindo os passos desse tutorial. Parei na página 3, logo após o download dos arquivos para a configuração do Jasmine.
No momento que tento dar o comando: $ sudo mysql -u root -p ele me retorna a seguinte mensagem: bash: mysql: Comando não encontrado.
Isso seria algum problema com a versão do mysql que eu instalei que não está localizando o comando( instalei exatamente como foi solicitado no tutorial )??

Estou usando uma VM Debian 3.2.51-1
Obrigado a todos

[21] Comentário enviado por thomasdiego em 01/10/2015 - 11:21h

Bom dia VL,

Estou montando um servidor com Linuc CentOS na versão 6.7.
Nele instalei um CUPS + Webmin + Samba + MySQL + Apache + PHP + JASmine.
Tudo está instalado e configurado certinho, mas na última parte, o JASmine ao entrar na tela dele apresenta a mensagem de erro a seguir:

Users Top10
An error occured, please check the error messages.
“?>
Printers Top5
An error occured, please check the error messages.
“?>
Servers Top5
An error occured, please check the error messages.
“?>

Fui até os logins do Apache e verifiquei o seguinte erro:
cat /var/log/httpd/error_log

[Thu Oct 01 09:14:56 2015] [warn] ./mod_dnssd.c: No services found to register
[Thu Oct 01 09:39:00 2015] [error] [client 192.168.0.232] PHP Notice: Undefined index: iSearchString in /var/www/html/find.php on line 90, referer: http://192.168.0.220/index.php?section=summary
[Thu Oct 01 09:39:02 2015] [error] [client 192.168.0.232] PHP Notice: Undefined index: iSearchString in /var/www/html/find.php on line 90, referer: http://192.168.0.220/index.php?section=find&searchType=printer
[Thu Oct 01 09:39:03 2015] [error] [client 192.168.0.232] PHP Notice: Undefined index: iSearchString in /var/www/html/find.php on line 90, referer: http://192.168.0.220/index.php?section=find&searchType=user


Executei o comando:
cat /var/www/html/find.php

obtive a seguinte resposta:
<?php
/* JASmine, print accounting system for Cups.
Copyright (C) Nayco.

(Please read the COPYING file)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */

/* Find.php: Provides a search page to find printers and users */

/* Includes */
include_once("libJasReports.php");

/* Displays the search form */
function display_search_form ($objectType, $searchString=""){

$me=htmlentities($_SERVER["PHP_SELF"]);
$searchString=htmlentities($searchString);
$objectType=(!empty($objectType))?htmlentities($objectType):"";
$check_user=($objectType=="" || $objectType=="user")?"checked ":"";
$check_printer=($objectType=="printer")?"checked ":"";
$check_server=($objectType=="server")?"checked ":"";

echo "<!-- Begin search form -->\n";
echo "<div id=\"search_form\">\n";
echo " <form name=\"search_form\" action=\"$me?section=find\" method=\"post\">\n";
echo " <label>\n";
echo " <input type=\"text\" name=\"iSearchString\" value=\"$searchString\" />\n";
echo " Text to search\n";
echo " </label>\n";
echo " <fieldset>\n";
echo " <legend>Object type</legend>\n";
echo " <label>\n";
echo " <input type=\"radio\" name=\"iSearchType\" value=\"user\" $check_user/>\n";
echo " Users</label>\n";
echo " <label>\n";
echo " <input type=\"radio\" name=\"iSearchType\" value=\"printer\" $check_printer/>\n";
echo " Printer</label>\n";
echo " <label>\n";
echo " <input type=\"radio\" name=\"iSearchType\" value=\"server\" $check_server/>\n";
echo " Servers</label>\n";
echo " </fieldset>\n";
echo " <input type=\"submit\" value=\"submit\" \>\n";
echo " <input type=\"reset\" value=\"clear\" />\n";
echo " </form>\n";
echo "</div> \n";
echo "<!-- End search form -->\n";
}

/* Function to fetch the results, and display them
TODO: WRITE A BETTER DESCRIPTION !!! */
function display_results($searchString, $objectType){
echo "<!-- Begin search results -->\n";
if(!$result=jas_searchObject($searchString, $objectType)){
echo "<p><em>Query failed.</em></p>\n";
return false;
}
else{
if ($result>0){
echo "<p>\n";
echo " <em>The following results were returned:</em>\n";
echo " <ul>\n";
foreach ($result as $line){
$lineDisplay=htmlentities($line);
echo " <li><a href=\"?section=show_$objectType&amp;$objectType=$line\">$lineDisplay</a></li>\n";
}
echo " </ul>\n";
echo "</p>\n";
}
else{
echo " <em>No result.</em>\n";
}
}
echo "<!-- End search results -->\n";
}

// Begin to process the page...
$iSearchString=$_POST['iSearchString']; (Essa é a linha 90 que o Apache acusa o ERRO)
if(empty($_POST['iSearchType'])){
if(empty($_GET['searchType']))
$iObjectType="user";
else
$iObjectType=$_GET['searchType'];
}
else
$iObjectType=$_POST['iSearchType'];
?>
<h2>Search for objects</h2>
<?php
/*echo "\$_POST['iSearchString']=".$_POST['iSearchString']."\n<br />";
echo "\$_POST['iSearchType']=".$_POST['iSearchType']."\n<br />";
echo "\$_GET['searchType']=".$_GET['searchType']."\n<br />";
echo "\$iSearchString=$iSearchString\n<br />";
echo "\$iObjectType=$iObjectType\n<br />"; */
?>
<h3>Help</h3>
<p>Some help...</p>
<?php
display_search_form($iObjectType, $iSearchString);

if (!empty($_POST['iSearchString'])){
echo " <h3>Results</h3>\n";
DB_connect($DB_host,$DB_login,$DB_pass);
DB_select($DB_db);
display_results($iSearchString, $iObjectType);
}
?>


Não faço ideia do que seja, será que alguém pode me ajudar???


[22] Comentário enviado por eder84 em 03/12/2015 - 16:57h

Boa tarde!

estou com problemas ao executar a linha de comando:
$ sudo mysql -u root -p print < jasmine.sql
retorna o erro abaixo,

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 NOT NULL,
`printer` tinytext NOT NULL,
`u' at line 3

[23] Comentário enviado por wallysonpsy em 05/09/2017 - 19:01h

Pessoal,

ao tentar imprimir qualquer documento em PDF o titulo da impressão fica como "Remote Downlevel Document"

Alguem sabe como resolver? alguem teve algum problema parecido.

usando debian 8.

[24] Comentário enviado por Lacordaire em 16/03/2018 - 11:55h

O Jasmine só roda em PHP5 para baixo? Ele é imcopatível com o PHP7 ou superior? Eu utilizo o Ubunto 16.04 e ele so tem a opção de instalar o PHP7. Estou com problema com o Jasmine e acredito que deve ser a incompatibilidade dele com o PHP7.

[25] Comentário enviado por Lacordaire em 17/03/2018 - 22:18h

Alguém para tirar minha dúvida?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts