スキャンは「sudo」(Ubuntu)でのみ機能します


16

シンプルスキャンを使用してスキャンしようとすると、UIに表示されますFailed to scan -- Unable to connect to scanner。コマンドラインから実行すると、次のようになります。

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

参考までに、私はすでにやった:

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

下で実行する場合sudo

joel@home:~$ sudo simple-scan

できます。

どうすればsudoなしでシンプルスキャンを機能させることができますか?

回答:


7

saned接続することを許可されていないと思われる可能性があります。詳細については、Ubuntu Scanning How-to のPermissions Issuesセクションを参照してください。


2
すべてのユーザーアカウントがスキャナーグループに追加されていないようです。使用sudo adduser username scannerした後、グループメンバーシップがOSによって認識されるようにするには、ログオフして再度ログインする必要があります。
KayEss

うまくいかなかった。私はそれを行う唯一の方法はsudoと単純なスキャンではなくテキストバージョンを使用したことを覚えているようです。探し続ける
デニス

KayEssの提案( "sudo adduser username scanner")は、Raspbianのインストールで機能しました。
smashuu

5

同様の問題がありました(Ubuntu 11.04-Natty Narwhal):rootとしてのスキャンは正常に機能し、ユーザーとしてスキャンします-いいえ。scanimage -Lそしてsane-find-scanner、通常のユーザーとして実行しても、発見され、正しくスキャナを同定しました。ルートおよび通常のユーザーとしての `simple-scan -dは、グループの権利、ファイル、またはドライバーの欠落という点で有用なものを何も表示しませんでした。

最終的にこのリンクは私のために働いた

ソリューションはこれらのファイルを編集していました:

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

両方の編集が必要かどうかわからないので、説明どおりにすべての変更を適用しました。非常に重要:編集後の再起動。


2

この行を/etc/rc.local(の前にexit 0)追加して解決しました:

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

次の2つのファイルを編集/作成します。

/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

その後再起動します。

それは機能していますが、私はまだこれを解決するより安全な方法が欲しいです。


2

以下を編集します。

/etc/default/saned

変更します:

RUN_AS_USER=saned

RUN_AS_USER=root

再起動して再度テストします-これは動作するはずです。


2
これは、セキュリティの観点から望ましいソリューションではないことを教えてくれます。
カザーク14

2

sudo adduser YOURNONROOTUSERNAME lp

スキャナーがlpグループに属していることを確認するには:

sudo sane-find-scanner

libusbにUSBスキャナー(vendor = 0x04f9、product = 0x02a5)が見つかりました: 001:002

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

crw-rw-r-- 1ルートlp 189、1 Nov 24 12:43 / dev / bus / usb / 001/002


0

私はまったく同じ問題を抱えており、これは私にとってはうまくいきました。それはそれと同じくらい簡単です。私は実際にブラザーのウェブサイトからコピーして、スキャナーの問題を解決しました。

  1. /lib/udev/rules.d/40-libsane.rulesファイルを開きます。

  2. デバイスリストの最後に次の2行を追加します。(行の前# The following rule will disable ...):

    # Brother scanners

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


0

ユーザー名をlpグループに追加してから再起動(またはsudo ldconfig)する必要があります。すべてが機能するはずです。

lsusbプリンター/スキャナーのUSBバス番号を取得するために実行した場合(私の場合は005)、ルートが所有者であり、lpがグループであり、両方とも読み取りおよび書き込み権限を持っているll /dev/bus/usb/005ことがわかります。


お元気ですかadd your username to the lp group

0

Epson EcoTank 2500でも同じ問題が発生しましたlsusb。ターミナルに行き、製品IDを見つけました。EcoTank 2500の場合は1105です。

それから

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

次に、geditでその製品IDを検索しましたが、見つかりませんでした。だから、私は一番下に追加しました(スペースを残して、CAPSでそれを書いたので、それがそれを変えたのは私だとわかります!)

# MY EPSON ECOTANK ET-2500

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

その後、40-iscan.rulesで同じことを行いました(同じフォルダーにあります)最後にリブートしました。おいおい…。ここで私の仕事は終わりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.