pemindaian hanya berfungsi di bawah "sudo" (Ubuntu)

16

Ketika saya mencoba memindai, menggunakan pemindaian sederhana, kata UI Failed to scan -- Unable to connect to scanner. Ketika saya menjalankannya dari baris perintah saya mendapatkan:

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, saya sudah melakukan:

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

Jika saya jalankan di bawah sudo:

joel@home:~$ sudo simple-scan

berhasil.

Bagaimana saya bisa memindai sederhana agar berfungsi tanpa sudo?

JoelFan
sumber

Jawaban:

7

Kemungkinannya adalah itu sanedtidak berpikir Anda diizinkan untuk terhubung dengannya. Lihat bagian Masalah Izin pada Cara Memindai Ubuntu untuk detailnya.

Flimzy
sumber
2
Tampaknya semua akun pengguna tidak ditambahkan ke grup pemindai. Saya menggunakan sudo adduser username scannerdan kemudian Anda harus keluar dan kembali lagi untuk keanggotaan grup agar diperhatikan oleh OS.
KayEss
Tidak bekerja untuk saya. Sepertinya saya ingat bahwa satu-satunya cara untuk melakukannya adalah menggunakan sudo dan versi teks bukan pemindaian sederhana. Will terus mencari
Dennis
Saran KayEss ("sudo adduser username scanner") berfungsi untuk pemasangan Raspbian saya.
smashuu
5

Saya memiliki masalah yang sama (Ubuntu 11.04 - Natty Narwhal): Memindai sebagai root berfungsi dengan baik, memindai sebagai pengguna - jangan pergi. scanimage -Ldan sane-find-scannermenemukan dan mengidentifikasi pemindai dengan benar, bahkan ketika dijalankan sebagai pengguna biasa. `simple-scan -d baik sebagai pengguna root dan normal tidak menunjukkan sesuatu yang berguna dalam hal hak kelompok yang hilang, file yang hilang atau driver.

Akhirnya tautan ini berhasil untuk saya .

Solusinya mengedit file-file ini:

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

Tidak yakin apakah keduanya perlu diedit, saya menerapkan semua perubahan seperti yang dijelaskan. Sangat penting: REBOOT setelah diedit.

ehw
sumber
2

Saya menyelesaikannya dengan menambahkan baris ini ke /etc/rc.local(sebelum exit 0):

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

dan mengedit / membuat 2 file berikut:

/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

lalu reboot.

Ini bekerja, tetapi saya masih ingin cara yang lebih aman untuk menyelesaikan ini.

JoelFan
sumber
2

Edit yang berikut ini:

/etc/default/saned

Dan ubah:

RUN_AS_USER=saned

untuk

RUN_AS_USER=root

Mulai ulang dan uji lagi - ini seharusnya bisa.

fti
sumber
2
Sesuatu memberi tahu saya ini bukan solusi yang diinginkan dari sudut pandang keamanan.
Kazark
2

sudo adduser YOURNONROOTUSERNAME lp

untuk memastikan pemindai milik grup lp :

sudo sane-find-scanner

menemukan pemindai USB (vendor = 0x04f9, produk = 0x02a5) di libusb: 001: 002

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
sumber
0

Saya memiliki masalah yang sama persis dan ini bekerja untuk saya dan sesederhana itu. Saya sebenarnya menyalin dari Situs Web Brother yang memecahkan masalah pemindai saya:

  1. Buka /lib/udev/rules.d/40-libsane.rulesfile.

  2. Tambahkan dua baris berikut ke akhir daftar perangkat. (Sebelum baris # The following rule will disable ...):

    # Brother scanners

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

Chock CHin Li
sumber
0

Anda perlu menambahkan nama pengguna Anda ke grup lp dan kemudian reboot (atau sudo ldconfig). Semuanya harus berfungsi.

Ini bekerja untuk saya karena jika Anda menjalankan lsusbuntuk mengambil nomor bus USB printer / pemindai Anda (milik saya 005) dan kemudian ll /dev/bus/usb/005Anda akan melihat bahwa root adalah pemilik dan lp adalah grup, keduanya memiliki izin baca dan tulis.

pengguna540188
sumber
bagaimana Anda add your username to the lp group ?
0

Saya juga memiliki masalah yang sama dengan Epson EcoTank 2500 saya. Saya pergi ke terminal dan menemukan id produk lsusb. Untuk EcoTank 2500 adalah 1105.

Kemudian

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

Saya kemudian mencari id produk itu dengan gedit dan tidak dapat menemukannya. Jadi saya menambahkan ke bagian bawah (meninggalkan spasi dan menulisnya di CAPS jadi saya tahu bahwa saya yang mengubahnya!)

# MY EPSON ECOTANK ET-2500

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

Saya kemudian melakukan hal yang sama di 40-iscan.rules (ada di folder yang sama) Akhirnya saya reboot. Hai, presto .... ahhhh! Pekerjaan saya di sini selesai.

Linuxli
sumber