(Common Unix Print System)
O CUPS (Common Unix Print System) é um sistema de impressão equivalente ao LP (Linux Printer [lpr, lpd, lpc, lprm etc]), porém é mais atual e possui uma interface Web ideal para os administradores de rede (monitoramento e gerência). Suporta o IPP (Internet Printing Protocol) que roda sobre o HTTP, sendo compatível com os clientes MS-Windows e GNU/Linux. Devido ao uso desse protocolo, os clientes podem verificar o status da impressora e gerenciá-la utilizando um browser.
Instalação
# apt-get install cups
Acesso via Web (não tem necessidade de um servidor HTTP)
Depois de instalado, o "cups" já estará disponível através de uma interface web e por padrão será possível acessar somente localmente pelo endereço http://localhost:631. Para pemitir que outras máquinas remotas o acessem, faça os seguintes procedimentos:
# vi /etc/cups/cupsd.confListen 0.0.0.0:631 (o padrão é "Listen localhost:631". Também é aceito "Port 631")
BrowseAllow all (algumas vezes esta linha está "BrowseAllow localhost")
Irão aparecer outras linhas como as da figura a seguir. Veja que elas representam as páginas web do cups. O "Location /" é o "https://172.16.200.193:631/", o "Location /admin" é o "https://172.16.200.193:631/admin" e o "Location /admin/conf" é o "https://172.16.200.193:631/admin/conf".

As modifique, conforme figura a seguir:

Dica: informações importantes sobre o arquivo de configuração do cups digite "man cupsd.conf".
# /etc/init.d/cups restart (para validar as novas configurações)
Pronto, agora já se pode acessar a interface web do CUPS de qualquer equipamento, conforme figura a seguir:

Adicionando uma impressora paralela que será acessada pelo cliente via IPP (Internet Printing Protocol)
Clique na aba "Administration" e em "Add Printer"(conforme figura a seguir, digite o "Name", "Location" e "Decriptions". São meramente informacionais)

Clique em "Continue". aparecerão várias opções de "Device". Escolha "LPT #1" e clique em "Continue" e selecione a marca da impressora, por exemplo, "HP" (LPT #1 = impressora paralela)
Selecione o modelo, conforme figura a seguir, e clique em "Add Printer". Uma mensagem de sucesso aparecerá.

Agora aparecerá uma página de configuração da impressora, como na figura a seguir. Faça as configurações necessárias e clique em "Set Printer Options" para gravar as modificações:

Pronto, impressora instalada. Clique na aba "Administration" e em "Manage Printers". Veja que a impressora foi instalada:

Configurando a impressora acima em um cliente MS-Windows via IPP (Internet Printing Protocol)
Em um MS-Windows, clique em Adicionar uma impressora, de acordo com a figura a seguir:

Selecione a opção "Uma impressora de rede ou conectada a outro computador" e clique em "Avançar".
Agora, selecione "Conectar-se a uma impressora na Internet ouem uma rede doméstica ou no ...". Digite no campo "URL" o endereço da impressora compartilhada via CUPS da seguinte forma:
http://hostname_ou_IP:631/printers/printname
No nosso exemplo ficaria assim: http://172.16.200.193:631/printers/HP, conforme a figura abaixo:

Clique em "Avançar", escolha o driver da impressora e clique em "Concluir". Mande uma página de teste para testa e vá nos JOBS do servidor CUPS para verificar a fila de impress, como na figura abaixo:

Só para conhecimento, também é possível configurar um usuário e uma senha com permissão de impressão dentro das propriedades de impressão do MS-Windos. Veja na figura a seguir:

Obs: ao adicionar uma impressora pela primeira vez, o arquivo "/etc/cups/printers.conf" é criado automaticamente. Ele contém todas as informações usadas ao adicionar a(s) impressora(s) via interface Web. O mesmo acontece ao adicionar uma classe pela primeira vez, o arquivo "/etc/cups/classes.conf" é criado.
Devido ao CUPS ter um comando (lp ou lpr) equivalente com ao do LP (lpr), ele trabalhará exatamente igual. Alguns comandos que o CUPS disponibiliza é o lp, lpstat, lpinfo, lpmove, lpadmin, lppassword, cancel (lprm), enable, accept etc.
Exemplo de linha de comando do CUPS para configurar uma impressora a laser
# /usr/sbin/lpadmin -p Laser -v parallel:/dev/lp0 -P /root/laser.ppd
# /usr/bin/enable Laser (habilita a impressora)
# /usr/sbin/accept Laser (aceita jobs)
# /usr/sbin/lpadmin -d Laser (impressora padrão)
# lp ou lpr -PLaser file (teste)
# lpinfo -v (lista de dispositivos de impressão)
Mais comandos CUPS
# cupsdisable/cupsenable (stop/start impressoras e classes)
# cupsdisable/cupsenable -c (stop/start impressoras e classes, sendo que todos os jobs serão cancelados)
# cupsdisable/cupsenable -c –r Marketing (stop/start impressoras e classes, sendo que todos os jobs serão cancelados que contenham a mensagem “Marketing”)