scanning só funciona em sudo (Ubuntu)

15

Quando tento digitalizar, usando a digitalização simples, a interface do usuário diz Failed to scan -- Unable to connect to scanner . Quando eu corro da linha de comando eu recebo:

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, eu já fiz:

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

Se eu correr abaixo de sudo :

joel@home:~$ sudo simple-scan

funciona.

Como posso fazer o scan simples funcionar sem o sudo?

    
por JoelFan 17.06.2011 / 02:54

8 respostas

7

As chances são de que saned não acha que você tem permissão para se conectar a ele. Veja a seção Permissões do Guia de Exploração do Ubuntu para detalhes.

    
por 17.06.2011 / 03:03
5

Eu tive um problema semelhante (Ubuntu 11.04 - Natty Narwhal): Digitalizar como root funciona bem, digitalizar como usuário - não ir. scanimage -L e sane-find-scanner encontraram e identificaram o scanner corretamente, mesmo quando executados como usuário normal. 'simple-scan -d ambos como usuário root e normal não mostraram nada útil em termos de falta de arquivos, drivers ou arquivos ausentes.

Eventualmente esse link funcionou para mim .

A solução estava editando esses arquivos:

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

Não tenho certeza se ambos precisavam ser editados, apliquei todas as alterações descritas. Muito importante: REINICIE-SE após a edição.

    
por 30.11.2011 / 09:12
2

Edite o seguinte:

/etc/default/saned

E mude o texto:

RUN_AS_USER=saned

para

RUN_AS_USER=root

Reinicie e teste novamente - isso deve estar funcionando.

    
por 17.03.2013 / 20:41
1

Eu resolvi adicionando esta linha a /etc/rc.local (antes de exit 0 ):

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

e editando / criando os 2 arquivos a seguir:

/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

em seguida, reinicializar.

Está funcionando, mas eu ainda gostaria de uma maneira mais segura de resolver isso.

    
por 17.06.2011 / 13:55
1

Você precisa adicionar seu nome de usuário ao grupo lp e, em seguida, reinicializar (ou sudo ldconfig ). Tudo deveria estar funcionando.

Isso funcionou para mim porque se você executar lsusb para pegar o número do barramento USB da sua impressora / scanner (o meu era 005) e então ll /dev/bus/usb/005 você verá que root é o proprietário e lp é o grupo, ambos têm permissões de leitura e gravação.

    
por 02.01.2016 / 20:42
1

sudo adduser YOURNONROOTUSERNAME lp

para garantir que o scanner pertence ao grupo lp :

sudo sane-find-scanner

found USB scanner (vendor=0x04f9, product=0x02a5) at 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

    
por 24.11.2017 / 19:04
0

Eu tive exatamente o mesmo problema e esse trabalho para mim e é tão simples quanto isso. Na verdade, eu copiei do site da Brother que resolveu meus problemas de scanner:

  1. Abra o arquivo /lib/udev/rules.d/40-libsane.rules .

  2. Adicione as duas linhas seguintes ao final da lista de dispositivos. (Antes da linha # The following rule will disable ... ):

    # Brother scanners

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

por 28.04.2015 / 13:58
0

Eu também tive o mesmo problema com o meu Epson EcoTank 2500. Entrei no terminal e encontrei o ID do produto com lsusb . Para o EcoTank 2500 é 1105.

Então

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

Eu procurei por esse id de produto com o gedit e não consegui encontrá-lo. Então eu adicionei no fundo (deixando um espaço e escrevendo no CAPS, então eu sei que fui eu quem mudou isso!)

# MY EPSON ECOTANK ET-2500

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

Eu fiz o mesmo em 40-iscan.rules (está na mesma pasta) Finalmente eu reiniciei. Hey presto .... ahhhh! Meu trabalho aqui está feito.

    
por 26.02.2017 / 08:09