# pkg install cups
CUPS no FreeBSD
Esta tradução pode estar desatualizada. Para ajudar com as traduções, acesse a ferramenta de traduções do FreeBSD.
trademarks
FreeBSD is a registered trademark of the FreeBSD Foundation.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the “™” or the “®” symbol.
Índice
Resumo
Um artigo sobre como configurar o CUPS no FreeBSD.
1. Uma introdução ao Common Unix Printing System (CUPS)
O CUPS, o Common UNIX Printing System, fornece uma camada de impressão portátil para sistemas operacionais baseados em UNIX®. Ele foi desenvolvido pela Easy Software Products para promover uma solução padrão de impressão para todos os fornecedores e usuários de UNIX®.
O CUPS utiliza o Protocolo de Impressão pela Internet (IPP) como base para gerenciar trabalhos e filas de impressão. Os protocolos Line Printer Daemon (LPD), Server Message Block (SMB) e AppSocket (também conhecido como JetDirect) também são suportados, porém com funcionalidade reduzida. O CUPS adiciona opções de visualização de impressoras em rede e impressão baseada em PostScript Printer Description (PPD) para suportar as necessidades de impressão do mundo real no ambiente UNIX®. Como resultado, o CUPS é ideal para compartilhar e acessar impressoras em ambientes mistos de FreeBSD, Linux®, Mac OS® X ou Windows®.
O site principal do CUPS é http://www.cups.org/.
2. Instalando o CUPS Print Server
Para instalar o CUPS usando um binário pré-compilado, execute o seguinte comando em um terminal como root:
Outros pacotes opcionais, mas recomendados, são o print/gutenprint e o print/hplip, ambos adicionando drivers e utilitários para uma variedade de impressoras. Após a instalação, os arquivos de configuração do CUPS podem ser encontrados no diretório /usr/local/etc/cups.
3. Configurando o CUPS Print Server
Depois da instalação, alguns arquivos devem ser editados para configurar o servidor CUPS. Primeiramente, crie ou edite, caso necessário, o arquivo /etc/devfs.rules e adicione a seguinte informação para definir as permissões apropriadas em todos os dispositivos de impressora potenciais e associar as impressoras ao grupo de usuários cups
:
[system=10] add path 'unlpt*' mode 0660 group cups add path 'ulpt*' mode 0660 group cups add path 'lpt*' mode 0660 group cups add path 'usb/X.Y.Z' mode 0660 group cups
Observe que X, Y e Z devem ser substituídos pelo dispositivo USB de destino listado no diretório /dev/usb que corresponde à impressora. Para encontrar o dispositivo correto, examine a saída do dmesg(8), onde ugenX.Y lista o dispositivo da impressora, que é um link simbólico para um dispositivo USB em /dev/usb. |
Em seguida, adicione duas linhas no arquivo /etc/rc.conf da seguinte maneira:
cupsd_enable="YES" devfs_system_ruleset="system"
Essas duas entradas irão iniciar o servidor de impressão CUPS na inicialização e invocar a regra local do devfs criada acima, respectivamente.
Para habilitar a impressão CUPS em determinados clientes Microsoft® Windows®, a linha abaixo deve ser descomentada nos arquivos /usr/local/etc/cups/mime.types e /usr/local/etc/cups/mime.convs:
application/octet-stream
Uma vez que as alterações tenham sido feitas, os sistemas devfs(8) e CUPS devem ser reiniciados, seja reiniciando o computador ou executando os seguintes dois comandos em um terminal root:
# /etc/rc.d/devfs restart
# /usr/local/etc/rc.d/cupsd restart
4. Configurando Impressoras no CUPS Print Server
Depois que o sistema CUPS foi instalado e configurado, o administrador pode começar a configurar as impressoras locais conectadas ao servidor de impressão CUPS. Esta parte do processo é muito semelhante, senão idêntica, à configuração de impressoras CUPS em outros sistemas operacionais baseados em UNIX®, como uma distribuição Linux®.
O principal meio para gerenciar e administrar o servidor CUPS é através da interface baseada na web, que pode ser encontrada ao iniciar um navegador e inserir o endereço http://localhost:631 na barra de endereço do navegador. Se o servidor CUPS estiver em outra máquina na rede, substitua o endereço IP local do servidor por localhost
. A interface web do CUPS é bastante autoexplicativa, pois há seções para gerenciar impressoras e trabalhos de impressão, autorizar usuários e muito mais. Além disso, no lado direito da tela de administração há várias caixas de seleção que permitem fácil acesso às configurações comumente alteradas, como compartilhar impressoras conectadas ao sistema, permitir a administração remota do servidor CUPS e permitir que os usuários tenham acesso e privilégios adicionais às impressoras e trabalhos de impressão.
Adicionar uma impressora geralmente é tão fácil quanto clicar em "Adicionar Impressora" na tela de Administração da interface web do CUPS, ou clicar em um dos botões "Novas Impressoras Encontradas" também na tela de Administração. Quando for exibida a caixa de seleção "Dispositivo", simplesmente selecione a impressora local desejada e continue o processo. Se você tiver adicionado os pacotes print/gutenprint-cups ou print/hplip, conforme referido acima, drivers de impressão adicionais estarão disponíveis nas telas subsequentes que podem fornecer mais estabilidade ou recursos.
5. Configurando clientes CUPS
Depois de configurar o servidor CUPS e adicionar as impressoras e publicá-las na rede, o próximo passo é configurar os clientes, ou seja, as máquinas que vão acessar o servidor CUPS. Se você tem um único desktop que atua como servidor e cliente, muitas dessas informações podem não ser necessárias.
5.1. UNIX® Clients
O CUPS também precisará ser instalado em seus clientes UNIX®. Uma vez que o CUPS está instalado nos clientes, as impressoras CUPS compartilhadas na rede muitas vezes são automaticamente descobertas pelos gerenciadores de impressoras de vários ambientes de desktops, como o GNOME ou o KDE. Alternativamente, é possível acessar a interface CUPS local na máquina cliente em http://localhost:631 e clicar em "Adicionar Impressora" na seção de Administração. Ao ser apresentado com a caixa de seleção "Dispositivo", basta selecionar a impressora CUPS em rede, se ela foi descoberta automaticamente, ou selecionar ipp
ou http
e inserir o URI IPP ou HTTP da impressora CUPS em rede, geralmente em uma das duas seguintes sintaxes:
ipp://server-name-or-ip/printers/printername
http://server-name-or-ip:631/printers/printername
Se os clientes CUPS tiverem dificuldade para encontrar outras impressoras CUPS compartilhadas na rede, às vezes é útil adicionar ou criar um arquivo /usr/local/etc/cups/client.conf com uma única entrada da seguinte maneira:
ServerName server-ip
Nesse caso, o server-ip deve ser substituído pelo endereço IP local do servidor CUPS na rede.
5.2. Windows® Clients
Versões do Windows® anteriores ao XP não tinham a capacidade de se conectar em rede com impressoras baseadas em IPP. No entanto, as versões do Windows® XP e posteriores têm essa capacidade. Portanto, adicionar uma impressora CUPS nessas versões do Windows® é bastante fácil. Geralmente, o administrador do Windows® executa o assistente de adição de impressora
do Windows®, seleciona Impressora de rede
e, em seguida, insere a URI no seguinte formato:
http://server-name-or-ip:631/printers/printername
Se você tiver uma versão mais antiga do Windows® sem suporte nativo de impressão IPP, o meio geral de conexão com uma impressora CUPS é usar o net/samba413 e CUPS juntos, o que é um tópico fora do escopo deste capítulo.
6. Resolução de Problemas do CUPS
As dificuldades com o CUPS geralmente estão relacionadas a permissões. Primeiro, verifique novamente as permissões do devfs(8) conforme descrito acima. Em seguida, verifique as permissões reais dos dispositivos criados no sistema de arquivos. Também é útil garantir que seu usuário seja um membro do grupo cups
. Se as caixas de seleção de permissões na seção de Administração da interface web do CUPS não parecerem estar funcionando, outra solução pode ser fazer backup manualmente do arquivo de configuração principal do CUPS localizado em /usr/local/etc/cups/cupsd.conf e editar as várias opções de configuração e experimentar diferentes combinações de opções de configuração. Um exemplo de arquivo /usr/local/etc/cups/cupsd.conf para teste é listado abaixo. Observe que este arquivo de exemplo cupsd.conf sacrifica a segurança para facilitar a configuração; assim que o administrador se conectar com sucesso ao servidor CUPS e configurar os clientes, é aconselhável revisar este arquivo de configuração e começar a restringir o acesso.
# Log general information in error_log - change "info" to "debug" for # troubleshooting... LogLevel info # Administrator user group... SystemGroup wheel # Listen for connections on Port 631. Port 631 #Listen localhost:631 Listen /var/run/cups.sock # Show shared printers on the local network. Browsing On BrowseOrder allow,deny #BrowseAllow @LOCAL BrowseAllow 192.168.1.* # change to local LAN settings BrowseAddress 192.168.1.* # change to local LAN settings # Default authentication type, when authentication is required... DefaultAuthType Basic DefaultEncryption Never # comment this line to allow encryption # Allow access to the server from any machine on the LAN <Location /> Order allow,deny #Allow localhost Allow 192.168.1.* # change to local LAN settings </Location> # Allow access to the admin pages from any machine on the LAN <Location /admin> #Encryption Required Order allow,deny #Allow localhost Allow 192.168.1.* # change to local LAN settings </Location> # Allow access to configuration files from any machine on the LAN <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny #Allow localhost Allow 192.168.1.* # change to local LAN settings </Location> # Set the default printer/job policies... <Policy default> # Job-related operations must be done by the owner or an administrator... <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs \ Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription \ Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job \ CUPS-Move-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> # All administration operations require an administrator to authenticate... <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer \ Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs \ Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer \ Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class \ CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default> AuthType Basic Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy>
Última alteração em: 24 de maio de 2023 por Edson Brandi