Linux에서의 USB 프린터 권한
증상: 검색하면 프린터가 나타나는데, 인쇄하면 접근 또는 권한 오류로 실패합니다.
왜 이런 일이 생기나요
Linux에서 USB 장치는 규칙으로 따로 지정하지 않는 한 root 소유이므로, 사용자 권한으로 실행되는 앱은 장치를 열 수 없습니다. 커널의 프린터 드라이버가 이미 장치를 점유했을 수도 있습니다.
이렇게 하세요
-
프린터의 벤더 ID와 제품 ID를 확인합니다.
lsusb프린터에 해당하는 줄을 찾으세요 — ID는
ID뒤에 오는 네 자리 값 두 개입니다. 예:04b8:0e28. -
아래 ID를 사용 중인 값으로 바꿔 규칙 파일을 만듭니다.
sudo tee /etc/udev/rules.d/99-receipt-printer.rules <<'RULE'SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0e28", MODE="0666"RULE -
규칙을 다시 읽어 적용합니다.
sudo udevadm control --reload-rules && sudo udevadm trigger -
프린터를 뽑았다가 다시 꽂고 앱을 재시작합니다. 그리고 테스트 페이지를 인쇄합니다.
앱은 sudo가 아니라 평소 사용하는 사용자 계정으로 실행하세요 — root에서만 작동하는 규칙은 의미가 없습니다.
그래도 안 되나요?
문제 화면에서 설정 보고서 복사를 눌러 프린터의 lsusb 줄과 함께 메시지에 붙여 넣으세요.