USB printer permissions on Linux
Symptom: the printer shows up when you scan, but printing fails with an access or permission error.
Why it happens
On Linux a USB device belongs to root unless a rule says otherwise, so an app running as you cannot open it. The kernel's own printer driver may also have claimed the device already.
Do this
-
Find the printer's vendor and product ids:
lsusbLook for your printer's line — the ids are the two four-character values after
ID, for example04b8:0e28. -
Create a rule file, replacing the ids with yours:
sudo tee /etc/udev/rules.d/99-receipt-printer.rules <<'RULE'SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0e28", MODE="0666"RULE -
Reload the rules and re-apply them:
sudo udevadm control --reload-rules && sudo udevadm trigger -
Unplug the printer, plug it back in, and restart the app. Print a test page.
Run the app as your normal user, not with sudo — a rule that works only for root defeats the point.
Still stuck?
Use Copy setup report on the trouble screen and paste it into your message, along with the lsusb line for your printer.