Autorizzazioni per stampanti USB su Linux
Sintomo: la stampante compare durante la ricerca, ma la stampa fallisce con un errore di accesso o di autorizzazione.
Perché succede
Su Linux un dispositivo USB appartiene a root a meno che una regola non dica diversamente, quindi un'app in esecuzione con il tuo utente non può aprirlo. Anche il driver di stampa del kernel potrebbe aver già preso possesso del dispositivo.
Cosa fare
-
Individua gli id di produttore e prodotto della stampante:
lsusbCerca la riga della tua stampante: gli id sono i due valori di quattro caratteri dopo
ID, per esempio04b8:0e28. -
Crea un file di regole, sostituendo gli id con i tuoi:
sudo tee /etc/udev/rules.d/99-receipt-printer.rules <<'RULE'SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0e28", MODE="0666"RULE -
Ricarica le regole e riapplicale:
sudo udevadm control --reload-rules && sudo udevadm trigger -
Scollega la stampante, ricollegala e riavvia l'app. Stampa una pagina di prova.
Esegui l'app con il tuo utente normale, non con sudo: una regola che funziona solo per root vanifica lo scopo.
Ancora bloccato?
Usa Copia il report di configurazione nella schermata di problema e incollalo nel tuo messaggio, insieme alla riga di lsusb relativa alla tua stampante.