Sumário
O SUSE® Linux Enterprise Desktop suporta a impressão com muitos tipos de impressoras, incluindo impressoras de rede remotas. É possível configurar as impressoras manualmente ou com o YaST. Para obter instruções de configuração, consulte a Seção “Setting Up a Printer” (Capítulo 5, Setting Up Hardware Components with YaST, ↑Guia de Implantação). Os utilitários gráficos e de linha de comando estão disponíveis para iniciar e gerenciar serviços de impressão. Se a sua impressora não funcionar como se esperava, consulte a Seção 14.7, “Solução de problemas”.
CUPS (Common Unix Printing System) é o sistema de impressão padrão no SUSE Linux Enterprise Desktop.
As impressoras podem ser distinguidas pela interface, como USB ou rede, e pela linguagem de impressão. Ao comprar uma impressora, verifique se há no seu hardware uma interface (como porta USB ou paralela) disponível para ela e uma linguagem de impressora adequada. As impressoras podem ser categorizadas com base em três classes de linguagem:
PostScript é a linguagem de impressora na qual a maior parte dos serviços de impressão em Linux e Unix são gerados e processados pelo sistema de impressão interno. Se documentos PostScript puderem ser diretamente processados pela impressora e não precisarem ser convertidos em estágios adicionais do sistema de impressão, o número de origens de erro potenciais será reduzido.
Embora essas linguagens de impressora tenham surgido há bastante tempo, ainda são usadas e sofrem constantes desenvolvimentos para se adaptarem aos novos recursos de impressoras. No caso de linguagens conhecidas, o sistema pode converter tarefas de impressão PostScript na respectiva linguagem de impressão com a ajuda do Ghostscript. Esse estágio de processamento é chamado de interpretação. As linguagens mais conhecidas são PCL (mais usada pelas impressoras HP e seus clones) e ESC/P (utilizada nas impressoras Epson). Geralmente, essas linguagens são suportadas no Linux e produzem um resultado de impressão adequado. O Linux pode não conseguir realizar algumas funções especiais da impressora. A não ser pelo projeto HP developing HPLIP (HP Linux Imaging and Printing), não há fabricantes de impressora que desenvolvem e disponibilizam drivers de Linux aos distribuidores Linux sob uma licença de código-fonte aberto.
Essas impressoras não suportam nenhuma das linguagens de impressora comuns. Elas usam suas próprias linguagens de impressora não documentadas, que ficam sujeitas a mudanças quando é lançada uma edição nova de um modelo. Geralmente, apenas os drivers do Windows estão disponíveis para essas impressoras. Consulte a Seção 14.7.1, “Impressoras sem suporte de linguagem de impressora padrão” para obter mais informações.
Antes de comprar uma nova impressora, consulte as seguintes fontes para verificar a abrangência do suporte ao equipamento pretendido:
A home page OpenPrinting com o banco de dados de impressão. O banco de dados mostra o status mais recente de suporte do Linux. No entanto, a distribuição do Linux só pode integrar os drivers disponíveis no momento da produção. Da mesma forma, uma impressora atualmente classificada como “perfeitamente suportada” talvez não apresentasse esse status quando a versão mais recente do SUSE Linux Enterprise Desktop foi lançada. Assim, os bancos de dados não indicarão necessariamente o status correto, mas apenas uma informação aproximada.
Página do Ghostscript na Web.
/usr/share/doc/packages/ghostscript-library/catalog.devices
Listas de drivers incluídos.
O usuário cria um serviço de impressão. O serviço de impressão consiste nos dados a serem impressos mais as informações para o spooler, como nome da impressora ou nome da fila de impressão e, opcionalmente, informações para o filtro, como opções específicas da impressora.
Existe pelo menos uma fila de impressão dedicada para cada impressora. O spooler mantém o serviço de impressão em fila até que a impressora desejada esteja pronta para receber dados. Uma vez pronta, o spooler envia os dados pelo filtro, tendo a impressora como back end.
O filtro converte os dados gerados pelo aplicativo que está imprimindo (geralmente PostScript ou PDF, mas também ASCII, JPEG e outros) em dados específicos da impressora (PostScript, PCL, ESC/P etc.). Os recursos da impressora são descritos nos arquivos PPD. O arquivo PPD contém opções da impressora com os parâmetros necessários para habilitá-los. O sistema de filtros verifica se as opções selecionadas pelo usuário foram habilitadas.
Se você usa uma impressora PostScript, o sistema de filtros converte os dados em PostScript específico da impressora. Isso não exige um driver de impressora. Se você usa uma impressora não PostScript, o sistema de filtros converte os dados em dados específicos da impressora. Isso exige um driver adequado à sua impressora. O back end recebe do filtro os dados específicos da impressora e os repassa a ela.
Existem várias possibilidades para conectar uma impressora ao sistema. A configuração do sistema de impressão CUPS não faz distinção entre uma impressora local e uma impressora conectada ao sistema pela rede.
![]() | mudando as conexões de cabo em um sistema em execução |
|---|---|
Ao conectar a impressora à máquina, não esqueça de que apenas dispositivos USB podem ser conectados ou desconectados durante a operação. Para evitar danos ao sistema ou à impressora, encerre o sistema antes de mudar qualquer conexão que não seja USB. | |
PPD (descrição de impressora PostScript) é a linguagem de computador que descreve as propriedades, como resolução, e as opções, como disponibilidade de uma unidade duplex. Essas descrições são necessárias para o uso de várias opções de impressora no CUPS. Sem um arquivo PPD, os dados de impressão seriam encaminhados à impressora em estado “bruto”, o que normalmente não é desejado. Durante a instalação do SUSE Linux Enterprise Desktop, muitos arquivos PPD são pré-instalados.
Para configurar uma impressora PostScript, a melhor opção é obter um arquivo PPD adequado. Há vários arquivos PPD disponíveis no pacote de PPDs do fabricante, que são automaticamente instalados no escopo da instalação padrão. Consulte a Seção 14.6.2, “Arquivos PPD em pacotes diferentes” e a Seção 14.7.2, “Nenhum arquivo PPD adequado disponível para impressora PostScript”.
É possível armazenar novos arquivos PPD no diretório /usr/share/cups/model/ ou adicioná-los ao sistema de impressão com o YaST, conforme descrito na Seção “Adding Drivers with YaST” (Capítulo 5, Setting Up Hardware Components with YaST, ↑Guia de Implantação). Na sequência, é possível selecionar o arquivo PPD durante a configuração da impressora.
Observe se o fabricante da impressora requer que você instale pacotes inteiros de software. Primeiro, esse tipo de instalação pode resultar na perda do suporte oferecido pelo SUSE Linux Enterprise Desktop; e, segundo, os comandos de impressão podem funcionar de forma diferente e o sistema pode não conseguir mais trabalhar com dispositivos de outros fabricantes. Por isso, não recomendamos instalar o software do fabricante.
Uma impressora de rede pode suportar vários protocolos, alguns deles simultaneamente. Embora a maioria dos protocolos suportados seja padronizada, alguns fabricantes modificam o padrão. Os fabricantes então fornecem drivers apenas para alguns sistemas operacionais. 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.
Socket refere-se a uma conexão em que os dados de impressão simples são enviados diretamente a um soquete TCP. 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 está descrito no RFC 1179. Nesse protocolo, alguns dados relacionados ao serviço, como o ID da fila da impressora, são enviados antes do envio dos dados de impressão reais. Portanto, a fila da impressora deve ser especificada na hora de configurar o protocolo LPD. 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. O número de porta para o serviço LPD é 515. Um exemplo de URI de dispositivo é lpd://192.168.2.202/LPT1.
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. É 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 printerIPÉ possível configurar o CUPS com ferramentas de linha de comando, como lpinfo, 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 o lpadmin, o administrador do servidor CUPS pode adicionar, remover ou gerenciar filas 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.
Para imprimir pela linha de comando, digite lp-d nome da fila nome do arquivo, substituindo nome da fila e nome do arquivo pelos nomes correspondentes.
Alguns aplicativos dependem do comando lp para imprimir. Nesse caso, digite o comando correto na caixa de diálogo do aplicativo, geralmente sem especificar nome do arquivo, por exemplo lp -dnome da fila.
Alguns recursos do CUPS foram adaptados para o SUSE Linux Enterprise Desktop. Algumas das mudanças mais importantes são abordadas aqui.
Após realizar a instalação padrão do SUSE Linux Enterprise Desktop, o SuSEFirewall2 será ativado e as interfaces de rede serão configuradas para ficarem na Zona Externa com tráfego de entrada em blocos. Há mais informações sobre a configuração do SuSEFirewall2 disponíveis na Seção “SuSEfirewall2” (Capítulo 15, Masquerading and Firewalls, ↑Security Guide (Guia de Segurança)).
Normalmente, um cliente CUPS é executado em uma estação de trabalho comum, localizada em um ambiente de rede confiável protegido por firewall. Neste caso, é recomendável configurar a interface de rede para ficar na Zona Interna, de modo que a estação de trabalho possa ser alcançada de dentro da rede.
Se o servidor CUPS fizer parte de um ambiente de rede confiável, protegido por um firewall, a interface de rede deverá ser configurada para ficar na Zona Interna do firewall. Não é recomendado configurar um servidor CUPS em um ambiente de rede não confiável, a menos que você tenha o cuidado de mantê-lo protegido por regras especiais de firewall e opções seguras na configuração do CUPS.
A configuração da impressora do YaST define as filas do CUPS usando os arquivos PPD instalados em /usr/share/cups/model. Para localizar os arquivos PPD adequados ao modelo da impressora, o YaST compara o fornecedor e o modelo determinados durante a detecção de hardware com os fornecedores e modelos em todos os arquivos PPD. Para isso, a configuração de impressora do YaST gera um banco de dados com as informações de fabricante e modelo extraídas dos arquivos PPD.
A configuração com apenas arquivos PPD e nenhuma outra fonte de informação tem a vantagem de permitir a livre modificação de arquivos PPD em /usr/share/cups/model/. Por exemplo, se você tem apenas impressoras PostScript, normalmente não precisa dos arquivos PPD Foomatic do pacote cups-drivers ou os arquivos PPD Gutenprint do pacote gutenprint. Em vez disso, os arquivos PPD das suas impressoras PostScript podem ser copiados diretamente para /usr/share/cups/model (se já não existirem no pacote manufacturer-PPDs) para proporcionarem uma configuração ideal às impressoras.
cups¶
Os arquivos PPD genéricos do pacote cups foram complementados com arquivos PPD Foomatic adaptados para impressoras PostScript nível 1 e 2:
/usr/share/cups/model/Postscript-level1.ppd.gz
/usr/share/cups/model/Postscript-level2.ppd.gz
cups-drivers¶
Normalmente, o filtro de impressora Foomatic foomatic-rip é usado junto com Ghostscript para impressoras não PostScript. Os arquivos PPD Foomatic adequados possuem as entradas *NickName: ... Foomatic/Ghostscript driver e *cupsFilter: ... foomatic-rip. Esses arquivos PPD estão localizados no pacote cups-drivers.
O YaST geralmente prefere um arquivo manufacturer-PPD. Entretanto, quando não existe nenhum arquivo manufacturer-PPD adequado, um arquivo PPD Foomatic com entrada *NickName: ... Foomatic ... (recommended) é selecionado.
gutenprint¶
Em vez de foomatic-rip, o filtro CUPS rastertogutenprint do Gutenprint (antes conhecido como GIMP-Print) pode ser usado em várias impressoras não PostScript. Esse filtro e os arquivos PPD Gutenprint adequados estão disponíveis no pacote gutenprint. Os arquivos PPD Gutenprint estão localizados em /usr/share/cups/model/gutenprint/ e possuem as entradas *NickName: ... CUPS+Gutenprint e *cupsFilter: ... rastertogutenprint.
manufacturer-PPDs¶
O pacote manufacturer-PPDs contém arquivos PPD de fabricantes de impressoras que são liberados mediante uma licença suficientemente permissiva. Impressoras PostScript devem ser configuradas com o arquivo PPD adequado do fabricante da impressora, já que esse arquivo permite o uso de todas as funções da impressora PostScript. O YaST prefere um arquivo PPD do manufacturer-PPDs. O YaST não pode usar um arquivo PPD do pacote manufacturer-PPDs quando o nome do modelo não é correspondente. Isso poderá ocorrer se o pacote manufacturer-PPDs contiver apenas um arquivo PPD para modelos semelhantes, como a série Funprinter 12xx. Nesse caso, selecione manualmente o arquivo PPD correspondente no YaST.
As seções a seguir abordam alguns dos problemas mais encontrados em relação a hardware e software de impressora, bem como formas de solucionar ou superar esses problemas. Os tópicos abordados incluem impressoras GDI, arquivos PPD e configuração de porta. Problemas comuns de impressoras de rede, impressões com defeito e gerenciamento de filas também são tratados.
Essas impressoras não suportam nenhuma linguagem de impressora comum, podendo apenas ser tratadas com sequências especiais de controle proprietário. Portanto, elas só funcionam com as versões de sistema operacional para as quais o fabricante fornece driver. GDI é uma interface de programação desenvolvida pela Microsoft* para dispositivos gráficos. Geralmente o fabricante fornece drivers apenas para Windows e, com o driver do Windows usa a interface GDI, essas impressoras também são chamadas de impressoras GDI. O verdadeiro problema não é a interface de programação, mas o fato de que tais impressoras só podem ser tratadas com a linguagem de impressora proprietária do respectivo modelo de impressora.
Algumas impressoras GDI podem ser ajustadas para funcionar no modo GDI ou em uma das linguagens de impressora padrão. Consulte o manual da impressora para saber se isso é possível. Alguns modelos exigem software especial do Windows para fazer o ajuste (observe que o driver de impressora do Windows pode sempre retornar a impressora para o modo GDI quando se imprime do Windows). Para outras impressoras GDI, existem módulos de extensão disponíveis para uma linguagem de impressora padrão.
Alguns fabricantes oferecem drivers proprietários para suas impressoras A desvantagem dos drivers de impressora proprietários é que não há garantia de que vão funcionar com o sistema de impressão instalado ou de que sejam adequados para as diferentes plataformas de hardware. Em contraste, impressoras que suportam uma linguagem de impressora padrão não dependem de uma versão do sistema de impressão especial ou de plataforma de hardware especial.
Em vez de perder tempo tentando fazer funcionar um driver de Linux proprietário, a compra de uma impressora que suporte a linguagem padrão de impressora (preferencialmente PostScript) pode ter melhor custo-benefício. Isso solucionaria o problema do driver de uma vez por todas, eliminando a necessidade de instalar e configurar software de driver especial e obter atualizações do driver eventualmente necessárias devido a novos avanços no sistema de impressão.
Se o pacote manufacturer-PPDs não incluir o arquivo PPD adequado para uma impressora PostScript, será possível utilizar o arquivo PPD do CD do driver do fabricante da impressora ou fazer download de um arquivo PPD adequado da página do fabricante da impressora na Web.
Se o arquivo PPD for fornecido como arquivo compactado (.zip) ou arquivo compactado de autoextração (.exe), faça a descompactação com unzip. Primeiro, reveja os termos de licença do arquivo PPD. Em seguida, use o utilitário cupstestppd para verificar se o arquivo PPD atende à “Especificação de Formato de Arquivo PPD (PostScript Printer Description — Descrição de Impressora PostScript) da Adobe, versão 4.3”. Se o utilitário retornar “FAIL”, significa que os erros nos arquivos PPD são graves e provavelmente causam os principais problemas. Os problemas reportados pelo cupstestppd devem ser eliminados. Se necessário, peça o arquivo PPD adequado ao fabricante da impressora.
A abordagem mais segura é conectar a impressora diretamente à primeira porta paralela e selecionar as configurações de porta paralela no BIOS:
Endereço de E/S: 378 (hexadecimal)
Interrupção: irrelevante
Modo: Normal, SPP ou Output Only
DMA: desabilitado
Se a impressora não puder ser endereçada na porta paralela apesar dessas configurações, digite o endereço de E/S explicitamente de acordo com a configuração no BIOS no formato 0x378 em /etc/modprobe.conf. Se houver duas portas paralelas definidas para os endereços de E/S 378 e 278 (hexadecimal), digite-os no formato 0x378,0x278.
Se a interrupção 7 estiver livre, poderá ser ativada com a entrada mostrada no Exemplo 14.1, “/etc/modprobe.conf: Modo de interrupção para a primeira porta paralela”. Antes de ativar o modo de interrupção, verifique o arquivo /proc/interrupts para ver quais interrupções já estão sendo usadas. Somente as interrupções usadas atualmente são exibidas. Isso pode mudar dependendo dos componentes de hardware ativos. A interrupção da porta paralela não deve ser usada por outro dispositivo. Se não tiver certeza, use o modo de polling com irq=none.
Exemplo 14.1. /etc/modprobe.conf: Modo de interrupção para a primeira porta paralela¶
alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=7
Conecte a impressora diretamente ao computador. Para fins de teste, configure-a como impressora local. Se isso funcionar, o problema está na rede.
A rede TCP/IP e a resolução de nomes devem ser funcionais.
Use o comando a seguir para testar o estabelecimento de uma conexão TCP com lpd (porta 515) no host.
netcat -z host 515 && echo ok || echo failedSe a conexão com lpd não for estabelecida, o lpd pode não estar ativo ou pode haver problemas básicos de rede.
Como usuário root, use o seguinte comando para consultar um relatório de status (possivelmente muito longo) sobre a fila no host remoto, considerando que o respectivo lpd esteja ativo e o host aceite consultas:
echo -e "\004queue" \
| netcat -w 2 -p 722 host 515
Se o lpd não responder, ele pode não estar ativo ou pode haver problemas básicos de rede. Se o lpd responder, a resposta deverá mostrar por que não é possível imprimir na fila do host. Se você receber uma resposta como esta, mostrada no Exemplo 14.2, “Mensagem de erro do lpd”, significa que o problema está sendo causado pelo lpd remoto.
Exemplo 14.2. Mensagem de erro do lpd¶
lpd: your host does not have line printer access lpd: queue does not exist printer: spooling disabled printer: printing disabled
Um servidor de rede CUPS pode transmitir suas filas por padrão a cada 30 segundos na porta UDP 631. Conforme apresentado, os seguintes comandos podem ser usados para testar se existe um servidor de rede CUPS de broadcasting na rede. Não deixe de parar seu daemon CUPS local antes de executar o comando.
netcat -u -l -p 631 & PID=$! ; sleep 40 ; kill $PID
Se existir um servidor de rede CUPS de transmissão, a saída aparecerá conforme mostrado no Exemplo 14.3, “Transmissão do servidor de rede CUPS”.
Use o comando a seguir para testar o estabelecimento de uma conexão TCP com cupsd (porta 631) no host.
netcat -z host 631 && echo ok || echo failed
Se não for possível estabelecer a conexão com cupsd, pode ser que o cupsd não esteja ativo ou existam problemas básicos de rede. lpstat -h host -l -t retorna um relatório de status (possivelmente muito longo) de todas as filas do host, contanto que o respectivo cupsd esteja ativo e o host aceite consultas.
O próximo comando pode ser usado para testar se a fila do host aceita um serviço de impressão que consiste em um único caractere de retorno de carro. Nada será impresso. Possivelmente, será ejetada uma página em branco.
echo -en "\r" \
| lp -d queue -h hostAlgumas vezes, spoolers executados na caixa do servidor de impressão causam problemas quando precisam lidar com vários serviços de impressão. Como isso é causado pelo spooler na caixa do servidor de impressão, não há como resolver essa questão. Como solução alternativa, desvie o spooler na caixa do servidor de impressão endereçando a impressora conectada à caixa diretamente com o soquete TCP. Consulte a Seção 14.4, “Impressoras de rede”.
Dessa forma, a caixa do servidor de impressão é reduzida a um conversor entre as várias formas de transferência de dados (conexão de rede TCP/IP e impressora local). Para usar esse método, você precisa conhecer a porta TCP da caixa do servidor de impressão. Se a impressora estiver conectada à caixa do servidor de impressão e ligada, a porta TCP poderá ser determinada normalmente com o utilitário nmap do pacote nmap, algum tempo depois que a caixa for ativada. Por exemplo, nmapendereço_IP pode resultar na seguinte saída para uma caixa do servidor de impressão:
Port State Service 23/tcp open telnet 80/tcp open http 515/tcp open printer 631/tcp open cups 9100/tcp open jetdirect
Essa saída indica que a impressora conectada à caixa do servidor de impressão pode ser endereçada via soquete TCP na porta 9100. Por padrão, nmap verifica somente algumas portas mais conhecidas listadas em /usr/share/nmap/nmap-services. Para verificar todas as portas possíveis, use o comando nmap-p porta_de_origem-porta_de_destino endereço_IP. O processo pode levar algum tempo. Para obter mais informações, consulte a página de manual de nmap.
Digite um comando como
echo -en "\rHello\r\f" | netcat -w 1 IP-address port cat file | netcat -w 1 IP-address port
para enviar strings de caracteres ou arquivos diretamente à respectiva porta para testar se a impressora pode ser endereçada dessa porta.
Para o sistema de impressão, o serviço de impressão é concluído quando o back end do CUPS conclui a transferência de dados ao destinatário (impressora). Se houver falha no processamento posterior no destinatário (por exemplo, se a impressora não imprimir seus próprios dados específicos), o sistema de impressão não notará. Se a impressora não imprimir seus próprios dados específicos, selecione um arquivo PPD mais adequado à impressora.
Se a transferência de dados para o destinatário falhar completamente após várias tentativas, o back end do CUPS, como USB ou socket, reportará um erro ao sistema de impressão (ao cupsd). O back end determina quantas tentativas malsucedidas são necessárias para que a transferência de dados seja considerada impossível. Visto que as tentativas posteriores serão inúteis, o cupsd desabilita a impressão da fila correspondente. Após resolver a causa do problema, o administrador do sistema deve reabilitar a impressão com o comando cupsenable.
Se um servidor de rede CUPS transmitir suas filas aos hosts de clientes via navegação e um cupsd local adequado estiver ativo nos hosts de clientes, o cupsd de cliente aceitará serviços de impressão de aplicativos e os encaminhará ao cupsd no servidor. Quando cupsd no servidor aceitar um serviço de impressão, ele receberá um novo número de serviço. Portanto, o número da tarefa no host cliente é diferente do número da tarefa no servidor. Como geralmente um serviço de impressão é encaminhado de imediato, não é possível apagá-lo com o número de serviço do host cliente, porque o cupsd do cliente considera o serviço como concluído assim que ele é encaminhado ao cupsd do servidor.
Quando quiser apagar o serviço de impressão no servidor, use um comando como lpstat -h cups.example.com -o para determinar o número do serviço no servidor, contanto que o servidor ainda não tenha concluído o serviço de impressão (isto é, não o tenha enviado inteiramente para a impressora). Com esse número, o serviço de impressão pode ser apagado no servidor:
cancel -h cups.example.com queue-jobnumberSe você desligar a impressora ou encerrar o computador durante o processo de impressão, o serviço de impressão permanecerá na fila. A impressão continua quando o computador (ou a impressora) é ligado novamente. Os serviços de impressão com defeito devem ser removidos da fila com cancel.
Se o serviço de impressão apresentar defeito ou se ocorrer um erro na comunicação entre o host e a impressora, a impressora imprimirá várias folhas de papel com caracteres ininteligíveis, pois não consegue processar os dados corretamente. Para corrigir essa situação, siga as etapas a seguir:
Para interromper a impressão, remova todo o papel das bandejas da impressora jato de tinta ou laser. Impressoras de alta qualidade têm um botão de cancelamento da impressão.
O serviço de impressão pode ainda estar na fila, já que os serviços apenas são removidos depois de inteiramente enviados à impressora. Use lpstat -o ou lpstat -h cups.example.com -o para verificar a fila que está sendo impressa. Apague o serviço de impressão com cancel fila-número_do_serviço ou cancel -h cups.example.com fila-número_do_serviço.
Alguns dados podem ainda ser transferidos à impressora mesmo que o serviço tenha sido apagado da fila. Verifique se há um processo back end do CUPS em execução para a fila respectiva e termine-o. Por exemplo, para uma impressora conectada à porta paralela, o comando fuser -k /dev/lp0 pode ser usado para terminar todos os processos que ainda estão acessando a impressora (mais precisamente, a porta paralela).
Reinicialize a impressora completamente deixando-a desligada por um tempo. Em seguida, insira o papel e ligue a impressora.
Use o seguinte procedimento genérico para localizar problemas no sistema de impressão do CUPS:
Defina LogLevel debug em /etc/cups/cupsd.conf.
Pare o cupsd.
Remova /var/log/cups/error_log* para não precisar procurar em arquivos de registro muito grandes.
Inicie o cupsd.
Repita a ação que causou o problema.
Verifique as mensagens em /var/log/cups/error_log* para identificar a causa do problema.
Há soluções para vários problemas específicos no SUSE Knowledgebase (http://www.suse.com/support/). Localize os artigos relevantes com uma pesquisa pelo texto CUPS.