Scannen funktioniert nur unter “sudo” (Ubuntu)

16

Wenn ich versuche, mithilfe von Simple-Scan zu scannen, wird auf der Benutzeroberfläche Folgendes angezeigt Failed to scan -- Unable to connect to scanner. Wenn ich es von der Kommandozeile aus starte bekomme ich:

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

Zu Ihrer Information, ich habe bereits getan:

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

Wenn ich unter laufe sudo:

joel@home:~$ sudo simple-scan

Es klappt.

Wie kann ich Simple-Scan ohne Sudo zum Laufen bringen?

JoelFan
quelle

Antworten:

7

Es besteht die sanedMöglichkeit, dass Sie nicht glauben, dass Sie eine Verbindung dazu herstellen dürfen. Weitere Informationen finden Sie im Abschnitt zu Berechtigungsproblemen im Ubuntu-Scan-Handbuch.

Fadenscheinig
quelle
2
Scheint, dass nicht alle Benutzerkonten zur Scannergruppe hinzugefügt wurden. Ich habe sudo adduser username scannerund dann müssen Sie sich abmelden und wieder anmelden, damit die Gruppenmitgliedschaft vom Betriebssystem bemerkt wird.
KayEss
Hat bei mir nicht funktioniert. Ich scheine mich zu erinnern, dass der einzige Weg, dies zu tun, die Verwendung von sudo und einer Textversion war, die kein einfacher Scan war. Werde weiter suchen
Dennis
KayEss 'Vorschlag ("sudo adduser username scanner") funktionierte für meine Raspbian-Installation.
Smashuu
5

Ich hatte ein ähnliches Problem (Ubuntu 11.04 - Natty Narwhal): Scannen als root funktioniert einwandfrei, Scannen als Benutzer - no go. scanimage -Lund hat sane-find-scannerden Scanner korrekt gefunden und identifiziert, auch wenn er als normaler Benutzer ausgeführt wird. `simple-scan -d sowohl als root als auch als normaler Benutzer zeigte nichts Nützliches in Bezug auf fehlende Gruppenrechte, fehlende Dateien oder Treiber.

Irgendwann hat dieser Link für mich funktioniert .

Die Lösung bestand darin, die folgenden Dateien zu bearbeiten:

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

Ich bin mir nicht sicher, ob beide bearbeitet werden müssen, und habe alle Änderungen wie beschrieben angewendet. Sehr wichtig: Nach der Bearbeitung neu starten.

ehw
quelle
2

Ich habe es gelöst, indem ich diese Zeile /etc/rc.local(vorher exit 0) hinzugefügt habe :

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

und Bearbeiten / Erstellen der folgenden 2 Dateien:

/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

dann neu starten.

Es funktioniert, aber ich möchte immer noch einen sichereren Weg, dies zu lösen.

JoelFan
quelle
2

Bearbeiten Sie Folgendes:

/etc/default/saned

Und ändern Sie die:

RUN_AS_USER=saned

zu

RUN_AS_USER=root

Neustart und erneut testen - dies sollte funktionieren.

fti
quelle
2
Etwas sagt mir, dass dies aus Sicherheitsgründen keine wünschenswerte Lösung ist.
Kazark
2

sudo adduser YOURNONROOTUSERNAME lp

um sicherzustellen, dass der Scanner zur Gruppe lp gehört:

Sudo Sane-Find-Scanner

USB-Scanner (Hersteller = 0x04f9, Produkt = 0x02a5) bei libusb: 001: 002 gefunden

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

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

Lavd
quelle
0

Ich hatte genau das gleiche Problem und diese Arbeit für mich und es ist so einfach. Ich habe tatsächlich von der Brother-Website kopiert, die meine Scannerprobleme gelöst hat:

  1. /lib/udev/rules.d/40-libsane.rulesDatei öffnen .

  2. Fügen Sie die folgenden zwei Zeilen am Ende der Geräteliste hinzu. (Vor der Zeile # The following rule will disable ...):

    # Brother scanners

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

Unterlegkeil CHin Li
quelle
0

Sie müssen Ihren Benutzernamen zur lp- Gruppe hinzufügen und dann neu starten (oder sudo ldconfig). Alles sollte funktionieren.

Dies funktionierte für mich, da Sie, wenn Sie lsusbdie USB-Bus-Nummer Ihres Druckers / Scanners abrufen (meine war 005) und dann ll /dev/bus/usb/005sehen, dass root der Eigentümer und lp die Gruppe ist, sowohl Lese- als auch Schreibberechtigungen haben.

user540188
quelle
wie wollen Sie add your username to the lp group ?
0

Ich hatte auch das gleiche Problem mit meinem Epson EcoTank 2500. Ich ging in das Terminal und fand die Produkt-ID mit lsusb. Für den EcoTank 2500 ist es 1105.

Dann

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

Ich habe dann mit gedit nach dieser Produkt-ID gesucht und sie nicht gefunden. Also habe ich unten hinzugefügt (ein Leerzeichen lassen und es in CAPS schreiben, damit ich weiß, dass ich es war, der es geändert hat!)

# MY EPSON ECOTANK ET-2500

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

Ich habe dann dasselbe in 40-iscan.rules gemacht (es befindet sich im selben Ordner). Schließlich habe ich neu gestartet. Hey presto .... ahhhh! Meine Arbeit hier ist getan.

Linuxli
quelle