Instalar o CUPS (gerenciador de impressão)

Instale o CUPS e habilite o serviço:
sudo apt install -y cups
sudo systemctl start cups
sudo systemctl enable cups
Adicione para seu usuário ter acesso full a impressora:
sudo usermod -aG lpadmin $USER
Localizando a impressora USB
Primeiro passo agora é localizar o caminho da impressora USB usando o comando abaixo:
lpinfo -v
Saída será mais ou menos isso:
network beh
network ipps
network socket
direct usb://EPSON/TM-T20X?serial=58355A372878660000 <---- é essa
network lpd
network ipp
direct hp
network https
network http
serial serial:/dev/ttyS4?baud=115200
serial serial:/dev/ttyS5?baud=115200
network smb
direct parallel:/dev/lp0
direct hpfax
Instalar a impressora USB no CUPS
Rode o comando com o caminho da USB para "instalar" a impressora, usando o nome que quiser (no exemplo abaixo usei apenas "epson"):
lpadmin -p epson -E -v usb://EPSON/TM-T20X?serial=58355A372878660000 -m raw
Definir como impressora padrão
lpoptions -d epson
Conferir se tá tudo certo
Listar as impressoras instaladas:
lpstat -p -d
Deve mostrar algo como:
impressora epson está inativa; habilitada desde qui 30 abr 2026 15:02:24
impressora TM-T20X está inativa; habilitada desde qui 30 abr 2026 14:15:41
destino padrão do sistema: epson
Teste e permissão
Para testar impressora, use:
echo "TESTE CUPS" | lp -d epson
Se for necessário dê permissão:
sudo chmod 666 /dev/usb/lp0
Solução de problemas
Se a impressora parar de funcionar, use esse comando
lpstat -p epsoncx02
Se retornar algo como - indica que está desativada:
impressora epsoncx02 desabilitada desde seg 05 out 2026 19:33:28 - motivo desconhecido
Consulte os erros do CUPS para ver o que está acontecendo
sudo tail -n 100 /var/log/cups/error_log
Neste caso para reativar use esse comando (primeiro habilita e o segundo aceita novos trabalhos).
Atenção: ao reativar pode começar a imprimir monte de lixo que estava na fila de impressão. Veja no próximo tópico como cancelar a fila de impressão.
cupsenable epsoncx02
cupsaccept epsoncx02
Se a impressora estiver sendo desativada automaticamente com frequência, pode ser uma falha de comunicação USB, do driver ou do backend de impressão.
Nesse caso, podemos configurar o CUPS para não desativar automaticamente a impressora quando ocorrer um erro, utilizando:
sudo lpadmin -p epsoncx02 -o printer-error-policy=retry-current-job
Fila de impressora
Cancelar fila de impressão
sudo cancel -a epsoncx02
Listar fila de impressão
lpstat -o epsoncx02
Se impressora está imprimindo códigos PostScript

1 - Impedir novos trabalhos
sudo cupsreject epsoncx02
2 - Desativar a impressora
sudo cupsdisable epsoncx02
3 - Cancelar todos os trabalhos pendentes
sudo cancel -a epsoncx02
Se a impressora continuar imprimindo depois disso, desligue-a fisicamente, aguarde alguns segundos e ligue novamente, mantendo a fila desativada.
Não reative a impressora ainda, pois precisamos identificar de onde estão vindo esses comandos.
Verificar qual driver está configurado
lpstat -v epsoncx02
lpoptions -p epsoncx02 -l
sudo grep -E '^\*(NickName|ModelName|cupsFilter)' /etc/cups/ppd/epsoncx02.ppd
O último comando pode não encontrar o arquivo se a fila utilizar uma configuração sem PPD.
Esses comandos ajudam a identificar o dispositivo e as opções do driver utilizado pelo CUPS.
Verificar os últimos trabalhos
lpstat -W completed -o epsoncx02 | tail -20
E os erros
sudo tail -n 60 /var/log/cups/error_log
Possíveis causas
Situação |
Consequência |
Driver configurado como RAW |
Dados PostScript podem chegar diretamente à impressora |
Driver PostScript incorreto |
Impressora imprime comandos como texto |
Aplicativo no Wine enviando PostScript |
O CUPS pode não estar convertendo corretamente |
Trabalhos antigos ou reenviados |
Impressão retorna após reativar a fila |
Importante: a Frente de Caixa envia comandos ESC/POS diretamente, a configuração RAW é a adequada. Entretanto, se o Wine envia documentos PostScript, será necessário utilizar um driver ou filtro capaz de convertê-los para a linguagem da impressora.