skanowanie działa tylko w trybie „sudo” (Ubuntu)

16

Gdy próbuję skanować za pomocą zwykłego skanowania, wyświetla się interfejs użytkownika Failed to scan -- Unable to connect to scanner. Po uruchomieniu z wiersza poleceń otrzymuję:

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

Do Twojej wiadomości, zrobiłem już:

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

Jeśli biegnę pod sudo:

joel@home:~$ sudo simple-scan

to działa.

Jak mogę uruchomić prosty skan bez sudo?

JoelFan
źródło

Odpowiedzi:

7

Są szanse, że sanednie uważasz, że możesz się z nim połączyć. Aby uzyskać szczegółowe informacje, zobacz sekcję Problemy dotyczące uprawnień w Podręczniku skanowania do Ubuntu.

Flimzy
źródło
2
Wydaje się, że wszystkie konta użytkowników nie są dodawane do grupy skanerów. Użyłem, sudo adduser username scannera następnie musisz się wylogować i ponownie zalogować, aby członkostwo grupy zostało zauważone przez system operacyjny.
KayEss,
Nie działało dla mnie. Wydaje mi się, że pamiętam, że jedynym sposobem na to było użycie sudo i wersji tekstowej, a nie zwykłego skanowania. Nadal będę szukał
Dennis,
Sugestia KayEss („skaner nazwy użytkownika sudo adduser”) zadziałała dla mojej instalacji Raspbian.
smashuu
5

Miałem podobny problem (Ubuntu 11.04 - Natty Narwhal): Skanowanie jako root działa dobrze, skanowanie jako użytkownik - nie ma mowy. scanimage -Loraz sane-find-scannerpoprawnie znalazł i zidentyfikował skaner, nawet jeśli jest uruchamiany jako zwykły użytkownik. `simple-scan -d zarówno jako użytkownik root, jak i zwykły użytkownik nie pokazał niczego przydatnego pod względem brakującej grupy, brakujących plików lub sterowników.

W końcu ten link zadziałał dla mnie .

Rozwiązaniem była edycja tych plików:

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

Nie jestem pewien, czy obie trzeba edytować, zastosowałem wszystkie zmiany zgodnie z opisem. Bardzo ważne: Uruchom ponownie po edycji.

ehw
źródło
2

Rozwiązałem go, dodając tę ​​linię do /etc/rc.local(przedtem exit 0):

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

oraz edycja / tworzenie następujących 2 plików:

/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

następnie uruchom ponownie.

Działa, ale nadal chciałbym bezpieczniejszego rozwiązania tego problemu.

JoelFan
źródło
2

Edytuj następujące elementy:

/etc/default/saned

I zmień:

RUN_AS_USER=saned

do

RUN_AS_USER=root

Uruchom ponownie i przetestuj ponownie - to powinno działać.

fti
źródło
2
Coś mi mówi, że nie jest to pożądane rozwiązanie z punktu widzenia bezpieczeństwa.
Kazark
2

sudo adduser YOURNONROOTUSERNAME lp

aby upewnić się, że skaner należy do grupy lp :

sudo sane-find-scanner

znaleziono skaner USB (sprzedawca = 0x04f9, produkt = 0x02a5) na libusb: 001: 002

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

crw-rw-r-- 1 root lp 189, 1 listopada 24 12:43 / dev / bus / usb / 001/002

Lavd
źródło
0

Miałem dokładnie ten sam problem i ta praca dla mnie jest tak prosta. W rzeczywistości skopiowałem z witryny Brother, która rozwiązała problemy ze skanerem:

  1. Otwórz /lib/udev/rules.d/40-libsane.rulesplik.

  2. Dodaj następujące dwa wiersze na końcu listy urządzeń. (Przed linią # The following rule will disable ...):

    # Brother scanners

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

Klin CHin Li
źródło
0

Musisz dodać swoją nazwę użytkownika do grupy LP , a następnie ponownie uruchomić (lub sudo ldconfig). Wszystko powinno działać.

To zadziałało dla mnie, ponieważ jeśli pobierzesz lsusbnumer magistrali USB drukarki / skanera (moja to 005), a następnie ll /dev/bus/usb/005zobaczysz, że root jest właścicielem, a lp jest grupą, obie mają uprawnienia do odczytu i zapisu.

użytkownik540188
źródło
jak ty add your username to the lp group ?
0

Miałem również ten sam problem z moim Epson EcoTank 2500. Poszedłem do terminala i znalazłem identyfikator produktu lsusb. W przypadku EcoTank 2500 jest to 1105.

Następnie

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

Następnie szukałem identyfikatora produktu za pomocą gedit i nie mogłem go znaleźć. Więc dodałem na dole (pozostawiając spację i pisząc ją w CAPS, więc wiem, że to ja ją zmieniłem!)

# MY EPSON ECOTANK ET-2500

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

Zrobiłem to samo w 40-iscan.rules (jest w tym samym folderze) W końcu zrestartowałem się. Hej presto .... ahhhh! Moja praca tutaj jest skończona.

Linuxli
źródło