108.4 Lição 1
Certificação: |
LPIC-1 |
---|---|
Versão: |
5.0 |
Tópico: |
108 Serviços essenciais do sistema |
Objetivo: |
108.4 Gerenciamento de impressoras e impressão |
Lição: |
1 de 1 |
Introdução
As afirmações sobre a chegada de uma “sociedade sem papel” após o advento dos computadores não se comprovaram até hoje. Muitas organizações ainda dependem de páginas de informações impressas, ou “no papel”. Assim, é obviamente importante para um usuário saber como imprimir a partir de um sistema, assim como um administrador precisa saber como manter a capacidade de um computador de trabalhar com impressoras.
No Linux, assim como em muitos outros sistemas operacionais, a pilha de software Common Unix Printing System (CUPS) permite a impressão e o gerenciamento de impressoras a partir de um computador. Aqui está um esboço muito simplificado de como um arquivo é impresso no Linux usando CUPS:
-
Um usuário envia um arquivo para impressão.
-
O daemon do CUPS,
cupsd
, então põe no spool (fila de espera) o trabalho de impressão. Ele recebe um número de trabalho do CUPS, junto com informações sobre a fila de impressão que contém o trabalho, bem como o nome do documento a ser impresso. -
O CUPS utiliza filtros que são instalados no sistema para gerar um arquivo formatado que a impressora pode usar.
-
O CUPS então envia o arquivo reformatado à impressora para impressão.
Veremos essas etapas com mais detalhes, bem como a maneira de instalar e gerenciar uma impressora no Linux.
O serviço CUPS
A maioria das instalações do Linux em máquinas pessoais já vem com os pacotes do CUPS instalados. Em instalações mínimas do Linux, os pacotes do CUPS podem não estar presentes, dependendo da distribuição. Uma instalação básica do CUPS pode ser realizada em um sistema Debian com o seguinte:
$ sudo apt install cups
Em sistemas Fedora, o processo de instalação é igualmente fácil. É necessário iniciar o serviço CUPS manualmente após a instalação no Fedora e outras distribuições baseadas no Red Hat:
$ sudo dnf install cups ... $ sudo systemctl start cups.service
Após a conclusão da instalação, você pode verificar se o serviço CUPS está sendo executado com o uso do comando systemctl
:
$ systemctl status cups.service ● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-06-25 14:35:47 EDT; 41min ago Docs: man:cupsd(8) Main PID: 3136 (cupsd) Tasks: 2 (limit: 1119) Memory: 3.2M CGroup: /system.slice/cups.service ├─3136 /usr/sbin/cupsd -l └─3175 /usr/lib/cups/notifier/dbus dbus://
Como acontece com muitos outros daemons do Linux, o CUPS depende de um conjunto de arquivos de configuração para suas operações. Na lista abaixo estão os que são de maior interesse para o administrador do sistema:
/etc/cups/cupsd.conf
-
Este arquivo contém as configurações do próprio serviço CUPS. Se você estiver familiarizado com o arquivo de configuração do servidor web Apache, o arquivo de configuração do CUPS não lhe será estranho, pois ele usa uma sintaxe muito semelhante. O arquivo
cupsd.conf
contém configurações para coisas como controlar o acesso às diversas filas de impressão em uso no sistema, se a interface web do CUPS está habilitada ou não, bem como o nível de registro no log usado pelo daemon. /etc/printcap
-
Este é o arquivo legado que foi usado pelo protocolo LPD (Line Printer Daemon) antes do advento do CUPS. O CUPS continua a criar este arquivo para garantir a compatibilidade com versões anteriores e muitas vezes ele é um link simbólico para
/run/cups/printcap
. Cada linha deste arquivo contém uma impressora à qual o sistema tem acesso. /etc/cups/printers.conf
-
Este arquivo contém as impressoras configuradas para serem usadas pelo sistema CUPS. Neste arquivo, cada impressora e sua fila de impressão associada estão contidas em uma estrofe
<Printer></Printer>
. Este arquivo fornece as listagens individuais de impressoras encontradas em/etc/printcap
.WarningNenhuma modificação deve ser feita no arquivo
/etc/cups/printers.conf
na linha de comando enquanto o serviço CUPS estiver em execução. /etc/cups/ppd/
-
Este não é um arquivo de configuração, mas um diretório que contém os arquivos PostScript Printer Description (PPD) para as impressoras que os utilizam. A capacidade operacional de cada impressora será armazenada em um arquivo PPD (terminando com a extensão
.ppd
). Esses são arquivos de texto simples e seguem um formato específico.
O serviço CUPS também utiliza o log da mesma maneira que o serviço Apache 2. Os logs são armazenados em /var/log/cups/
e contêm um access_log
, um page_log
e um error_log
. O access_log
mantém um registro de acesso à interface web do CUPS, bem como as ações realizadas dentro dela, como o gerenciamento da impressora. O page_log
rastreia os trabalhos de impressão que foram submetidos às filas de impressão gerenciadas pela instalação do CUPS. O error_log
contém as mensagens sobre trabalhos de impressão que falharam e outros erros registrados pela interface web.
A seguir, veremos as ferramentas e utilitários usados para gerenciar o serviço do CUPS.
Usando a interface web
Como já dissemos, o arquivo de configuração /etc/cups/cupsd.conf
determina se a interface web do sistema CUPS está habilitada. A configuração é semelhante a esta:
# Web interface setting... WebInterface Yes
Se a interface web estiver habilitada, o CUPS pode ser gerenciado a partir de um navegador na URL padrão http://localhost:631
. Por padrão, um usuário do sistema pode visualizar as impressoras e filas de impressão, mas qualquer modificação da configuração requer que um usuário com acesso root se autentique no serviço web. A estrofe de configuração no arquivo /etc/cups/cupsd.conf
para restringir o acesso aos recursos administrativos será semelhante à seguinte:
# All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit>
Vamos olhar opções mais de perto:
AuthType Default
-
usa um prompt de autenticação básico quando uma ação requer acesso de root.
Require user @SYSTEM
-
indica que é necessário um usuário com privilégios administrativos para a operação. Pode ser alterado para
@groupname
, onde membros degroupname
podem administrar o serviço do CUPS; ou ainda, usuários individuais podem ser listados, como emRequire user carol, tim
. Order deny,allow
-
funciona de forma semelhante à opção de configuração do Apache 2, onde a ação é negada por padrão a menos que um usuário (ou membro de um grupo) seja autenticado.
A interface web do CUPS pode ser desabilitada primeiro interrompendo o serviço do CUPS, alterando a opção WebInterface
de Yes
para No
e, finalmente, reiniciando o serviço do CUPS.
A interface web do CUPS é construída como um site básico, com guias de navegação para as diversas seções do sistema CUPS. Estas são as guias incluídas na interface:
- Home
-
A página inicial lista a versão atual do CUPS que está instalada. Ela também divide o CUPS em seções como:
- CUPS for Users
-
Fornece uma descrição do CUPS, opções de linha de comando para trabalhar com impressoras e filas de impressão e um link para o fórum de usuários do CUPS.
- CUPS for Administrators
-
Fornece links na interface para instalar e gerenciar impressoras e links para informações sobre como trabalhar com impressoras em uma rede.
- CUPS for Developers
-
Fornece links para o desenvolvimento do próprio CUPS, bem como para a criação de arquivos PPD para impressoras.
- Administration
-
A página de administração também é dividida em seções:
- Printers
-
Aqui, um administrador pode adicionar novas impressoras ao sistema, localizar as impressoras conectadas ao sistema e gerenciar as impressoras que já estão instaladas.
- Classes
-
As classes são um mecanismo no qual impressoras podem ser adicionadas a grupos com políticas específicas. Por exemplo, uma classe pode conter um grupo de impressoras pertencentes a um andar específico de um prédio, na qual apenas os usuários de um determinado departamento podem imprimir. Outra classe pode ter limitações sobre quantas páginas um usuário pode imprimir. As classes não são criadas por padrão na instalação do CUPS e devem ser definidas por um administrador. Esta é a seção da interface web do CUPS na qual novas classes podem ser criadas e gerenciadas.
- Jobs
-
Aqui é onde um administrador pode visualizar todos os trabalhos de impressão que estão atualmente na fila para todas as impressoras gerenciadas por esta instalação do CUPS.
- Server
-
Aqui é onde um administrador pode fazer alterações no arquivo
/etc/cups/cupsd.conf
. Além disso, outras opções de configuração estão disponíveis por meio de caixas de seleção, como permitir que impressoras conectadas a esta instalação do CUPS sejam compartilhadas em uma rede, autenticação avançada e permitir a administração remota de impressoras.
- Classes
-
Se houver classes de impressoras configuradas no sistema, elas serão listadas nesta página. Cada classe de impressora tem opções para gerenciar todas as impressoras da classe de uma vez, bem como visualizar todos os trabalhos que estão na fila para as impressoras daquela classe.
- Help
-
Esta guia fornece links para toda a documentação disponível do CUPS instalado no sistema.
- Jobs
-
A guia Jobs permite a pesquisa por trabalhos de impressão individuais, bem como a listagem de todos os trabalhos de impressão atuais gerenciados pelo servidor.
- Printers
-
A guia Printers lista todas as impressoras atualmente gerenciadas pelo sistema, além de dar uma visão geral rápida do status de cada impressora. É possível clicar em cada impressora listada para ir à página na qual aquela impressora pode ser gerenciada mais detalhadamente. As informações sobre as impressoras nesta guia vêm do arquivo
/etc/cups/printers.conf
.
Instalando uma impressora
Adicionar uma impressora ao sistema é um processo simples na interface web do CUPS:
-
Clique na guia Administration e depois no botão Add Printer.
-
A página seguinte tem uma série de opções dependendo de como a sua impressora estiver conectada ao sistema. Se for uma impressora local, selecione a opção mais relevante, como a porta à qual a impressora está conectada ou o software de impressão de terceiros que estiver instalado. O CUPS também tenta detectar impressoras conectadas à rede e as exibe aqui. Também é possível escolher uma opção de conexão direta a uma impressora de rede, dependendo dos protocolos de impressão em rede suportados pela impressora. Selecione a opção apropriada e clique no botão Continue.
-
A página seguinte permite atribuir um nome, descrição e local (como “escritório” ou “recepção”) para a impressora. Se quiser compartilhar esta impressora pela rede, marque a caixa de seleção dessa opção nesta página. Depois de inserir as configurações, clique no botão Continue.
-
A página seguinte é onde a marca e o modelo da impressora podem ser selecionados. Essa informação permite que o CUPS pesquise em seu banco de dados local pelos drivers e arquivos PPD mais adequados para usar com a impressora. Se você tiver um arquivo PPD fornecido pelo fabricante da impressora, navegue até o local em que ele está e selecione-o. Depois disso, clique no botão Add Printer.
-
A última página é onde são definidas as opções padrão, como o tamanho da página usada pela impressora e a resolução dos caracteres impressos. Clique no botão Set Default Options e a impressora estará instalada no sistema.
Note
|
Muitas instalações pessoais do Linux têm diferentes ferramentas que podem ser usadas para instalar uma impressora. Os ambientes de desktop GNOME e KDE possuem seus próprios aplicativos integrados para instalar e gerenciar impressoras. Além disso, algumas distribuições fornecem aplicativos separados de gerenciamento de impressoras. No entanto, ao trabalhar com uma instalação de servidor que muitos usuários acessarão para seus trabalhos de impressão, a interface web do CUPS fornece as melhores ferramentas para a tarefa. |
Uma fila de impressão também pode ser instalada usando os comandos LPD/LPR legados. Eis um exemplo usando o comando lpadmin
:
$ sudo lpadmin -p ENVY-4510 -L "office" -v socket://192.168.150.25 -m everywhere
Vamos detalhar o comando para ilustrar as opções usadas aqui:
-
Como a adição de uma impressora ao sistema requer um usuário com privilégios administrativos, acrescentamos o comando
lpadmin
comsudo
. -
A opção
-p
é o destino de seus trabalhos de impressão. É, essencialmente, um nome amigável para o usuário saber para onde vão os trabalhos de impressão. Normalmente, você pode fornecer o nome da impressora. -
A opção
-L
é a localização da impressora. Esse dado é opcional, mas útil quando se gerenciam várias impressoras em diferentes locais. -
A opção
-v
é para o URI do dispositivo de impressão. A fila de impressão do CUPS precisa do URI do dispositivo para enviar os trabalhos de impressão já preparados para uma impressora específica. Em nosso exemplo, estamos usando um local de rede empregando o endereço IP fornecido. -
A opção final,
-m
, está definida como “everywhere” (em todos os lugares). Essa opção define o modelo da impressora para o CUPS poder determinar qual arquivo PPD usar. Nas versões modernas do CUPS, é melhor usar “everywhere” para que o CUPS verifique o URI do dispositivo (definido na opção-v
anterior) e determine assim automaticamente o arquivo PPD correto a ser usado para a impressora. Em situações modernas, o CUPS usará apenas o IPP, conforme explicado abaixo.
Como já dissemos, é melhor deixar o CUPS determinar automaticamente qual arquivo PPD usar para uma determinada fila de impressão. No entanto, o comando lpinfo
legado pode ser usado para consultar os arquivos PPD instalados localmente para ver o que está disponível. Basta fornecer a opção --make-and-model
(marca e modelo) da impressora que deseja instalar, mais a opção -m
:
$ lpinfo --make-and-model "HP Envy 4510" -m hplip:0/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:1/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:2/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 drv:///hpcups.crv/hp-envy_4510_series.ppd HP Envy 4510 Series, hpcups 3.17.10 everywhere IPP Everywhere
Note que o comando lpinfo
está obsoleto. Ele foi mostrado aqui como um exemplo de listagem dos arquivos de driver de impressão que uma impressora pode usar.
Warning
|
As versões futuras do CUPS têm drivers obsoletos e, por isso, se concentrarão no uso de IPP (Internet Printing Protocol) e formatos de arquivo padrão. A saída do comando anterior ilustra isso com a capacidade de impressão |
Uma impressora padrão pode ser definida usando o comando lpoptions
. Desta forma, se a maioria (ou todos) os trabalhos de impressão forem enviados para uma impressora em particular, aquela que foi especificada com o comando lpoptions
será a padrão. Basta especificar a impressora junto com a opção -d
:
$ lpoptions -d ENVY-4510
Gerenciando impressoras
Depois que a impressora é instalada, o administrador pode usar a interface web para gerenciar as opções disponíveis para a impressora. Uma abordagem mais direta para gerenciar uma impressora é o comando lpadmin
.
Uma opção é permitir que uma impressora seja compartilhada na rede. Isso pode ser feito com a opção printer-is-shared
, especificando-se a impressora com a opção -p
:
$ sudo lpadmin -p FRONT-DESK -o printer-is-shared=true
O administrador também pode configurar uma fila de impressão para aceitar apenas trabalhos de impressão de usuários específicos, com cada usuário separado por uma vírgula:
$ sudo lpadmin -p FRONT-DESK -u allow:carol,frank,grace
Inversamente, podemos negar o acesso a uma fila de impressão específica a determinados usuários:
$ sudo lpadmin -p FRONT-DESK -u deny:dave
Também é possível permitir ou negar acesso à fila de impressão a grupos de usuários, desde que o nome do grupo seja precedido pelo caractere “arroba” (@
):
$ sudo lpadmin -p FRONT-DESK -u deny:@sales,@marketing
Uma fila de impressão também pode ter uma política de erro caso encontre problemas ao imprimir um trabalho. Com o uso de políticas, um trabalho de impressão pode ser abortado (abort-job
) ou outra tentativa de impressão pode ocorrer posteriormente (retry-job
). Outras políticas incluem a capacidade de parar a impressora imediatamente caso ocorra um erro (stop-printer
), bem como a possibilidade de repetir o trabalho imediatamente após a detecção de uma falha (retry-current-job
). Eis um exemplo no qual a política da impressora foi definida para abortar o trabalho de impressão caso ocorra um erro na impressora FRONT-DESK
:
$ sudo lpadmin -p FRONT-DESK -o printer-error-policy=abort-job
Consulte as páginas de manual do comando lpadmin
localizadas em lpadmin(8)
para obter mais detalhes sobre o uso deste comando.
Enviando trabalhos de impressão
Muitos aplicativos para desktop permitem enviar trabalhos de impressão a partir de um item de menu ou usando o atalho de teclado Ctrl+p. Se você estiver em um sistema Linux que não utiliza um ambiente de desktop, ainda pode enviar arquivos para uma impressora por meio dos comandos LPD/LPR legados.
O comando lpr
(“line printer remote”) é usado para enviar um trabalho de impressão para a fila da impressora. Em sua forma mais básica, basta incluir um nome de arquivo junto com o comando lpr
:
$ lpr report.txt
O comando acima envia o arquivo report.txt
para a fila de impressão padrão do sistema (identificada pelo arquivo /etc/cups/printers.conf
).
Se uma instalação do CUPS tiver várias impressoras instaladas, o comando lpstat
pode ser usado para imprimir uma lista de impressoras disponíveis usando a opção -p
. A opção -d
indica qual é a impressora padrão:
$ lpstat -p -d printer FRONT-DESK is idle. enabled since Mon 03 Aug 2020 10:33:07 AM EDT printer PostScript_oc0303387803 disabled since Sat 07 Mar 2020 08:33:11 PM EST - reason unknown printer ENVY-4510 is idle. enabled since Fri 31 Jul 2020 10:08:31 AM EDT system default destination: ENVY-4510
Portanto, em nosso exemplo, o arquivo report.txt
será enviado para a impressora ENVY-4510
, pois ela está definida como padrão. Caso o arquivo precise ser impresso em uma impressora diferente, especifique a impressora junto com a opção -P
:
$ lpr -P FRONT-DESK report.txt
Quando um trabalho de impressão é enviado ao CUPS, o daemon decide qual backend é mais adequado para a tarefa. O CUPS pode usar diversos drivers de impressora, filtros, monitores de porta de hardware e outros softwares para preparar o documento adequadamente. Haverá momentos em que o usuário que quiser imprimir um documento precisará fazer modificações na maneira como o documento será impresso. Certos aplicativos gráficos facilitam essa tarefa. Existem também opções em linha de comando que servem para alterar a forma como um documento deve ser impresso. Quando um trabalho de impressão é enviado através da linha de comando, a opção -o
(de “options”) pode ser usada em conjunto com termos específicos para ajustar o layout do documento para impressão. Eis uma pequena lista das opções comumente usadas:
landscape
-
O documento é impresso em modo paisagem, ou seja, com a página rotacionada 90 graus no sentido horário. A opção
orientation-requested=4
dá o mesmo resultado. two-sided-long-edge
-
A impressora imprime o documento em modo retrato em ambos os lados do papel, desde que a impressora suporte este recurso
two-sided-short-edge
-
A impressora imprime o documento em modo paisagem em ambos os lados do papel, desde que a impressora suporte este recurso
media
-
A impressora imprime o trabalho no tamanho de mídia especificado. Os tamanhos de mídia disponíveis para um trabalho de impressão dependem da impressora, mas estes são os tamanhos mais comuns:
Size Option Purpose A4
ISO A4
Letter
US Letter
Legal
US Legal
DL
ISO DL Envelope
COM10
US #10 Envelope
collate
-
Agrupar o documento impresso. Isso é útil quando precisamos imprimir um documento de várias páginas mais de uma vez, pois todas as páginas de cada documento serão impressas na ordem. Defina esta opção como
true
para ativá-la ou` false` para desativá-la. page-ranges
-
Esta opção pode ser usada para selecionar uma única página ou um conjunto específico de páginas a imprimir. Um exemplo seria:
-o page-ranges=5-7,9,15
. Seriam impressas as páginas 5, 6 e 7 e as páginas 9 e 15. fit-to-page
-
Imprime o documento redimensionando o arquivo de forma a caber no papel. Se nenhuma informação sobre o tamanho da página for fornecida pelo arquivo a ser impresso, é possível que o trabalho seja dimensionado incorretamente e partes do documento podem acabar ficando para fora da página, ou o documento ficar pequeno demais.
outputorder
-
Imprime o documento na ordem
reverse
(inversa) ounormal
, ou seja, iniciando a impressão na página um. Se uma impressora imprimir as páginas com o rosto para baixo, o padrão é que a ordem seja-o outputorder=normal
, ao passo que as impressoras que imprimem com as páginas voltadas para cima imprimirão com-o outputorder=reverse
.
Tomando uma amostra das opções acima, o seguinte comando de exemplo pode ser construído:
$ lpr -P ACCOUNTING-LASERJET -o landscape -o media=A4 -o two-sided-short-edge finance-report.pdf
Para imprimir mais de uma cópia de um documento, usamos a opção de número no seguinte formato: -#N
, onde N
é igual ao número de cópias a serem impressas. Eis um exemplo com a opção de agrupamento, em que sete cópias de um relatório devem ser impressas na impressora padrão:
$ lpr-#7 -o collate=true status-report.pdf
Além do comando lpr
, o comando lp
também pode ser usado. Muitas das opções usadas com lpr
também funcionam com o comando lp
, mas há algumas diferenças. Consulte a página de manual em lp(1)
para referência. Veja como podemos executar o exemplo anterior do comando lpr
usando a sintaxe do comando lp
, especificando também a impressora de destino com a opção -d
:
$ lp -d ACCOUNTING-LASERJET -n 7 -o collate=true status-report.pdf
Gerenciando trabalhos de impressão
Como já dissemos, cada trabalho enviado à fila de impressão recebe uma ID de trabalho do CUPS. Um usuário pode visualizar os trabalhos de impressão que enviou com o comando lpq
. A opção -a
mostra as filas de todas as impressoras gerenciadas pela instalação do CUPS:
$ lpq -a Rank Owner Job File(s) Total Size 1st carol 20 finance-report.pdf 5072 bytes
O mesmo comando lpstat
usado anteriormente também inclui uma opção para visualizar as filas de impressão. A opção -o
sozinha mostra todas as filas de impressão; uma fila de impressão também pode ser especificada pelo nome:
$ lp -o ACCOUNTING-LASERJET-4 carol 19456 Wed 05 Aug 2020 04:29:44 PM EDT
A ID do trabalho de impressão será anexada ao nome da fila para onde o trabalho foi enviado, seguida pelo nome do usuário que enviou o trabalho, o tamanho do arquivo e a hora em que foi enviado.
Se um trabalho de impressão travar em uma impressora ou se um usuário desejar cancelar seu trabalho de impressão, usamos o comando lprm
junto com o ID do trabalho encontrado no comando lpq
:
$ lprm 20
Todos os trabalhos de uma fila de impressão podem ser excluídos de uma vez com apenas um hífen -
:
$ lprm -
Alternativamente, o comando cancel
do CUPS também pode ser empregado por um usuário para interromper seu trabalho de impressão atual:
$ cancel
Um trabalho de impressão específico pode ser cancelado por sua ID de trabalho precedida pelo nome da impressora:
$ cancel ACCOUNTING-LASERJET-20
Um trabalho de impressão também pode ser movido de uma fila de impressão para outra. Isso geralmente é útil se uma impressora parar de responder ou se o documento a ser impresso exigir recursos disponíveis em uma impressora diferente. Observe que esse procedimento normalmente requer um usuário com privilégios elevados. Usando o mesmo trabalho de impressão do exemplo anterior, podemos movê-lo para a fila da impressora FRONT-DESK
:
$ sudo lpmove ACCOUNTING-LASERJET-20 FRONT-DESK
Removendo impressoras
Para remover uma impressora, é interessante listar primeiro todas as impressoras gerenciadas atualmente pelo serviço do CUPS. Usamos para isso o comando lpstat
:
$ lpstat -v device for FRONT-DESK: socket://192.168.150.24 device for ENVY-4510: socket://192.168.150.25 device for PostScript_oc0303387803: ///dev/null
A opção -v
não apenas lista as impressoras, mas também onde (e como) elas estão conectadas. É aconselhável rejeitar primeiro todos os novos trabalhos que vão para essa impressora e incluir um motivo para a impressora não aceitar novos trabalhos. Fazemos isso desta forma:
$ sudo cupsreject -r "Printer to be removed" FRONT-DESK
Note o uso de sudo
, já que esta tarefa requer um usuário com privilégios elevados.
Para remover uma impressora, utilizamos o comando lpadmin
com a opção -x
:
$ sudo lpadmin -x FRONT-DESK
Exercícios Guiados
-
Uma nova impressora acabou de ser instalada em uma estação de trabalho local chamada
office-mgr
. Que comando pode ser usado para definir esta impressora como padrão para esta estação de trabalho? -
Qual comando e opção usaríamos para determinar quais impressoras estão disponíveis para impressão em uma estação de trabalho?
-
Usando o comando
cancel
, como você removeria um trabalho de impressão com ID 15 que está preso na fila da impressora chamadaoffice-mgr
? -
Temos um trabalho de impressão destinado a uma impressora que não possui papel suficiente para imprimir o arquivo completo. Que comando você usaria para mover o trabalho de impressão com ID 2 da fila de impressão da impressora
FRONT-DESK
para a fila de impressão da impressoraACCOUNTING-LASERJET
?
Exercícios Exploratórios
Usando o gerenciador de pacotes de sua distribuição, instale os pacotes cups
e printer-driver-cups-pdf
. Note que, se você estiver usando uma distribuição baseada em Red Hat (como o Fedora), o driver CUPS PDF é chamado de cups-pdf
. Instale também o pacote cups-client
para utilizar os comandos de impressão no estilo System V. Usaremos esses pacotes para praticar o gerenciamento de uma impressora CUPS sem instalar fisicamente uma impressora real.
-
Verifique se o daemon do CUPS está em execução e, em seguida, confira se a impressora PDF está ativada e definida como padrão.
-
Execute um comando para imprimir o arquivo
/etc/services
. Você deverá obter um diretório chamadoPDF
dentro do seu diretório inicial. -
Use um comando que desabilite somente a impressora e execute um comando separado que mostre todas as informações de status para verificar se a impressora PDF está desabilitada. Em seguida, tente imprimir uma cópia de seu arquivo
/etc/fstab
. O que acontece? -
Agora, tente imprimir uma cópia do arquivo
/etc/fstab
na impressora PDF. O que acontece? -
Cancele o trabalho de impressão e remova a impressora PDF.
Resumo
O daemon do CUPS é uma plataforma amplamente usada para impressão em impressoras locais e remotas. Embora tenha substituído o protocolo LPD legado, ele ainda fornece compatibilidade reversa para suas ferramentas.
Os arquivos e comandos discutidos nesta lição foram:
/etc/cups/cupsd.conf
-
O arquivo de configuração principal para o próprio serviço do CUPS. Este arquivo também controla o acesso à interface web do CUPS.
/etc/printcap
-
Um arquivo legado usado pelo LPD contendo uma linha para cada impressora conectada ao sistema.
/etc/cups/printers.conf
-
O arquivo de configuração usado pelo CUPS para informações sobre as impressoras.
A interface web do CUPS, que em uma instalação padrão pode ser encontrada em http://localhost:631
. Lembre-se de que a porta de rede padrão para a interface web é 631/TCP.
Os seguintes comandos LPD/LPR legados também foram discutidos:
lpadmin
-
Usado para instalar e remover impressoras e classes de impressoras
lpoptions
-
Usado para exibir as opções da impressora e modificar as configurações de uma impressora.
lpstat
-
Usado para exibir informações de status das impressoras conectadas a uma instalação do CUPS.
lpr
-
Usado para enviar trabalhos de impressão para uma fila.
lp
-
Usado para enviar trabalhos de impressão para uma fila.
lpq
-
lista os trabalhos de impressão na fila.
lprm
-
Usado para cancelar trabalhos de impressão por ID. O ID de um trabalho pode ser obtido com a saída do comando
lpq
. cancel
-
Uma alternativa ao comando
lprm
para cancelar trabalhos de impressão pelo ID.
Não deixe de estudar as seguintes páginas de manual para as diversas ferramentas e utilitários do CUPS: lpadmin(8)
, lpoptions(1)
, lpr(1)
, lpq(1)
, lprm(1)
, cancel(1)
, lpstat(1)
, cupsenable(8)
e cupsaccept(8)
. Consulte também a documentação de ajuda online em http://localhost:631/help
.
Respostas aos Exercícios Guiados
-
Uma nova impressora acabou de ser instalada em uma estação de trabalho local chamada
office-mgr
. Que comando pode ser usado para definir esta impressora como padrão para esta estação de trabalho?$ lpoptions -d office-mgr
-
Qual comando e opção usaríamos para determinar quais impressoras estão disponíveis para impressão em uma estação de trabalho?
$ lpstat -p
A opção
-p
lista todas as impressoras disponíveis e informa se elas estão habilitadas para impressão. -
Usando o comando
cancel
, como você removeria um trabalho de impressão com ID 15 que está preso na fila da impressora chamadaoffice-mgr
?$ cancel office-mgr-15
-
Temos um trabalho de impressão destinado a uma impressora que não possui papel suficiente para imprimir o arquivo completo. Que comando você usaria para mover o trabalho de impressão com ID 2 da fila de impressão da impressora
FRONT-DESK
para a fila de impressão da impressoraACCOUNTING-LASERJET
?$ sudo lpmove FRONT-DESK-2 ACCOUNTING-LASERJET
Respostas aos Exercícios Exploratórios
Usando o gerenciador de pacotes de sua distribuição, instale os pacotes cups
e printer-driver-cups-pdf
. Note que, se você estiver usando uma distribuição baseada em Red Hat (como o Fedora), o driver CUPS PDF é chamado de cups-pdf
. Instale também o pacote cups-client
para utilizar os comandos de impressão no estilo System V. Usaremos esses pacotes para praticar o gerenciamento de uma impressora CUPS sem instalar fisicamente uma impressora real.
-
Verifique se o daemon do CUPS está em execução e, em seguida, confira se a impressora PDF está ativada e definida como padrão.
Um método para verificar a disponibilidade e o status da impressora PDF seria executar o seguinte comando:
$ lpstat -p -d printer PDF is idle. enabled since Thu 25 Jun 2020 02:36:07 PM EDTi system default destination: PDF
-
Execute um comando para imprimir o arquivo
/etc/services
. Você deverá obter um diretório chamadoPDF
dentro do seu diretório inicial.$ lp -d PDF /etc/services
funcionaria. Nesse momento você terá uma versão em PDF deste arquivo no diretório PDF.
-
Use um comando que desabilite somente a impressora e execute um comando separado que mostre todas as informações de status para verificar se a impressora PDF está desabilitada.
$ sudo cupsdisable PDF
desabilita a impressora.
Em seguida, execute o comando
lpstat -t
para obter uma lista completa das condições da impressora. Deve ser semelhante à saída a seguir:$ scheduler is running system default destination: PDFi device for PDF: cups-pdf:/ PDF accepting requests since Wed 05 Aug 2020 04:19:15 PM EDTi printer PDF disabled since Wed 05 Aug 2020 04:19:15 PM EDT - Paused
-
Agora, tente imprimir uma cópia do arquivo
/etc/fstab
na impressora PDF. O que acontece?Depois de rodar o comando
lp -d PDF /etc/fstab
, obtemos uma saída mostrando as informações de ID do trabalho. No entanto, se você verificar a pasta PDF em seu diretório inicial, o novo arquivo não estará lá. Mas se verificarmos a fila de impressão com o comandolpstat -o
, o trabalho estará listado ali. -
Cancele o trabalho de impressão e remova a impressora PDF.
Usando a saída do comando
lp
anterior, use o comandocancel
para excluir o trabalho. Por exemplo:$ cancel PDF-4
Em seguida, execute o comando
lpstat -o
para verificar se o trabalho foi excluído.Remova a impressora PDF com o seguinte comando:
sudo lpadmin -x PDF
. Por fim, verifique se a impressora foi removida:lpstat -a
.