a varredura funciona apenas em "sudo" (Ubuntu)

16

Quando tento digitalizar, usando a digitalização simples, a interface do usuário diz Failed to scan -- Unable to connect to scanner. Quando o executo a partir da linha de comando, 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

Para sua informação, eu já fiz:

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

Se eu executar em sudo:

joel@home:~$ sudo simple-scan

funciona.

Como faço para que a digitalização simples funcione sem o sudo?

JoelFan
fonte

Respostas:

7

As chances são de que sanedvocê não consiga se conectar a ele. Veja a seção Problemas de Permissões no Guia de Análise do Ubuntu para obter detalhes.

Flimzy
fonte
2
Parece que todas as contas de usuário não foram adicionadas ao grupo de scanners. Eu usei sudo adduser username scannere, em seguida, você precisa fazer logoff e logon novamente para que a participação no grupo seja notada pelo sistema operacional.
KayEss
não funcionou para mim. Parece que me lembro que a única maneira de fazer isso era usar o sudo e uma versão em texto, não uma varredura simples. Vai continuar procurando
Dennis
A sugestão do KayEss ("sudo adduser username scanner") funcionou na minha instalação do Raspbian.
Smashuu #
5

Eu tive um problema semelhante (Ubuntu 11.04 - Natty Narwhal): Digitalizar como root funciona bem, digitalizar como usuário - não é possível. scanimage -Le sane-find-scannerencontrou e identificou o scanner corretamente, mesmo quando executado como usuário normal. `simple-scan -d, tanto como usuário root quanto como usuário normal, não mostrou nada de útil em termos de grupo ausente, arquivos ou drivers ausentes.

Eventualmente, este link funcionou para mim .

A solução foi editar estes arquivos:

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

Não tendo certeza se ambos precisavam ser editados, apliquei todas as alterações conforme descrito. Muito importante: reinicie após a edição.

ehw
fonte
2

Eu o resolvi adicionando esta linha a /etc/rc.local(antes 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

depois reiniciando.

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

JoelFan
fonte
2

Edite o seguinte:

/etc/default/saned

E mude o:

RUN_AS_USER=saned

para

RUN_AS_USER=root

Reinicie e teste novamente - isso deve estar funcionando.

fti
fonte
2
Algo me diz que essa não é uma solução desejável do ponto de vista de segurança.
Kazark
2

sudo adduser YOURNONROOTUSERNAME lp

para garantir que o scanner pertence ao grupo lp :

sudo sane-find-scanner

scanner USB encontrado (fornecedor = 0x04f9, produto = 0x02a5) em libusb: 001: 002

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

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

Lavd
fonte
0

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

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

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

    # Brother scanners

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

Chock CHin Li
fonte
0

Você precisa adicionar seu nome de usuário ao grupo lp e depois reiniciar (ou sudo ldconfig). Tudo deve estar funcionando.

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

user540188
fonte
como você add your username to the lp group ?
0

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

Então

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

Em seguida, procurei o ID do produto com o gedit e não o encontrei. Então eu adicionei na parte inferior (deixando um espaço e escrevendo no CAPS para que eu saiba que fui eu quem o mudou!)

# MY EPSON ECOTANK ET-2500

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

Fiz o mesmo em 40-iscan.rules (está na mesma pasta). Finalmente, reiniciei. Hey presto .... ahhhh! O meu trabalho aqui está feito.

Linuxli
fonte