주 콘텐츠로 건너뛰기
버전: 1.x

Linux에서의 USB 프린터 권한

증상: 검색하면 프린터가 나타나는데, 인쇄하면 접근 또는 권한 오류로 실패합니다.

왜 이런 일이 생기나요

Linux에서 USB 장치는 규칙으로 따로 지정하지 않는 한 root 소유이므로, 사용자 권한으로 실행되는 앱은 장치를 열 수 없습니다. 커널의 프린터 드라이버가 이미 장치를 점유했을 수도 있습니다.

이렇게 하세요

  1. 프린터의 벤더 ID와 제품 ID를 확인합니다.

    lsusb

    프린터에 해당하는 줄을 찾으세요 — ID는 ID 뒤에 오는 네 자리 값 두 개입니다. 예: 04b8:0e28.

  2. 아래 ID를 사용 중인 값으로 바꿔 규칙 파일을 만듭니다.

    sudo tee /etc/udev/rules.d/99-receipt-printer.rules <<'RULE'
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0e28", MODE="0666"
    RULE
  3. 규칙을 다시 읽어 적용합니다.

    sudo udevadm control --reload-rules && sudo udevadm trigger
  4. 프린터를 뽑았다가 다시 꽂고 앱을 재시작합니다. 그리고 테스트 페이지를 인쇄합니다.

앱은 sudo가 아니라 평소 사용하는 사용자 계정으로 실행하세요 — root에서만 작동하는 규칙은 의미가 없습니다.

그래도 안 되나요?

문제 화면에서 설정 보고서 복사를 눌러 프린터의 lsusb 줄과 함께 메시지에 붙여 넣으세요.