web-dev-qa-db-ja.com

「Iscan」はrootとしてのみ実行されます

Ubuntu 12.04にアップグレードし、「iscan」を実行したいと思います(以前に行ったように、パッケージを更新しました)。 iscanを通常のユーザーとして実行すると、次のように表示されます。

"COuld not send command to scanner".

しかし、「Sudo iscan」を実行すると、すべて正常で、iscanのウィンドウが開きます。

Rootにならずにiscanを実行するように修正するにはどうすればよいですか?

ありがとうございました、

PS:私は「スキャナー」グループに属しています

2
Pierre

これは非常に遅い可能性があることはわかっていますが、EPSONスキャナーで同じ問題が発生しました。問題は多面的です。

正気なパッケージは大幅に変更されました。 libの場所が変更されます。

パッケージがlibsを間違った場所にインストールしたかどうかを確認するには、dpkg -Lを使用する必要があります。例えば ​​/usr/lib/sane。これが当てはまる場合は、その場所にcdします。

# ln -sfr /usr/lib/sane/libsane-epkowa* /usr/lib/x86_64-linux-gnu/sane

Poのスキャナーはまだrootの下で動作しているため、この問題は発生しないはずです。

新しいubuntuはスキャナーポリシーを更新しました。

スキャナーを使用するには、ユーザーはsanedおよびscannerグループに属している必要があります。ただし、これらのグループに自分を追加するだけでは十分ではありません。スキャナーは、スキャナーグループによって適切に所有されている必要があります。それ以外の場合、デバイスの権限をモード777に変更しても、スキャナーを使用するにはrootが必要です。これは、ホットプラグイン中にスキャナーのグループを自動的に変更する方法です。

デバイスのルールを作成する

/etc/udev/rules.d $ cat 80-scanner.rules 
# change device EPSON owner group
ATTRS{manufacturer}=="EPSON", DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0142", GROUP="scanner"

ルールをテストする

使用する udevadm control –reloadをクリックしてルールをロードします。 lsusbを使用してデバイスの/ devパスを見つけ、ルールが機能しているかどうかを確認します。次のコマンドでテストします。

# udevadm test $(udevadm info -q path -n /dev/bus/usb/<bus>/<device>) 2>&1 | grep -i group --color

ルールが正しければ、グループがルートからスキャナーに変更されているはずです。

最後に、スキャナーを取り外して再接続します。次に、Sudoを使用せずにコマンドを実行してみます

$ sane-find-scanner
$ scanimage -L

スキャナーは正しく機能するはずです

1
Wang

たぶん、sanedgroupに加えてください。

Sudo adduser [YOU] saned
Sudo adduser [YOU] scanner 
1
grtz