Reutilizar a impressora antiga @ Pedro Silva | Sunday, Oct 22, 2023 | 7 minutes read | Update at Sunday, Oct 22, 2023

Há muito se fala em sustentabilidade e no meio ambiente, nos nossos hábitos de consumo e de um problema sem precedentes que afeta a nossa sobrevivência no planeta. Ao mesmo tempo existe a noção que as novas tecnologias são cada vez mais eficientes, mais praticas e de menor consumo energético. E aqui ficamos um pouco mais descansados, porque tudo parece encaixar-se numa perfeita harmonia. Mas existe uma outra face, muita fica obsoleta quase no momento em a adquirimos e saímos com ela pela porta da loja. A realidade é que o sistema económico assim o exige, e os fabricantes o sabem. As impressoras por exemplo é nos consumíveis que está a alma do negocio, quanto mais antiga a impressora mais caro fica o consumível, até desaparecer por completo do mercado pois o fabricante deixa de os produzir. E assim impressoras ainda funcionais acabam no abate. Já na reciclagem, quando vão, umas acabam em centros de reciclagem e outros para lixeiras a céu aberto em paises asiáticos ou africanos, onde o método de reciclagem é duvidoso, para não dizer inexistente.

Aqui fica uma dica para quem ainda tem impressoras multi-funcionais antigas com uma única interface USB, pois ainda podem ser úteis num ambiente de rede, para quem precisa de imprimir e digitalizar documentos em rede. Com o software CUPS (Common Unix Printing System) e o SANE (Scanner Access Now Easy) é possível ter essas funcionalidades. A instalação deste software num computador ligado a uma impressora USB permite que as impressões e as digitalizações sejam efetuadas remotamente por vários utilizadores na rede, e até através da Internet. Este software ainda tem a vantagem de ser OpenSource, ou seja pode ser utilizado sem qualquer custo, num ambiente particular ou comercial.

O computador que será o servidor pode também ser o mais antigo, aquele que já ninguém dá uso, mas é necessário a instalação de um sistema operativo Linux, eu recomendo um derivado de Debian, o Ubuntu Server por exemplo.

Eu tenho o Raspberry Pi3 que é o meu preferido para este tipo utilização, é pequeno e de baixo consumo mas como já utilizo num outro projeto não foi possível o utilizar para este tutorial. Tenho também um Raspberry Pi2 disponível que podia utilizar mas infelizmente é incompatível com os controladores da minha impressora. O Raspberry Pi2 (v1.1) utiliza o processador ARMHF que não suporta instruções a 64bit.

Por existir tantas variáveis entre hardware, controladores e sistemas operativos (servidor/cliente) é necessário fazer sempre uma analise antes de meter mãos há obra, certificar que a impressora que queremos utilizar tem os respetivos controladores, e se são compatíveis com o sistema operativo instalado no computador (servidor/cliente). Fazer um estudo prévio do que é e não é compatível, uma regra básica para qualquer projeto informático.

Tentei fazer este tutorial o mais detalhado possível mas como é óbvio nem sempre é possível abranger todos os cenários, nem todos os sistemas operativos são iguais, nem as impressoras. O sistema operativo que utilizei para este tutorial foi o Ubuntu Server 22.04.3, e é esse que recomendo instalar para seguir os passos aqui referidos.

O tutorial esta dividido em 3 fases, a primeira para a instalação e configuração do software CUPS. A segunda para a instalação e configuração do software SANE(D). Por ultimo a instalação e configuração da impressora e scanner no computador cliente (Linux/Windows).

Comece por aceder remotamente ao servidor que foi instalado. Caso utilize o servidor com o monitor e o teclado ignore este primeiro passo e faça o login para utilizar o terminal e avance para o segundo passo.

$	ssh utilizador@ip-do-servidor
  • Atualizar a lista de pacotes.
$	sudo apt-get update
  • Atualizar pacotes.
$	sudo apt-get upgrade
  • Instalar o software CUPS.
$	sudo apt-get install cups
  • Atribua ao “utilizador” privilégios administrativos dentro do grupo lpadmin.
$	sudo usermod -a -G lpadmin utilizador
  • Edite o ficheiro /etc/cups/cupsd.conf e comentar a linha “Listen localhost:631”, e adicionar uma nova com “Port 631”.
#Listen localhost:631
Port 631
  • Adicione uma linha com “Allow @local” (só subnet local) ou “Allow all” (para todas as subnets).
 <Location />                                                                                                       
   Order allow,deny                                                                                                    
   Allow @local                                                                                                    
 </Location>                                                                                                           
 # Restrict access to the admin pages...                                                                            
 <Location /admin>                                                                                                     
   Order allow,deny                                                                                                  
   Allow @local                                                                                                     
 </Location>                                                                                                          
 # Restrict access to configuration files...                                                                          
 <Location /admin/conf>                                                                                               
   AuthType Default                                                                                                 
   Require user @SYSTEM                                                                                               
   Order allow,deny                                                                                                 
   Allow @local                
 </Location>
  • Reinicie o serviço do CUPS.
$	sudo /etc/init.d/cups restart
  • Instale o controlador da impressora. No meu caso é uma Brother MFC-7320.
$	sudo ./linux-brprinter-installer-2.2.3-1
  • Neste momento pode ligar fisicamente a impressora ao computador com o cabo USB e verificar se foi detetada utilizando o comando “lsusb”. Caso não seja detetada tem de identificar o problema primeiro antes de prosseguir.
$	lsusb
   Bus 008 Device 002: ID 04f9:01eb Brother Industries, Ltd MFC-7320
  • Adicione a impressora ao CUPS através do interface http://nome-do-servidor:631.
  • Ou premir o botão “Add Printer” irá aparecer a janela “Sign in” e é necessário fornecer os dados de nome de utilizador e palavra passe.
  • Escolha a impressora desejada e prima no botão “Continue”.
  • Preencha o campo “Location” com a informação relacionada há localização da impressora, como por exemplo “Escritório”.
  • Adicione o visto na checkbox “Share This Printer” e depois prima o botão “Continue”.
  • Selecione o controlador que foi previamente instalado e que corresponde há impressora, por fim prima no botão “Add Printer”.

Peek 2023-10-22 21-56

Até aqui a primeira fase do tutorial esta concluída, a impressora está instalada e partilhada. Para ter a certeza que funciona pode fazer uma impressão de teste dentro do interface do CUPS.

  • Instale o software SANE.
$ sudo apt-get install sane
  • Detete o scanner.
$ sane-find-scanner
  • Defina o scanner.
$ 	scanimage -L
	device `brother3:bus1;dev1' is a Brother MFC-7320 USB scanner
  • Opcionalmente pode adicionar o utilizador ao grupo scanner. Esta configuração só será necessária se pretende digitalizar no terminal do servidor. Documentação SystemGroups - Debian Wiki.
$ 	sudo addgroup utilizador scanner
  • Se até aqui todo correu como é suposto pode inserir um documento no vidro, ou no alimentador do scanner e digitalizar. Também pode testar atráves do terminal do servidor que é um pouco mais lento pois faz pipe através de SSH.
$ 	scanimage >documento.jpg --format jpeg
  • Ou
$ 	ssh utilizador@ip-do-servidor scanimage >Documento.jpg --format jpeg
  • Edite o ficheiro /etc/sane.d/saned.conf e adicione numa linha a máscara da sua sub-rede. Por exemplo, “192.168.0.1/24”.
## Access list
# A list of host names, IP addresses or IP subnets (CIDR notation) that
# are permitted to use local SANE devices. IPv6 addresses must be enclosed
# in brackets, and should always be specified in their compressed form.
#
# The hostname matching is not case-sensitive.
#scan-client.somedomain.firm
192.168.1.0/24
  • Habilite o serviço SANED para arrancar automaticamente no servidor. Este serviço é aquele vai partilhar a scanner na rede.
$ 	sudo systemctl enable saned.socket
	Created symlink from /etc/systemd/system/sockets.target.wants/saned.socket to /lib/systemd/system/saned.socket.
  • Inicie o serviço SANED.
$	sudo systemctl start saned.socket
  • No computador cliente Linux certifique-se que consta uma linha com a palavra “net” no ficheiro “/etc/sane.d/dll.conf”, e em “/etc/sane.d/net.conf” o nome ou o IP do servidor, em seguida no terminal digite o seguinte comando para definir o scanner.
# dll.conf - Configuration file for the SANE dynamic backend loader
#
# Backends can also be enabled by configuration snippets under the dll.d/
# directory -- third party backends can drop their configuration file in
# this in this directory, named after the backend.
#
# The next line enables the network backend; comment it out if you don't
# need to use a remote SANE scanner over the network -- see sane-net(5)
# and saned(8) for details.
net
# This is the net backend config file.

## net backend options
# Timeout for the initial connection to saned. This will prevent the backend
# from blocking for several minutes trying to connect to an unresponsive
# saned host (network outage, host down, ...). Value in seconds.
# connect_timeout = 60

## saned hosts
# Each line names a host to attach to.
# If you list "localhost" then your backends can be accessed either
# directly or through the net backend.  Going through the net backend
# may be necessary to access devices that need special privileges.
# localhost
printscansrv.local
$	scanimage -L
	device `net:printscansrv.local:brother3:bus6;dev1' is a Brother MFC-7320 USB scanner
  • Utilize uma aplicação de digitalização no Linux para testar.

    Peek 2023-10-22 22-17

  • Instale o programa de digitalização SANE para Windows SANEWinDS. Pode utilizar outro programa de digitalização, encontra vários na Internet, até para Android (SANEDroid).

Screenshot from 2023-10-23 09-45-49

  • Configure agora a impressora no Windows. Como o serviço CUPS utiliza o protocolo HTTP(s) configure manualmente a impressora com a URL, a informação da URL encontra-se no interface do CUPS.

Peek 2023-10-23 10-41

É ainda possivel digitalizar pela Internet com VPN no telemóvel. Ficou com alguma duvida? Se sim, comente! ;o)

© 2016 - 2025 coisas do Pedro

Powered by Hugo with theme Dream.

avatar

coisas do Pedro“Os únicos interessados em mudar o mundo são os pessimistas, porque os otimistas estão encantados com o que há...” José Saramago