Você está na página 1de 14

Descrição: Cups (Sistema Comum de Impressão Unix) é um gerenciador de impressão

para sistemas tipo “unix”, ou seja, um ambiente de Sistemas Operacionais de Software


livre / Open source inspirado pelo Unix.

Objetivo: É permitir que um computador seja um Servidor de Impressão, na qual o


Gerenciador de Impressão Cups (Hospedeiro) nativo no Servidor, receba diversas
impressões dos Pc’s (Clientes) processe-os e envie para a impressora correspondente.
Além disso é possível monitorar impressões, relatar erros de impressões, visualizar
relatórios sobre número de páginas impressas, data e horário da mesma.

Desenvolvimento: Seu desenvolvimento se deu com o protocolo LDP que permite que
trabalhos de impressão sejam impressos atráves da rede utilizando TCP/IP. Porém com
o avanço da tecnologia Cups, o protocolo LDP foi ficando ultrapassado, lento e
incompatível com padrões de alguns fabricantes. Logo o Gerenciador de Impressão
Cups aderiu o IPP (Internet Printing Protocol), e foi adotado pela maiorias das
Distribuições Linux como gerenciador de impressão padrão. Hoje o Gerenciador Cups é
mantido pela Apple, que em 2007 contratou Michael Sweet e comprou o código fonte.

Prática: Para agregar um gerenciador de Impressão Cups, é necessário ter em mente


que estamos falando de um servidor para no mínimo 2 ou mais impressoras, caso
contrário não seria viável a utilização de um Servidor deste porte para pequenas rotinas
de impressões.

Instalação:
Abaixo segue uma sequência de parâmetros para instalação do Cups:

Por default sempre em meus posts utilizo a Distribuição Debian, ou seja, todas as
distribuições que utilizam o mesmo padrão que Debian não sofreram nenhuma alteração
para obter a instalação ok!!!

==============================================================
====================

Distribuição Debian:

#apt-get install cups

Iniciar Serviço (start):

# /etc/init.d/cups start

———————————————————————————————————
——————————————-

Distribuição Slackware:

Opção: Via Cd/Dvd

# installpkg /mnt/cdrom/slackware/a/cups-…..-.tgz
Iniciar Serviço (start):

# /etc/rc.d/rc.cups start

———————————————————————————————————
——————————————-

Qualquer Distribuição:

Baixar do Site ( Cups)

Descompactar o arquivo:
# tar -xzvf cups-xxxx-source.tar.gz

Configurar o CUPS:

# cd cups-xxxx
#./configure

Compilar e Instalar:

# make
# make install

Iniciar Serviço (start):

# /etc/rc.d/rc.cups start ou /etc/init.d/cups start

==============================================================
====================

Requisitos
Juntamente com a instalação do Cups é necessário alguns pacotes para acompanha-lo.

Servidor Samba: smbclient (Para Listar Impressoras Compartilhas em Redes


Windows/Linux)

# apt-get install smbclient

Foomatic: é um sistema de impressão desenhado para facilitar a instalação de


impressoras comuns, ele fornece a “cola/mecanismo” entre o spooler de impressão
(Cups ou lpr) e a impressora propriamente dita.

# apt-get install foomatic-gui foomatic-db

Obs: Por Default as novas Distribuições já agregam o pacote foomatic na instalação do


Cups
PPD: Tem a função de criar um método, ou seja, personalizar o comportamento padrão
para um impressora específica como por exemplo (Fontes, Dispositivo de Saída,
Orientação e Tamanho). O sistema Foomatic é o responsável pela criação destes Ppd’s.

PS: Um driver de impressora colorida que trabalhe com o formato PostScript (ps).

==============================================================
====================

Ajuste Fino
Por padrão em novas distribuições alguns destes ajustes não são necessários, pois por
default as devidas configurações já vem pré-estabelecidas no S.O!!!

Samba: Para habilitar as impressoras ou denotar o compartilhamento das mesma no


servidor samba edite o arquivo abaixo:

# vi /etc/samba/smb.conf

==============================================================
====================

Deixa seu arquivo smb.conf como segue abaixo:

########## Printing ##########

load printers = yes

# CUPS printing. See also the cupsaddsmb(8) manpage in the


# cupsys-client package.

printing = cups
printcap name = cups

[printers]
comment = Todas as Impressoras
print ok = yes
guest ok = yes
path = /var/spool/samba

==============================================================
====================

Cups: Para que seu Gerenciador de impressão funcione de um forma mais ágil,
configuramos alguns parâmetros no arquivo de configuração do cups.

# vi /etc/cups/cups.conf
1) Habilitar permissão de Administrador para Pc/Estações:

#Restrict access to the admin pages…


<Location /admin>
Order allow,deny
Allow localhost
Allow 192.168.1.10
</Location>

2) Habilitar permissão para Usuários Avançados acessarem o cups via web, sem alterar
o seu conteúdo:

# Restrict access to the server…


<Location />
Allow from 192.168.1.0/24
Order allow,deny
</Location>

Obs: Neste caso estou Liberando o acesso para todas as máquinas da Rede.

3) Mudar porta de acesso ao servidor Cups

Na opção Port do arquivo /etc/cups/cups.conf

Mude de 631 para XXX sua porta alternativa.

4) Referenciar um Nome ou Ip para acesso via Web do Servidor Cups (IPP)

# Only listen for connections from the local machine.


Listen localhost:631
Listen 192.168.1.100:631
Listen /var/run/cups/cups.sock

Obs: Adicione o Ip da maquina cups ou um nome em Listen.

==============================================================
====================

Instalação de Impressoras Via Web


Para efetuar uma instalação via web é necessário os seguintes passos:

1) Acesse a web com o endereço: http://localhost:631

esse acesso é feito quando se esta na máquina origem, ou seja, onde foi instalado seu
Gerenciador de Impressão Cups. Caso o acesso seja feito de uma outra maquina via
web, é necessário habilitar permissões para determinada estação/pc.

2) Ao Abrir a página do Cups ir na Aba Administration ou http://localhost:631/admin


3) No campo Printers ir em ADD PRINTER e escolhar a opção desejada ( Impressora
Local, Impressora Rede, Via Samba)

4) No Proximo passo destacar o caminho da impressora caso seja via:

Samba:

smb://[NOME DA MAQUINA OU IP]:[PORTA]/[NOME DA IMPRESSORA


COMPARTILHADA]

Http:

http://%5BNOME DA MAQUINA OU IP]:[PORTA]/[NOME DA IMPRESSORA


COMPARTILHADA]

Socket:

socket://[NOME DA MAQUINA OU IP]:[PORTA]/[NOME DA IMPRESSORA


COMPARTILHADA]

Obs: O campo “:[PORTA]” é opcional, porém obrigatório para impressoras tipo


(Rede). As vezes na opção via Samba é necessário colocar ( guest@ ou nome de um
usuário da máquina Windows) na frente do nome da máquina ou Ip.

5) A seguir coloque o Nome, Descrição e Localização da Impressora para visualização


no Cups

6) Feito isso no próximo passo adicione o drive correto da Impressora, esse passo pode
ser feito de 2 maneiras ( 1 – Baixar do site do fabricante o drive PPD da Impressora ou
2 – Listar um drive já estabelecido pelo cups ou até mesmo um genérico do mesmo
fabricante)

7) Pronto a Impressora já esta instalada em seu Gerenciador de Impressão Cups.

Instalação de Impressoras em Clientes


(Windows/Linux)
A instalação das impressoras compartilhadas dentro do Servidor Cups podem ser feitas
da seguinte maneira

1) No sistema Windows Xp entre em (Painel de Controle –> Impressoras –> Adicionar


um Impressora)

2) No próximo passo siga em Avançar, e na seleção do tipo de Impressora vai em:

(Uma impressora de rede ou Conectado a outro computador)

3) Na opção (A que impressora você deseja conectar?) selecione a opção:


(Conectar-se a uma impressora na internet ou uma rede doméstica ou no escritório)

Ou seja URL:

4) No campo URL coloque as informações do acesso da impressora:

http://%5BNOME OU IP DO SERVIDOR CUPS]:[631 OU NUMERO DA PORTA


CUPS]/printers/[NOME DA IMPRESSORA COMPARTILHADA]

Exemplo: “http://192.168.1.1:631/printers/HP-DESKJET&#8221;

Nos clientes do Sistema Windows (Vista, Seven, Server 2003 e 2008) segue os mesmos
passos com algumas diferenças na versão do S.O, para clientes Linux dependendo da
interface (Gnome, Kde e etc) siga os passos para a instalação de uma Impressora via
Web (http).

Conclusão
Existem hoje em dia “n” casos para soluções e instalação do Gerenciador Cups, todas
com aspecto de instalaçãoe configuração base. Neste post creio que fica claro a
instalação do Gerenciador, bem como a configuração do mesmo, porém existem
diversos detalhes como Gerenciamento de Impressão e Verificação diária das
Impressões. Com tudo espero que tenha ajudado a vocês leitores a dar seus primeiros
passos ao Gerenciador de Impressão Cups. Em um próximo Artigo vou tentar descrever
o Gerenciamento do Cups, bem como a utilização do Jasmine para controle de
Impressões via Usuários.

Dicas de uso e Gerenciamento do CUPS

Boa Noite a todos !

Estou fazendo um trabalho para a Faculdade, especificamente para a disciplina


do Professor e Mestre Leocádio Gomes que é Administração de Sistema Linux,
onde a parte que estou responsável é de falar sobre o CUPS.

Já a algum tempo uso o CUPS(Common Unix Printing System) pois é o serviço de


impressão padrão do Linux já a muitos anos.
Trabalho em uma empresa desenvolvimento onde o software base é instalado no
Linux e neste caso é necessário que conhece pelo menos o básico do funcionamento
do CUPS, o que pode me ajudar a escrever algumas dicas de uso e configuração
sobre este servidor de impressões.

Sugiro a todos que façam uma leitura completa e que aproveitem no dia a dia as
dicas aqui postadas.

Caso alguém sinta vontade de compartilhar mais experiências fique a vontade.


Como hoje trabalho com distribuições baseadas em Debian, preferencialmente,
os exemplos de instalações, caminhos de configurações e comandos serão
sugeridos e detalhados utilizando o padrão desta distribuição.

"O CUPS é um gerenciador de impressões desenvolvido pela Appel Inc. para sistemas
Mac OS e outros sistemas baseados em UNIX."

Até a elaboração deste documento, a versão do CUPS estável é


1.3.9 disponivel no endereço http://www.cups.org ou no repositório da sua
distribuição.

Colocarei dicas de configuração editando o arquivo de configurações na


unha, mas para facilitar o nosso trabalho, usaremos a interface por browser
que é a ideia do CUPS, de fornecer uma interface amigável ao usuário
para gerenciar suas impressões na rede.

Há recursos interessantes no servidor CUPS que permitem ao usuário


final reimprimir seu trabalho sem a necessidade de reabrir os documentos
no seu desktop.
Isso é possível pelo log das impressões habilitado. Vamos demonstrar
como configurar este recurso entre outras possibilidades e fazer uma
configuração básica para funcionamento do servidor.

O CUPS é instalado no Linux como um "serviço" e acessado por qualquer


browser pela porta 631.
A instalação e configuração de novas impressoras sempre deverá ser
feita por um browser para evitar erros de formatação nos arquivos de
configuração, mas isso não será uma regra, pois vou relatar casos em
que precisaremos editar os arquivos diretamente.

Podemos utilizar a interface grafica no servidor para iniciarmos as


configurações do CUPS mas se estivermos acessando o servidor
remotamente pela linha de comando é interessante que tenhamos
instalado no servidor um browser também com esta caracteristica.

Gosto muito do lynx que pode ser instalado como a seguir:

$ sudo aptitude install lynx

Instalando o CUPS

Por padrão, o CUPS já vem instalado nas principais distribuições


atuais, mas para instala-lo se necessário, utilize o comando a seguir:
$ sudo aptitude install cupsys cupsys-client

Configurando rapidamente o CUPS

Depois de instalado o CUPS, acessaremos o gerenciador pela URL:


http://ipdoservidor:631.

No CUPS é possível o usuário gerenciar seus proprios jobs, sendo possível


cancelar, pausar e reimprmir seus trabalhos.
Para cadastramento de impressoras podemos utilizar o usuario root, quando
acessamos o serviço pela aba Administration. É possivel eleger um novo
usuario para administrar impressoras no sistema, para isto basta que o
usuario faça parte do grupo lpadmin.

$ sudo gpasswd -M usuario lpadmin

Vamos editar o arquivo de configurações do CUPS para as primeiras dicas


importantes.

OBS.: Cada vez que você fizer alterações no arquivo de configuração


/etc/cups/cupsd.conf diretamente, você precisará re-iniciar o servidor CUPS
digitando o seguinte comando no prompt de um temrinal:

$ sudo /etc/init.d/cupsys restart

A principio, dentro do browser, o sistema irá restartar assim que voce salvar
as alterações do arquivo de configuração.

Clique na aba Administration e depois Edit Configuration File.

Analisando o arquivo cupsd.conf

Primeiros passos

Precisaremos configurar o acesso ao CUPS em toda a rede, para que os usuários


possam reimprimir e gerenciar seus jobs no servidor de qualquer máquina da rede.
* Substitua Listen localhost:631 por Port 631
* Verifique a sequência a seguir:

Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL

(Esta linha indica a faixa de IP's que poderão acessar via browse o CUPS, neste
caso podemos definir uma rede especifica por exemplo. Ex.: BrowseAddress
192.168.1.*)
Caso queira habilitar a aba Administration para qualquer IP da rede basta inserir
Allow @LOCAL na sessão a seguir:

Order allow,deny
Allow @LOCAL

Algumas diretivas do arquivo de configuração cupsd.conf

AccessLog
Podemos definir o caminho dos logs que o servidor gera com a diretiva AccessLog:
A diretiva AccessLog define os nomes dos arquivos de logs do CUPS.
Se nenhum diretório for definido o CUPS assume o diretório padrão de logs do
sistema(normalmente /var/log/cups/).
Os arquivos podem ser lidos no próprio acesso ao CUPS pelo Browser ou
diretamente na linha de comando.
Accesslog /var/log/cups/access_log
Podemos também definir o caminho do arquivo de erros do servidor com a diretiva
ErrorLog.

AccessLogLevel
A diretiva AccessLogLevel diz em que nível é registrado os pedidos de acesso ao
serviço no arquivo de log.
AccessLogLevel all

Allow, Deny e Order


A diretiva Allow especifica um nome, o endereço IP ou rede que é permitido o
acesso ao servidor. Ao contrario a diretiva deny, nega por faixa de rede.
Veremos essas diretivas em várias sessões do arquivo de configuração. O Allow e o
deny devem aparecer dentro de uma seção Location ou Limit no arquivo
cupsd.conf.
Iremos ver em conjunto com estas diretivas a diretiva order, que define a forma de
consulta a seqüência de negação ou permissão da seção.

Podemos utilizar por exemplo:


Allow @LOCAL
O parâmetro @LOCAL irá permitir o acesso de todos as maquinas da mesma rede
do servidor.
Deny 192.168.1.0/24

AuthType
Podemos definir o nível de autenticação para acesso ao servidor com a diretiva
AuthType que por padrão é usado Default (sem autenticação). Mas você pode
utilizar a autenticação ao servidor utilizando Basic - a autenticação básica deve ser
feita utilizando a senha e grupo do SO LINUX.

AuthType Default
Require user @SYSTEM
Order allow,deny

Neste exemplo da seção que define acesso ao arquivo de configuração do servidor


CUPS. Assim com outras diretivas, esta autenticação deve aparecer dentro de uma
seção Location ou Limit dentro do arquivo cupsd.conf.

BrowseAllow e BrowseDeny
As diretivas BrowseAllow e BrowseDeny correspondem à faixa de rede que serão
permitidas e negadas a navegar no servidor CUPS por Browser respectivamente.
A diretiva BrowseOrder trabalha em conjunto com as
Ex.:
BrowseOrder allow,deny
BrowseAllow all
BrowseDeny 192.168.1.0/24

ErrorPolicy abort-job
Um trabalho enviado a uma impressora com status de erro por algum motivo
permanece no servidor até que a situação seja corrigida. O servidor pode eliminar
qualquer trabalho enviado, setando a diretiva ErrorPolicy abort-job

MaxClients
Define o numero de conexões no servidor.
MaxClientsPerHost 10

MaxClientsPerHost
Define o numero Maximo de conexões de um mesmo host, evitando assim possíveis
ataques ao serviço.

MaxCopies
Define um numero Maximo de copias de um mesmo documento por cliente.

MaxJobs
Define um numero Maximo de impressões pendentes na memória. Somente serão
aceitos novos trabalhos quando os mais antigos estejam completos. O padrão do
CUPS é de 500 trabalhos
MaxJobs 100

MaxJobsPerPrinter
Define o numero Maximo de copias por impressora ou classe de impressoras.
Mesmo conceito do MaxJobs. O padrão por impressora é 0 (zero) que desabilita
este controle.
MaxJobsPerPrinter 100

MaxJobsPerUser
Mesmo conceito que por impressora, mas agora por usuário do sistema.

MaxLogSize
A diretiva MaxLogSize controla o tamanho máximo de cada arquivo de log. Quando
um arquivo de log alcança ou excede o tamanho máximo é fechado e renomeado
para filename.O. Isso permite que você rode os registros automaticamente. O
tamanho padrão é 1048576 bytes (1MB).
Definir o tamanho máximo para 0 desativa log rotação.

PreserveJobHistory
Habilitado, o histórico das impressões enviadas ao servidor é mantido até que o
administrador as remova.
PreserveJobHistory On
PreserveJobFiles
A diretiva PreserveJobFiles controla se os arquivos impressos como concluído,
cancelado, ou abortado são armazenados no disco.
Um valor On preserva arquivos até que o administrador remova-os com o comando
cancelar. Impressões podem ser retomadas (e reimpressas) como desejadas até
que sejam removidas.

ServerAdmin
Indica o email do administrador do sistema. Casos de mensagens ao administrador
pelo servidor.

SystemGroup
Indica um ou mais grupo para administrar o CUPS
SystemGroup lpadmin sys root

User 21
Indica o usuário do sistema para o CUPS a ser usado por qualquer programa do SO
para envio de trabalhos.

Conclusão CUPS

O servidor de impressão CUPS é sem dúvida uma excelente ferramenta para


controle de impressões em uma pequena e media empresa. Um grande numero de
drivers de impressoras conhecidas do mercado já são suportadas pelo servidor.
A possibilidade de analise e controle do que é impresso nas empresas é
fundamental para qualquer administrador de TI estabelecer limites de uso das suas
impressoras. Inativar e /ou ativar um equipamento, administrar remotamente o
mesmo, definições de cotas de impressão e muitas outras informações de gerência
e operação das impressoras.
A versão 1.4 a ser lançada ainda prevê uma opção de tradução do CUPS bem como
sua documentação.

CUPS – Gerenciamento de Filas de impressão March 7,


2011
Posted by Diego Felipe Mateus in Inicio, LINUX.
trackback

### Verificando referência de impressoras conectadas:


# lpinfo -v

Fazendo um teste de impressão com o comando “lp”:


# lp -d arquivo.txt
Na opção “-d” é necessário especificar o nome da impressora.

## Verificando a fila de impressão:


# lpq -Pimp01
Removendo um trabalho da fila de impressão:
# lprm -Pimp01 5
O 5 é o número do job na fila de impressão

##Removendo todos os jobs da fila de impressÃo


#lprm -P -

##Gerenciar o CUPS via BROWSER

No browser digite:
localhost:631/admin

## Configurando DO LINUX IMPRIMIR NO WINDOWS


smb://guest@ipdamaquinawindows/nomedaimpressora

Vamos ao detalhamento:

guest – usuário convidado para utilizar a impressora;


ipdamaquinawindows verifique o endereço IP da máquina Windows onde a
impressora esta instalada. Ex: 192.168.0.2

Então colocaremos:
#smb://guest@192.168.0.2/HPDeskJet895C

(não pode mudar o maiúsculo/minúsculo)

Os sistemas (Linux e Unixes) são baseados em Case Sensitive , ou seja , diferem de


minusculas ou maiusculas como interpretação.

Clique em Continue/Continuar.

## CRIANDO IMPRESSORA NO LINUX Á PARTIR DO “printconf”

1 – ) comando “printconf””

As configurações do CUPS ficam dentro de /etc/cups, sendo que o arquivo de


configuração do CUPS em si fica em /etc/cups/cups.conf (permissões) e as
configurações das impressoras ficam em /etc/cups/printers.conf (nome da impressora,
compartilhamento, descrição).

O CUPS também pode ser configurado pela WEB, é só acessar a máquina do servidor
CUPS pela porta 631. Ex: http://192.168.1.1:631.

## Vamos mostrar alguns comandos então:

lpq – mostra todas as impressões que tem na fila;


lpr – limpa afila de impressão;
cat teste.txt >> /dev/porta (lp0) imprime o arquivo teste direto na impressora

###ADICIONANDO IMPRESSORA VIA LINHA DE COMANDO###


## Impressora local:
# lpadmin -p impressoralocal -E -v parallel:/dev/lp0 -m arquivo.ppd

## Impressora smb:
# lpadmin -p impressorasmb -E -v smb://micro/nome_do_compartilhamento -m
arquivo.ppd

Impressora ip:
# lpadmin -p impressoraip -E -v ipp://ip_da_impressora -m arquivo.ppd

-p => impressora;
-E => habilita e aceita os jobs;
-v => caminho da impressora;
-i => interface que irá responder;
-D => Descrição da impressora

## Configurando impressora padrão:


# lpadmin -x impressora

## Parar/iniciar impressora:
# /usr/bin/enable impressora
# /usr/bin/disable impressora

OBS.: Ao parar a impressora, continua recebendo impressões e mandando para a fila,


apenas não imprime.

Rejeitar/aceitar impressões:
# /usr/bin/accept impressora
# /usr/bin/reject impressora

Obs.: Ao rejeitar a impressora, não imprime e nem manda as impressões para a fila.
Rejeita as impressões.

## Liberar impressora por usuário/grupo:


# lpadmin -p impressora -u allow:all
(libera a impressora para todos usuários)

# lpadmin -p impressora -u allow:user1,user2


(liberar a impressora apenas para o user1 e user2)

# lpadmin -p impressora -u deny:user1,user2


(bloqueia a impressora para user1 e user2)

# lpadmin -p impressora -u deny:user1,grupo2


(bloqueia a impressora para user1 e grupo2)

Se ela responder na porta 9100, cadastre-a no CUPS assim:

socket://endereço-da-impressora
ou

socket://endereço-da-impressora:9100

Se a impressora responder na rede Windows, vc pode cadastrá-la com o protocolo "smb://"; se


responder na porta 515, cadastre-a como "lpd://".

Você também pode gostar