Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Adicionando impressoras no Gentoo de forma automática ou manual.
Introdução
Obs.: artigo feito com Gentoo + Systemd. Não contempla OpenRC.
Distribuições como Linux Mint detectam impressoras de rede automaticamente assim que o sistema inicia. No Gentoo, esse comportamento não vem ativado por padrão, mas pode ser configurado usando CUPS + Avahi + cups-browsed.
Nesta artigo veremos:
No Gentoo, esses componentes existem, mas precisam ser ativados manualmente.
Se não tiver, basta criar:
Para conferir:
O
Não é erro. É automação.
Descobrir os destinos:
Exemplo:
Apagar filas automáticas:
Criar a impressora fixa por IP (IPP recomendado):
Definir como padrão:
Testar:
Permissão:
Execução:
Ou, para um teste ainda mais simples:
É isso!
Distribuições como Linux Mint detectam impressoras de rede automaticamente assim que o sistema inicia. No Gentoo, esse comportamento não vem ativado por padrão, mas pode ser configurado usando CUPS + Avahi + cups-browsed.
Nesta artigo veremos:
- Como configurar o Gentoo para detectar impressoras automaticamente
- Por que surgem várias impressoras duplicadas
- Como fixar apenas uma impressora específica por IP
- Um script que faz essas coisas automaticamente
Como o Mint faz (e o Gentoo não)
O Mint usa:- CUPS → sistema de impressão
- Avahi → descoberta mDNS (Bonjour)
- cups-browsed → cria filas automaticamente
- IPP Everywhere → driver genérico moderno
No Gentoo, esses componentes existem, mas precisam ser ativados manualmente.
USE flags necessárias (Gentoo)
Adicione as flag. Exemplo:cat /etc/portage/package.use/cups
net-print/cups avahi zeroconf dbus ssl
net-print/cups-filters zeroconf
net-dns/avahi dbus
net-print/cups-filters zeroconf
net-dns/avahi dbus
Se não tiver, basta criar:
mkdir -p /etc/portage/package.use
nano /etc/portage/package.use/cups
Instalar os pacotes
Instale:emerge --ask \
net-print/cups \
net-print/cups-filters \
net-print/cups-browsed \
net-dns/avahi
net-print/cups \
net-print/cups-filters \
net-print/cups-browsed \
net-dns/avahi
Habilitar os serviços
Habilite-os:systemctl enable --now cups.service
systemctl enable --now avahi-daemon.service
systemctl enable --now cups-browsed.service
Resultado
- Impressoras de rede aparecem automaticamente
- Drivers são escolhidos automaticamente (IPP Everywhere)
- Mesmo comportamento do Linux Mint
Para conferir:
lpstat -e
Por que aparecem várias impressoras com nomes estranhos?
Uma única impressora pode anunciar vários serviços:- IPP
- IPPS
- DNS-SD
- UUIDs diferentes
O
cups-browsed cria uma fila para cada anúncio.
Não é erro. É automação.
Como fixar UMA impressora específica por IP
Se você souber o IP, este é o método mais limpo e direto.Descobrir os destinos:
lpinfo -v
Exemplo:
network lpd://130.165.1.53:515/PASSTHRU
network ipp://130.165.1.53/ipp/print
Apagar filas automáticas:
lpstat -p | awk '{print $2}' | xargs -n1 lpadmin -x
Criar a impressora fixa por IP (IPP recomendado):
lpadmin \
-p Epson_WF_M5899 \
-E \
-v ipp://130.165.1.53/ipp/print \
-m everywhere
-p Epson_WF_M5899 \
-E \
-v ipp://130.165.1.53/ipp/print \
-m everywhere
Definir como padrão:
lpadmin -d Epson_WF_M5899
Testar:
lp /etc/services
Evitar que as duplicatas voltem (opcional)
Se quiser somente a impressora fixa:systemctl disable --now cups-browsed.service
Script Bash interativo (automático + IP fixo)
Salve comocups-auto-gentoo.sh:
#!/bin/bash
echo "=== Configuração de Impressoras no Gentoo ==="
echo "1) Configurar detecção automática (tipo Mint)"
echo "2) Configurar impressora fixa por IP"
read -rp "Escolha uma opção [1/2]: " OP
if [[ "$OP" == "1" ]]; then
echo "Ativando modo automático..."
systemctl enable --now cups.service avahi-daemon.service cups-browsed.service
echo "Impressoras detectadas:"
lpstat -e
exit 0
fi
if [[ "$OP" == "2" ]]; then
read -rp "Nome da impressora (ex: Epson_IP): " NAME
read -rp "IP da impressora: " IP
echo "Removendo filas existentes..."
lpstat -p | awk '{print $2}' | xargs -r -n1 lpadmin -x
echo "Criando impressora fixa via IPP..."
lpadmin -p "$NAME" -E -v "ipp://$IP/ipp/print" -m everywhere
lpadmin -d "$NAME"
echo "Desativando auto-descoberta..."
systemctl disable --now cups-browsed.service
echo "Configuração concluída."
lpstat -t
fi
Permissão:
chmod +x cups-auto-gentoo.sh
Execução:
sudo ./cups-auto-gentoo.sh
Teste rápido de impressão
Para testar a impressora:lp /usr/share/cups/data/testprint
Ou, para um teste ainda mais simples:
echo "Teste de impressão OK" | lp
É isso!