Uma impressora de rede pode suportar vários protocolos, alguns deles simultaneamente. Embora a maioria dos protocolos suportados sejam padronizados, alguns fabricantes expandem (modificam) o padrão porque eles testam sistemas que não implementaram o padrão corretamente ou porque querem fornecer certas funções que não estão disponíveis no padrão. Os fabricantes fornecem drivers apenas para alguns sistemas operacionais, eliminando dificuldades relativas a eles. Infelizmente, raros são os drivers para Linux. Na situação atual, não é possível agir como se todos os protocolos funcionassem perfeitamente no Linux. Portanto, talvez seja necessário testar várias opções para obter uma configuração funcional.
O CUPS suporta os protocolos socket, LPD, IPP e smb.
Soquete se refere a uma conexão na qual os dados são enviados a um soquete de Internet sem precedência de handshake de dados. Alguns dos números de portas de soquete normalmente usados são 9100 ou 35. A sintaxe do URI (uniform resource identifier) do dispositivo é socket://IP.da.impressora:porta, por exemplo: socket://192.168.2.202:9100/.
O protocolo LPD comprovado é descrito em RFC 1179. Nesse protocolo, alguns dados relativos à tarefa, como ID da fila de impressão, são enviados antes dos dados de impressão propriamente ditos. Portanto, deve ser especificada uma fila de impressão durante a configuração do protocolo LPD para a transmissão de dados. As implementações de fabricantes de impressoras diferentes são flexíveis o suficiente para aceitar qualquer nome como fila de impressão. Se necessário, o manual da impressora indicará o nome a ser usado. Geralmente se usa LPT, LPT1, LP1 ou nomes semelhantes. Também é possível configurar uma fila LPD em um host Linux ou Unix diferente no sistema CUPS. O número de porta para o serviço LPD é 515. Um exemplo de URI de dispositivo é lpd://192.168.2.202/LPT1.
O IPP é um protocolo relativamente novo (1999) baseado no protocolo HTTP. Com o IPP, mais dados referentes à tarefa são transmitidos. O CUPS usa o IPP em transmissões internas de dados. É o protocolo escolhido para a fila de encaminhamento entre dois servidores CUPS. É necessário indicar o nome da fila de impressão para que o IPP seja configurado corretamente. A porta padrão do IPP é 631. Exemplos de URIs de dispositivo: ipp://192.168.2.202/ps e ipp://192.168.2.202/printers/ps.
O CUPS também suporta a impressão em impressoras conectadas a compartilhamentos Windows. O protocolo usado para essa finalidade é o SMB. O SMB usa os números de porta 137, 138 e 139. Exemplos de URIs de dispositivo: smb://user:password@workgroup/smb.example.com/printer, smb://user:password@smb.example.com/printer e smb://smb.example.com/printer.
O protocolo suportado pela impressora deve ser determinado antes da configuração. Se o fabricante não fornecer as informações necessárias, o comando nmap (que vem com o pacote nmap) pode ser usado para verificar o protocolo. O nmap verifica se há portas abertas em um host. Por exemplo:
nmap -p 35,137-139,515,631,9100-10000 printerIPAlém de configurar as opções do CUPS com o YaST durante a configuração de uma impressora de rede, o CUPS pode ser configurado com ferramentas de linha de comando como lpadmin e lpoptions. Você precisa de um URI de dispositivo composto por um back end, como uma porta paralela, e parâmetros. Para determinar os URIs de dispositivo válidos no sistema, use o comando lpinfo -v | grep ":/":
# lpinfo -v | grep ":/" direct usb://ACME/FunPrinter%20XL direct parallel:/dev/lp0
Com lpadmin, o administrador do servidor CUPS pode adicionar, remover ou gerenciar filas de classe e de impressão. Para adicionar uma fila de impressão, use a seguinte sintaxe:
lpadmin -pqueue-vdevice-URI-PPPD-file-E
Em seguida, o dispositivo (-v) fica disponível como fila (-p), usando o arquivo PPD especificado (-P). Isso significa que você precisa saber qual é o arquivo PPD e o URI de dispositivo para configurar a impressora manualmente.
Não use -E como primeira opção. Em todos os comandos CUPS, -E como primeiro argumento define o uso de uma conexão criptografada. Para habilitar a impressora, -E deve ser usado como mostrado no seguinte exemplo:
lpadmin -p ps -v parallel:/dev/lp0 -P \ /usr/share/cups/model/Postscript.ppd.gz -E
O seguinte exemplo configura uma impressora de rede:
lpadmin -p ps -v socket://192.168.2.202:9100/ -P \ /usr/share/cups/model/Postscript-level1.ppd.gz -E
Para conhecer mais opções de lpadmin, consulte a página de manual de lpadmin(8).
Durante a configuração da impressora, algumas opções são definidas como padrão. Essas opções podem ser modificadas para cada serviço de impressão (dependendo da ferramenta de impressão utilizada). Também é possível modificar essas opções padrão com o YaST. Usando ferramentas de linha de comando, defina opções padrão da seguinte forma:
Primeiro, liste todas as opções:
lpoptions -p queue -lExemplo:
Resolution/Output Resolution: 150dpi *300dpi 600dpi
A opção padrão ativada é identificada por um asterisco na frente (*).
Mude a opção com lpadmin:
lpadmin -p queue -o Resolution=600dpiVerifique a nova configuração:
lpoptions -p queue -l
Resolution/Output Resolution: 150dpi 300dpi *600dpi
Quando um usuário comum executa lpoptions, as configurações são gravadas em ~/.cups/lpoptions. Porém, as configurações de root são gravadas em /etc/cups/lpoptions.