сканування працює лише в режимі "sudo" (Ubuntu)


16

Коли я намагаюся сканувати, використовуючи простий сканування, говорить інтерфейс користувача Failed to scan -- Unable to connect to scanner. Коли я запускаю його з командного рядка, я отримую:

joel@home:/usr/bin$ simple-scan -d
** (simple-scan:6554): DEBUG: Starting Simple Scan 2.32.0.1, PID=6554
** (simple-scan:6554): DEBUG: Restoring window to 600x400 pixels
** (simple-scan:6554): DEBUG: sane_init () -> SANE_STATUS_GOOD
** (simple-scan:6554): DEBUG: SANE version 1.0.22
** (simple-scan:6554): DEBUG: Requesting redetection of scan devices
** (simple-scan:6554): DEBUG: Processing request
** (simple-scan:6554): DEBUG: Requesting scan at 300 dpi from device '(null)'
** (simple-scan:6554): DEBUG: scanner_scan ("(null)", 300, SCAN_SINGLE)
** (simple-scan:6554): DEBUG: sane_get_devices () -> SANE_STATUS_GOOD
** (simple-scan:6554): DEBUG: Device: name="brother2:bus4;dev1" vendor="Brother" model="MFC-210C" type="USB scanner"
** (simple-scan:6554): DEBUG: Processing request
** (simple-scan:6554): DEBUG: sane_open ("brother2:bus4;dev1") -> SANE_STATUS_IO_ERROR

** (simple-scan:6554): WARNING **: Unable to get open device: Error during device I/O

FYI, я вже зробив:

joel@home:~$ sudo chmod a+rwx /dev/bus/usb
joel@home:~$ sudo chmod a+rwx /dev/bus/usb/*

Якщо я біжу під sudo:

joel@home:~$ sudo simple-scan

це працює.

Як я можу змусити просто сканування працювати без судо?

Відповіді:


7

Швидше за все, sanedце не вважає, що вам дозволено підключатися до нього. Докладніше див. Розділ " Проблеми дозволів" розділу "Сканування сканування Ubuntu".


2
Здається, що всі облікові записи користувачів не додані до групи сканерів. Я використав, sudo adduser username scannerі тоді вам потрібно вийти з системи та знову знову, щоб членство в групі було помічене ОС.
KayEss

Не працювали для мене. Здається, я пам’ятаю, що єдиним способом це було використання судо та текстової версії, а не просто сканування. Будемо продовжувати шукати
Денніс

Пропозиція KayEss ("сканер імені користувача sudo adduser") працювала для моєї установки Raspbian.
smashuu

5

У мене була подібна проблема (Ubuntu 11.04 - Natty Narwhal): Сканування як кореневий працює добре, сканування як користувач - не йде. scanimage -Lі sane-find-scannerвиявив і ідентифікував сканер правильно, навіть коли він працює як звичайний користувач. `simple-scan -d, як root, так і звичайний користувач не показали нічого корисного з точки зору відсутності права групи, відсутніх файлів або драйверів.

Врешті-решт це посилання працювало для мене .

Рішенням було редагування цих файлів:

  • /lib/udev/rules.d/40-libsane.rules
  • /etc/udev/rules.d/55-libsane.rules

Не впевнений, чи потрібно редагувати обидва, я застосував усі зміни, як описано. Дуже важливо: перезавантажтесь після редагування.


2

Я вирішив це, додавши цей рядок до /etc/rc.local(раніше exit 0):

chmod -R a+w /dev/bus/usb

та редагування / створення наступних 2 файлів:

/etc/xinetd.d/saned:

service saned 
{
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = root
group = root
wait = no
disable = no
}

/etc/default/saned:

# Defaults for the saned initscript, from sane-utils

# Set to yes to start saned
RUN=yes

# Set to the user saned should run as
RUN_AS_USER=root

потім перезавантаження.

Це працює, але я все одно хотів би більш безпечний спосіб вирішити це.


2

Відредагуйте наступне:

/etc/default/saned

І змінити:

RUN_AS_USER=saned

до

RUN_AS_USER=root

Перезавантажте і протестуйте ще раз - це має працювати.


2
Щось підказує мені, що це не є бажаним рішенням з точки зору безпеки.
Казарк

2

sudo adduser YOURNONROOTUSERNAME lp

щоб переконатися, що сканер належить до групи lp :

sudo sane-find-scanner

знайдено USB-сканер (постачальник = 0x04f9, продукт = 0x02a5) в libusb: 001: 002

ls -al / dev / bus / usb / 001/002

crw-rw-r-- 1 корінь lp 189, 1 листопада 24 12:43 / dev / bus / usb / 001/002


0

У мене була точно така ж проблема, і ця робота для мене, і це так просто. Я фактично скопіював з веб-сайту Brother, який вирішив проблеми зі сканером:

  1. Відкрити /lib/udev/rules.d/40-libsane.rulesфайл.

  2. Додайте наступні два рядки до кінця списку пристроїв. (Перед рядком # The following rule will disable ...):

    # Brother scanners

    ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"


0

Вам потрібно додати своє ім’я користувача до групи lp, а потім перезавантажити (або sudo ldconfig). Все повинно працювати.

Це працювало для мене, тому що якщо ви запустите, lsusbщоб забрати номер шини USB вашого принтера / сканера (мій був 005), і тоді ll /dev/bus/usb/005ви побачите, що root є власником, а lp - групою, обидва мають доступ до читання та запису.


як вам add your username to the lp group ?

0

У мене також була така ж проблема з моїм Epson EcoTank 2500. Я зайшов у термінал і знайшов ідентифікатор продукту lsusb. Для EcoTank 2500 це 1105.

Потім

Open /lib/udev/rules.d/40-libsane.rules file.

Потім я шукав ідентифікатор продукту з gedit і не зміг його знайти. Тому я додав на дно (залишивши пробіл і записавши його в CAPS, щоб я знав, що саме я змінив його!)

# MY EPSON ECOTANK ET-2500

ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="1105", ENV{libsane_matched}="yes"

Потім я зробив те ж саме в 40-iscan.rules (це в тій же папці) Нарешті я перезавантажився. Гей престо .... а-а-а! Моя робота тут зроблена.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.