24 Operação da impressora #
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 Capítulo 34, Configurando uma impressora. 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 24.8, “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 a interface dela é suportada (USB, Ethernet ou Wi-Fi) e se a linguagem de impressão é adequada. As impressoras podem ser categorizadas com base em três classes de linguagem:
- Impressoras PostScript
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.
Atualmente, o PostScript vem sendo substituído pelo PDF como o formato padrão dos serviços de impressão. Já existem impressoras PostScript+PDF que imprimem diretamente em PDF (e também em PostScript). Para as impressoras PostScript tradicionais, é necessário converter de PDF em PostScript no workflow de impressão.
- Impressoras padrão (linguagens como PCL e ESC/P)
Para linguagens de impressora conhecidas, o sistema de impressão pode converter serviços PostScript na respectiva linguagem de impressão com o Ghostscript. Esta fase do processamento é chamada de interpretação. As linguagens mais conhecidas são PCL (usada pelas impressoras HP e seus clones) e ESC/P (utilizada pelas impressoras Epson). Normalmente, essas linguagens são suportadas no Linux e produzem um resultado de impressão adequado. O Linux pode não conseguir realizar determinadas funções especiais da impressora. Com exceção da HP e da Epson, não há fabricantes de impressoras que desenvolvem e disponibilizam drivers de Linux a distribuidores Linux sob uma licença de código-fonte aberto.
- Impressoras proprietárias (também denominadas impressoras GDI)
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. Normalmente, apenas os drivers do Windows estão disponíveis para essas impressoras. Consulte a Seção 24.8.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:
- https://www.openprinting.org/printers
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.
- https://pages.cs.wisc.edu/~ghost/
Página do Ghostscript na Web.
/usr/share/doc/packages/ghostscript/catalog.devices
Lista de drivers Ghostscript incorporados.
24.1 O workflow do CUPS #
O usuário cria um serviço de impressão. O serviço de impressão consiste nos dados que serão impressos mais as informações do spooler. Isso inclui o nome da impressora ou o nome da fila de impressão e, opcionalmente, as informações do filtro (por exemplo, as 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 (normalmente, PostScript ou PDF, mas também ASCII, JPEG etc.) 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.
24.2 Métodos e protocolos de conexão de impressoras #
Existem várias possibilidades para conectar uma impressora ao sistema. A configuração do CUPS não faz distinção entre uma impressora local e uma impressora conectada ao sistema pela rede. Para obter mais informações sobre a conexão de impressoras, leia o artigo CUPS in a Nutshell (CUPS numa Casca de Noz) em https://en.opensuse.org/SDB:CUPS_in_a_Nutshell.
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.
24.3 Instalando o software #
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 são encaminhados à impressora em estado “bruto”, o que não é desejado.
Para configurar uma impressora PostScript, a melhor opção é obter um arquivo PPD adequado. Muitos arquivos PPD estão disponíveis nos pacotes manufacturer-PPDs
e OpenPrintingPPDs-postscript
. Consulte Seção 24.7.3, “Arquivos PPD em vários pacotes” e Seção 24.8.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 34.1.1, “Adicionando drivers com o YaST”. 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. Esse tipo de instalação pode resultar na perda do suporte oferecido pelo SUSE Linux Enterprise Desktop. Além disso, os comandos de impressão podem funcionar de forma diferente, e o sistema talvez não possa mais processar dispositivos de outros fabricantes. Por isso, não recomendamos instalar o software do fabricante.
24.4 Impressoras de rede #
Uma impressora de rede pode suportar vários protocolos. A maioria dos protocolos suportados é padronizada, mas determinados fabricantes modificam o padrão. Logo, os fabricantes fornecem drivers apenas para alguns sistemas operacionais, e os drivers do Linux raramente são fornecidos. 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 chegar a uma configuração funcional.
O CUPS suporta os protocolos socket
, LPD
, IPP
e smb
.
- socket
Socket refere-se a uma conexão em que os dados de impressão simples são enviados diretamente a um soquete TCP. Os números de portas de soquete mais usados são
9100
ou35
. A sintaxe do URI (Uniform Resource Identifier) do dispositivo é: socket://IP.OF.THE.PRINTER:PORT, por exemplo:socket://192.168.2.202:9100/
.- LPD (daemon de impressora de linha)
O protocolo LPD está descrito no RFC 1179. Nesse protocolo, os dados relacionados ao serviço específicos, como o ID da fila de impressão, são enviados antes dos dados da impressão propriamente ditos. Portanto, a fila de impressão deve ser especificada no momento da configuração do protocolo LPD. As implementações de fabricantes de impressoras diferentes são flexíveis o suficiente para aceitar qualquer nome como a 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 (protocolo de impressão de Internet)
O IPP é 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 sãoipp://192.168.2.202/ps
eipp://192.168.2.202/printers/ps
.- SMB (compartilhamento Windows)
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
e139
. Exemplos de URIs de dispositivo sãosmb://user:password@workgroup/smb.example.com/printer
,smb://user:password@smb.example.com/printer
esmb://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 IP.OF.THE.PRINTER
24.5 Configurando o CUPS com ferramentas de linha de comando #
O CUPS pode ser configurado com ferramentas de linha de comando como lpinfo
, lpadmin
e lpoptions
. Você precisa de um URI de dispositivo composto por um back end, como USB, e parâmetros. Para determinar os URIs de dispositivo válidos no sistema, use o comando lpinfo -v | grep ":/"
:
>
sudo
lpinfo -v | grep ":/" direct usb://ACME/FunPrinter%20XL network socket://192.168.2.253
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:
>
sudo
lpadmin -p QUEUE -v DEVICE-URI -P PPD-FILE -E
Em seguida, o dispositivo (-v
) fica disponível como QUEUE (-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. Para 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:
>
sudo
lpadmin -p ps -v usb://ACME/FunPrinter%20XL -P \ /usr/share/cups/model/Postscript.ppd.gz -E
O seguinte exemplo configura uma impressora de rede:
>
sudo
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 do 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:
>
sudo
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
:>
sudo
lpadmin -p QUEUE -o Resolution=600dpiVerifique a nova configuração:
>
sudo
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
.
24.6 Imprimindo pela linha de comando #
Para imprimir pela linha de comando, digite lp -d
QUEUENAME FILENAME, substituindo os nomes correspondentes para QUEUENAME e FILENAME.
Vários aplicativos dependem do comando lp
para impressão. Neste caso, digite o comando correto na caixa de diálogo de impressão do aplicativo, normalmente sem especificar FILENAME, por exemplo, lp -d
QUEUENAME.
24.7 Recursos especiais no SUSE Linux Enterprise Desktop #
Vários recursos do CUPS foram adaptados para o SUSE Linux Enterprise Desktop. As mudanças mais importantes são abordadas aqui.
24.7.1 CUPS e firewall #
Após concluir a instalação padrão do SUSE Linux Enterprise Desktop, o firewalld
estará ativo, e as interfaces de rede serão configuradas para ficarem na zona public
, que bloqueia o tráfego de entrada.
Quando o firewalld
está ativo, pode ser necessário configurá-lo para permitir que os clientes procurem impressoras de rede com a permissão de mdns
e ipp
pela zona de rede interna. A zona pública nunca deve expor as filas da impressora.
(Há mais informações sobre a configuração do firewalld
disponíveis na Section 23.4, “firewalld
” e em https://en.opensuse.org/SDB:CUPS_and_SANE_Firewall_settings.)
24.7.1.1 Cliente CUPS #
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 Internal
Zone
, de modo que a estação de trabalho possa ser acessada de dentro da rede.
24.7.1.2 Servidor CUPS #
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 Internal Zone
do firewall. Não é recomendado configurar um servidor CUPS em um ambiente de rede não confiável, a menos que você garanta que ele seja protegido por regras especiais de firewall e opções seguras na configuração do CUPS.
24.7.2 Procurando impressoras de rede #
Os servidores CUPS anunciam regularmente as informações sobre disponibilidade e status das impressoras compartilhadas na rede. Os clientes podem acessar essas informações para exibir uma lista de impressoras disponíveis nas caixas de diálogo de impressão, por exemplo. Isso se chama “procurar”.
Os servidores CUPS anunciam suas filas de impressão pela rede usando o protocolo de procura tradicional do CUPS ou o Bonjour/DNS-SD. Para habilitar a procura de filas de impressão de rede, o serviço cups-browsed
precisa ser executado em todos os clientes que imprimem por meio de servidores CUPS. O cups-browsed
não é iniciado por padrão. Para iniciá-lo na sessão ativa, use sudo systemctl
start cups-browsed
. Para assegurar que ele seja iniciado automaticamente após a inicialização, habilite-o com sudo systemctl enable
cups-browsed
em todos os clientes.
Caso a pesquisa não funcione depois de iniciar cups-browsed
, os servidores CUPS anunciarão as filas de impressão de rede pelo Bonjour/DNS-SD. Neste caso, é necessário instalar também o pacote avahi
e iniciar o serviço associado ao sudo systemctl start avahi-daemon
em todos os clientes.
Consulte a Seção 24.7.1, “CUPS e firewall” para obter informações sobre como permitir a procura de impressoras por meio do firewalld
.
24.7.3 Arquivos PPD em vários pacotes #
A configuração de 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 apenas com arquivos PPD, e nenhuma outra fonte de informações, tem a vantagem de permitir a livre modificação de arquivos PPD em /usr/share/cups/model
. Por exemplo, se você tem impressoras PostScript, será possível copiar os arquivos PPD diretamente para /usr/share/cups/model
(se ainda não existirem nos pacotes manufacturer-PPDs
ou OpenPrintingPPDs-postscript
) para atingir a configuração ideal para as suas impressoras.
Os arquivos PPD adicionais são fornecidos pelos seguintes pacotes:
gutenprint
: o driver Gutenprint e seus PPDs correspondentessplix
: o driver SpliX e seus PPDs correspondentesOpenPrintingPPDs-ghostscript
: os PPDs para os drivers Ghostscript incorporadosOpenPrintingPPDs-hpijs
: PPDs para o driver HPIJS para impressoras não HP
24.8 Solução de problemas #
As seções a seguir abordam os problemas mais encontrados em relação a hardware e software de impressora, bem como formas de solucionar ou contornar 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.
24.8.1 Impressoras sem suporte de linguagem de impressora padrão #
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 essas impressoras apenas podem ser reconhecidas com a linguagem de impressora proprietária do respectivo modelo da impressora.
Determinadas impressoras GDI podem ser alternadas 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. Modelos específicos exigem software Windows especial para fazer a alternância. Por exemplo, o driver de impressora do Windows sempre pode reverter a impressora para o modo GDI ao imprimir do Windows. Para outras impressoras GDI, existem módulos de extensão disponíveis para uma linguagem de impressora padrão.
Vários 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 várias 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 soluciona o problema do driver de uma vez por todas, eliminando a necessidade de instalar e configurar software de driver especial e obter atualizações de driver que talvez fossem necessárias por causa de novos avanços no sistema de impressão.
24.8.2 Nenhum arquivo PPD adequado disponível para impressora PostScript #
Se o pacote manufacturer-PPDs
ou OpenPrintingPPDs-postscript
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
), descompacte-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 causam problemas relevantes. Os problemas reportados pelo cupstestppd
devem ser eliminados. Se necessário, peça o arquivo PPD adequado ao fabricante da impressora.
24.8.3 Conexões da impressora de rede #
- Identificação de problemas de rede
Conecte a impressora diretamente ao computador. Para fins de teste, configure-a como impressora local. Se isso funcionar, o problema está na rede.
- Verificando a rede TCP/IP
A rede TCP/IP e a resolução de nomes devem ser funcionais.
- Verificando um
lpd
remoto Use o comando a seguir para testar o estabelecimento de uma conexão TCP com
lpd
(porta515
) no HOST:>
netcat -z HOST 515 && echo ok || echo failedSe a conexão com
lpd
não for estabelecida, olpd
poderá não estar ativo ou talvez haja problemas básicos de rede.Desde que o respectivo
lpd
esteja ativo e o host aceite consultas, execute o seguinte comando comoroot
para consultar um relatório de status para QUEUE no HOST remoto:#
echo -e "\004queue" \ | netcat -w 2 -p 722 HOST 515Se o
lpd
não responder, ele pode não estar ativo ou pode haver problemas básicos de rede. Se olpd
responder, a resposta deverá mostrar por que não é possível imprimir naqueue
dohost
. Se você receber uma resposta como esta, mostrada no Exemplo 24.1, “Mensagem de erro dolpd
”, significa que o problema está sendo causado pelolpd
remoto.Exemplo 24.1: Mensagem de erro dolpd
#lpd: your host does not have line printer access lpd: queue does not exist printer: spooling disabled printer: printing disabled
- Verificando um
cupsd
remoto 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 $PIDSe existir um servidor de rede CUPS de transmissão, a saída aparecerá conforme mostrado no Exemplo 24.2, “Transmissão do servidor de rede CUPS”.
Exemplo 24.2: Transmissão do servidor de rede CUPS #ipp://192.168.2.202:631/printers/queue
Use o comando a seguir para testar o estabelecimento de uma conexão TCP com
cupsd
(porta631
) no HOST:>
netcat -z HOST 631 && echo ok || echo failedSe a conexão com
cupsd
não for estabelecida, ocupsd
poderá não estar ativo ou talvez haja problemas básicos de rede.lpstat -h
HOST -l -t retorna um relatório de status para todas as filas em HOST, desde que o respectivocupsd
esteja ativo e o host aceite consultas.O próximo comando pode ser usado para testar se a QUEUE no HOST aceita um serviço de impressão que consiste em um único caractere de retorno de carro. Nada será impresso. Talvez uma página em branco seja ejetada.
>
echo -en "\r" \ | lp -d queue -h HOST- Solução de problemas na impressora de rede ou na máquina do servidor de impressão
Algumas vezes, spoolers executados na máquina do servidor de impressão causam problemas quando precisam processar vários serviços de impressão. Como esse problema é causado pelo spooler na máquina do servidor de impressão, ele não tem solução. Como medida alternativa, desvie o spooler na máquina do servidor de impressão endereçando a impressora conectada à máquina diretamente com o soquete TCP. Consulte a Seção 24.4, “Impressoras de rede”.
Dessa forma, a máquina 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 saber a porta TCP da máquina do servidor de impressão. Se a impressora estiver conectada à máquina do servidor de impressão e ligada, essa porta TCP poderá ser determinada normalmente com o utilitário
nmap
do pacotenmap
determinado tempo depois que a máquina for ligada. Por exemplo,nmap
IP-address pode resultar na seguinte saída para a máquina 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 à máquina 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 comandonmap -p
FROM_PORT-TO_PORT IP_ADDRESS. Para obter mais informações, consulte a página de manual denmap
.Digite um comando como
>
echo -en "\rHello\r\f" | netcat -w 1 IP-address port cat file | netcat -w 1 IP-address portpara enviar strings de caracteres ou arquivos diretamente à respectiva porta para testar se a impressora pode ser endereçada dessa porta.
24.8.4 Defeitos na impressão sem mensagem de erro #
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 puder imprimir seus dados específicos, selecione um arquivo PPD mais adequado à impressora.
24.8.5 Filas desabilitadas #
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
.
24.8.6 Navegação do CUPS: apagando serviços de impressão #
Se um servidor de rede CUPS transmitir suas filas aos hosts clientes via navegação, e um cupsd
local adequado estiver ativo nos hosts 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 de impressão concluído quando ele é encaminhado ao cupsd
do servidor.
Para apagar o serviço de impressão do servidor, use um comando como lpstat
-h cups.example.com -o
para determinar o número do serviço no servidor. Esse procedimento assume que o servidor ainda não tenha concluído o serviço de impressão enviado-o para a impressora. Use o número de serviço obtido para apagar o serviço de impressão do servidor da seguinte maneira:
>
cancel -h cups.example.com QUEUE-JOBNUMBER
24.8.7 Serviços de impressão com defeito e erros de transferência de dados #
Se 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 um serviço de impressão estiver corrompido ou se ocorrer um erro na comunicação entre o host e a impressora, a impressora não poderá processar os dados corretamente e imprimirá várias folhas de papel com caracteres ininteligíveis. Para corrigir o problema, siga estas etapas:
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 ainda pode estar na fila, já que os serviços apenas são removidos depois de enviados à impressora. Use
lpstat -o
oulpstat -h cups.example.com -o
para verificar a fila que está sendo impressa. Apague o trabalho de impressão comcancel
QUEUE-JOBNUMBER oucancel -h cups.example.com
QUEUE-JOBNUMBER.Alguns dados ainda podem ser transferidos à impressora mesmo que o serviço de impressão tenha sido apagado da fila. Verifique se há um processo back end do CUPS em execução para a respectiva fila e interrompa-o.
Redefina a impressora desligando-a por um tempo. Em seguida, insira o papel e ligue a impressora.
24.8.8 Depurando o CUPS #
Use o seguinte procedimento genérico para localizar problemas no CUPS:
Defina
LogLevel debug
em/etc/cups/cupsd.conf
.Parar
cupsd
.Remova
/var/log/cups/error_log*
para não precisar procurar em arquivos de registro grandes.Iniciar
cupsd
.Repita a ação que causou o problema.
Verifique as mensagens em
/var/log/cups/error_log*
para identificar a causa do problema.
24.8.9 Mais informações #
Há informações detalhadas sobre impressão no SUSE Linux Enterprise Desktop no Banco de Dados de Suporte do openSUSE em https://en.opensuse.org/Portal:Printing. Há soluções para vários problemas específicos no SUSE Knowledgebase (https://www.suse.com/support/). Localize os artigos relevantes com uma pesquisa pelo texto CUPS
.