「SANE」の版間の差分
細 (1版 をインポートしました) |
|||
1行目: | 1行目: | ||
[[Category:イメージング]] |
[[Category:イメージング]] |
||
− | [[en: |
+ | [[en:SANE]] |
− | [[es: |
+ | [[es:SANE]] |
[[fr:Sane]] |
[[fr:Sane]] |
||
− | [[it: |
+ | [[it:SANE]] |
− | [[zh- |
+ | [[zh-cn:SANE]] |
{{Related articles start}} |
{{Related articles start}} |
||
− | {{Related3|User:Cchabanois/Scan print and save Script|Scan print and save Script}} |
||
{{Related4|Scanner Button Daemon}} |
{{Related4|Scanner Button Daemon}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
14行目: | 13行目: | ||
== インストール == |
== インストール == |
||
− | [[ |
+ | [[公式リポジトリ]]から {{Pkg|sane}} を[[pacman|インストール]]してください。 |
== 設定 == |
== 設定 == |
||
25行目: | 24行目: | ||
=== HP 製品 === |
=== HP 製品 === |
||
− | HP のハードウェアを動かすには[[ |
+ | HP のハードウェアを動かすには[[公式リポジトリ]]から {{Pkg|hplip}} をインストールしたり [[Arch User Repository|AUR]] から {{AUR|hpoj}} をインストールする必要があるかもしれません。 |
* {{ic|/etc/sane.d/dll.conf}} に {{Ic|hpaio}} や {{Ic|hpoj}} を追加(アンコメント)する。 |
* {{ic|/etc/sane.d/dll.conf}} に {{Ic|hpaio}} や {{Ic|hpoj}} を追加(アンコメント)する。 |
||
31行目: | 30行目: | ||
* {{Ic|hp-plugin}} は 'HPLIP Plugin Download and Install Utility' です。 |
* {{Ic|hp-plugin}} は 'HPLIP Plugin Download and Install Utility' です。 |
||
* {{Ic|hp-scan}} は 'HPLIP Scan Utility' です。 |
* {{Ic|hp-scan}} は 'HPLIP Scan Utility' です。 |
||
− | Hewlett-Packard の OfficeJet, PSC, LaserJet, PhotoSmart プリンター複合機を動かすには、root で {{ic|ptal-init setup}} を実行して指示に従って下さい。その後 '''ptal-init''' [[ |
+ | Hewlett-Packard の OfficeJet, PSC, LaserJet, PhotoSmart プリンター複合機を動かすには、root で {{ic|ptal-init setup}} を実行して指示に従って下さい。その後 '''ptal-init''' [[デーモン]]を起動してください。 |
=== Brother 製品 === |
=== Brother 製品 === |
||
97行目: | 96行目: | ||
==フロントエンドのインストール== |
==フロントエンドのインストール== |
||
− | XSane は Sane の GTK ベースのフロントエンドを提供します。XSane は[[ |
+ | XSane は Sane の GTK ベースのフロントエンドを提供します。XSane は[[公式リポジトリ]]にある {{Pkg|xsane}} パッケージから[[pacman|インストール]]可能です。 |
{{Note|16ビット色深度モードで Xsane を使って直接 pdf に出力すると[https://bugs.launchpad.net/ubuntu/+source/xsane/+bug/539162 ファイルが壊れる]既知のバグがあります。8ビットモードで動作させて下さい。}} |
{{Note|16ビット色深度モードで Xsane を使って直接 pdf に出力すると[https://bugs.launchpad.net/ubuntu/+source/xsane/+bug/539162 ファイルが壊れる]既知のバグがあります。8ビットモードで動作させて下さい。}} |
||
117行目: | 116行目: | ||
{{ic|nf_conntrack_sane}} モジュールを iptables に加えてファイアウォールが saned の接続を記録するようにしてください。 |
{{ic|nf_conntrack_sane}} モジュールを iptables に加えてファイアウォールが saned の接続を記録するようにしてください。 |
||
− | [[ |
+ | [[公式リポジトリ]]から {{Pkg|xinetd}} を[[pacman|インストール]]してください。 |
次に、{{ic|/etc/xinetd.d/sane}} という名のファイルが存在しているのを確認して disabled を no に設定します: |
次に、{{ic|/etc/xinetd.d/sane}} という名のファイルが存在しているのを確認して disabled を no に設定します: |
||
134行目: | 133行目: | ||
sane-port 6566/tcp |
sane-port 6566/tcp |
||
− | '''xinetd''' [[ |
+ | '''xinetd''' [[デーモン]]を起動してください。 |
LAN を介して、他のワークステーションからスキャナーが使えるようになったはずです。 |
LAN を介して、他のワークステーションからスキャナーが使えるようになったはずです。 |
||
141行目: | 140行目: | ||
リモートの Arch Linux ワークステーションからネットワークが有効になったスキャナーにアクセスすることができます。 |
リモートの Arch Linux ワークステーションからネットワークが有効になったスキャナーにアクセスすることができます。 |
||
− | ワークステーションをセットアップするため、まず[[ |
+ | ワークステーションをセットアップするため、まず[[公式リポジトリ]]から {{Pkg|xsane}} を[[pacman|インストール]]してください。 |
次に、{{ic|/etc/sane.d/net.conf}} ファイルにサーバーのホストネームか IP アドレスを明示します: |
次に、{{ic|/etc/sane.d/net.conf}} ファイルにサーバーのホストネームか IP アドレスを明示します: |
||
202行目: | 201行目: | ||
HP のオールインワンモデル (e.g., PSC 1315 や PSC 2355) で有効なことが報告されています。 |
HP のオールインワンモデル (e.g., PSC 1315 や PSC 2355) で有効なことが報告されています。 |
||
+ | USB デバイスのパーミッションを変更することもできますが、推奨されません。Udev ルールを修正してスキャナが認識されるようにするほうが良いでしょう。 |
||
− | You can also try to change permissions of usb device but this is not recommended, a better solution is to fix the Udev rules so that your scanner is recognized. |
||
+ | まず、root で、{{ic|lsusb}} で接続されている usb デバイスを確認: |
||
− | Example: |
||
− | |||
− | First, as root, check connected usb devices with {{ic|lsusb}}: |
||
#Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub |
#Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub |
||
#Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub |
#Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub |
||
218行目: | 215行目: | ||
#Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
#Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
||
− | + | 上記の例の場合スキャナは: {{ic|Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard}}。{{ic|03f0}} が ''vendorID'' で {{ic|2504}} が ''productID'' です。 |
|
+ | {{ic|/usr/lib/udev/rules.d/49-sane.rules}} を開いて、あなたのスキャナの vendorID と productID が書かれた行が存在するか確認してください。存在しない場合、新しいファイル {{ic|/etc/udev/rules.d/49-sane-missing-scanner.rules}} を以下の内容で作成します: |
||
− | Now edit {{ic|/usr/lib/udev/rules.d/49-sane.rules}} and look for the first part of the ID number found previously and check if there is a line that also reports the second part of the number (model numer), in this example 2504. If not found change or copy a line and enter the idVendor and idProduct of your scanner, in this example it would be: |
||
+ | ATTRS{idVendor}=="'''vendorID'''", ATTRS{idProduct}=="'''productID'''", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes" |
||
+ | ファイルを保存したら、スキャナを一度切断してから再接続すればファイルのパーミッションが正しく設定されているはずです。 |
||
− | # Hewlett-Packard ScanJet 4100C |
||
− | ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2504", MODE="0664", GROUP="scanner", |
||
− | ENV{libsane_matched}="yes" |
||
+ | デバイス (スキャナ) をバックエンドファイルに追加することもできます: |
||
− | Save the file, plug out and back in your scanner and the file permissions should be now correct. |
||
+ | {{ic|usb 0x03f0 0x2504}} を {{ic|/etc/sane.d/hp4200.conf}} に追加して以下のようにしてください: |
||
− | Another tip, is that you can add your device (scanner) in backend file: |
||
− | |||
− | Add ''''usb 0x03f0 0x2504'''' to {{ic|/etc/sane.d/hp4200.conf}} so it looks like this: |
||
# |
# |
||
# Configuration file for the hp4200 backend |
# Configuration file for the hp4200 backend |
||
238行目: | 232行目: | ||
#usb 0x03f0 0x0105 |
#usb 0x03f0 0x0105 |
||
usb 0x03f0 0x2504 |
usb 0x03f0 0x2504 |
||
− | |||
− | ===Epson Perfection 1270=== |
||
− | |||
− | Epson Perfection 1270 には esfw3e.bin というファームウェアが必要です。Windows ドライバをインストールすることでこのファームウェアを入手できます。 |
||
− | |||
− | Modify the configuration file of the snapscan backend, {{ic|/etc/sane.d/snapscan.conf}}. Change the firmware path line with yours: |
||
− | |||
− | <pre> |
||
− | # Change to the fully qualified filename of your firmware file, if |
||
− | # firmware upload is needed by the scanner |
||
− | firmware /mnt/mydata/Backups/firmware/esfw3e.bin |
||
− | </pre> |
||
− | |||
− | And add the following line in the end or anywhere you like |
||
− | |||
− | <pre> |
||
− | # Epson Perfection 1270 |
||
− | usb 0x04b8 0x0120 |
||
− | </pre> |
||
− | |||
− | You can get such code information (''usb 0x04b8 0x0120'') by "sane-find-scanner" command. |
||
− | |||
− | Also add such information lines to {{ic|/etc/hotplug/usb/libsane.usermap}} to setup your privilege, like: |
||
− | |||
− | #Epson Perfection 1270 |
||
− | libusbscanner 0x0003 0x04b8 0x0120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 |
||
− | |||
− | Replug scanner, you have a working Epson Perfection 1270 now. |
||
− | |||
− | NOTE: I can scan image if I define the X and Y value, but without that error message occurs like: "scanimage: sane_start: Error during device I/O", if anyone know why, please complete the section. |
2015年11月22日 (日) 12:31時点における版
Sane は GNU/Linux でスキャナーを使うためのライブラリとコマンドラインツールを提供しています。 ここで あなたのスキャナーを Sane がサポートしているか確認できます。
インストール
設定
sane があなたのスキャナーを認識しているか試すことができます:
$ scanimage -L
これが失敗したのなら、スキャナーがコンピュータに接続されているか確認してください。/etc/udev/rules.d/sane.rules
があなたのスキャナーを見つけるためにスキャナーのプラグを一度抜く必要があるかもしれません。
それから sane が実際に動作するか確認してください:
$ scanimage --format=tiff > test.tiff
HP 製品
HP のハードウェアを動かすには公式リポジトリから hplip をインストールしたり AUR から hpojAUR をインストールする必要があるかもしれません。
/etc/sane.d/dll.conf
にhpaio
やhpoj
を追加(アンコメント)する。- root 権限で
hp-setup
を実行するとデバイスを追加するのに役立つかもしれません。 hp-plugin
は 'HPLIP Plugin Download and Install Utility' です。hp-scan
は 'HPLIP Scan Utility' です。
Hewlett-Packard の OfficeJet, PSC, LaserJet, PhotoSmart プリンター複合機を動かすには、root で ptal-init setup
を実行して指示に従って下さい。その後 ptal-init デーモンを起動してください。
Brother 製品
ブラザーのスキャナーやプリンター・スキャナー複合機を使用するには正しいドライバを (AUR から) インストールする必要があります。 ドライバの種類は4つあります (brscan1-4)。正しいドライバを見つけるためにあなたのスキャナーのモデルを brother linux スキャナーページで検索してください。
ドライバをインストールした後は sane によってドライバ・スキャナーを認識させるために次を実行する必要があります (例: brscan2 互換デバイスの setupSaneScan2):
# /usr/local/Brother/sane/setupSaneScan2 -i
brscan4 の場合:
# /opt/brother/scanner/brscan4/setupSaneScan4 -i
ネットワークスキャナーには、Brother が設定ツールを提供しています:
$ brsaneconfig2 -a name=<ScannerName> model=<ScannerModel> ip=<ScannerIP>
例:
$ brsaneconfig2 -a name=SCANNER_DCP770CW model=DCP-770CW ip=192.168.0.110
Scan-key-tool
接続したコンピュータではなくスキャナー自体からユーザーが操作してスキャンをすることができるツールを Brother はリリースしています (例: キーパッドで "Scan to email" などを選択)。AUR から brscan-skeyAUR をインストールして systemd を使って brscan-skey.service
を起動することでセットアップできます。デフォルトではこのサービスは AUR パッケージによって作成される brscan-skey ユーザーで動作します。
キーパッドでスキャンのタイプが選択されたときに何を行うかを変更することが可能です。変更するには /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.cfg
を編集します。スキャンタイプが選択されると IMAGE
, OCR
, EMAIL
, FILE
の SCAN_COMMAND
変数が実行されます:
$ $SCAN_COMMAND $SCANNER_DEVICE $SCANNER_FRIENDLY_NAME
$SCAN_COMMAND
はクォートでかこまれていないので、複数の位置パラメータを指定して実行することができます。$SCANNER_DEVICE
はデバイスの名前を参照し、sane のフロントエンドに指定する必要があります (例: scanimage
を使う場合は --device-name
フラグ)。例えば: brother3:bus4;dev2
。$SCANNER_FRIENDLY_NAME
はヒューマンリーダブルなスキャナーの名前です。
brscan-key のセットアップスクリプトを実行:
# /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-1.sh
ツールを実行して以前にインストールしたスキャナーが認識されるか確認:
$ /opt/brother/scanner/brscan-skey/brscan-skey -l
Epson 製品
(Wi-Fi 含む) ネットワークスキャナーには、"Image Scan! for Linux" を使うことができます。
AUR から iscanAUR と iscan-plugin-networkAUR をインストールして、/etc/sane.d/epkowa.conf
に次の行を追加してください:
net {IP_OF_SCANNER}
Samsung 製品
Samsung MFP プリンターを使うためには /etc/sane.d/xerox_mfp.conf
を編集しなくてはなりません。
エントリの例:
#Samsung SCX-3200 usb 0x04e8 0x3441
プリンターモデルを必要なものに変更してください。ipVendor と idProduct のコードは lsusb
で取得できます。このスレッドを見て下さい。
plustek スキャナー
plustek スキャナー (Canoscan スキャナー) にはロックディレクトリが必要なものがあります。/var/lock/sane ディレクトリを作り、そのパーミッションが 660 で、所有者が <user>:scanner になるようにしてください。このディレクトリのパーミッションが間違っていると、スキャナーを使えるのが root ユーザーだけになってしまいます。libusb を使うプログラム (xsane と kooka) にはノーマルユーザーで /proc/bus/usb にアクセスするために scanner グループと rw パーミッションが必要なプログラムもあるようです (少なくとも x86-64 には)。
ファームウェア
一般的にファームウェアの拡張子は .bin
です。
まずファームウェアをどこか安全なところに置いて下さい、/usr/share/sane
のサブディレクトリが推奨です。
それから sane にファームウェアの場所を教える必要があります:
- sane supported devices list からあなたのスキャナーのバックエンドの名前を見つけて下さい。
/etc/sane.d/<backend-name>.conf
ファイルを開きます。- 該当ファームウェアエントリのコメントが外されているのを確認しファイルパスを先ほど置いたファームウェアファイルに書き換えてください。
scanner
グループのユーザーが/etc/sane.d/<backend-name>.conf
ファイルにアクセスできるようにしてください。
あなたのスキャナーのバックエンドが sane パッケージに含まれていない場合 (hplip の一部の hpaio.conf など)、/etc/sane.d/dll.d/hplip 内の関係するエントリをアンコメントする必要があります。
フロントエンドのインストール
XSane は Sane の GTK ベースのフロントエンドを提供します。XSane は公式リポジトリにある xsane パッケージからインストール可能です。
他のフロントエンドを探すには:
pacman -Ss
を使って "sane" や "scanner" といったキーワードで検索する- sane-project ウェブサイトの list of frontends を見る
ネットワークスキャニング
ネットワークを介してスキャナーを共有する
スキャナーをネットワーク上の sane を使っている他のホストと共有することができます。サーバーをセットアップするためには、まずネットワーク上のどのホストにアクセス許可を与えるのか指定してください。
/etc/sane.d/saned.conf
ファイルを変更して下さい、例:
# required localhost # allow local subnet 192.168.0.0/24
nf_conntrack_sane
モジュールを iptables に加えてファイアウォールが saned の接続を記録するようにしてください。
公式リポジトリから xinetd をインストールしてください。
次に、/etc/xinetd.d/sane
という名のファイルが存在しているのを確認して disabled を no に設定します:
service sane-port { port = 6566 socket_type = stream wait = no user = root group = scanner server = /usr/sbin/saned disable = no }
そして次の行を /etc/services
に追加してください:
sane-port 6566/tcp
xinetd デーモンを起動してください。
LAN を介して、他のワークステーションからスキャナーが使えるようになったはずです。
リモートのワークステーションからスキャナーにアクセス
リモートの Arch Linux ワークステーションからネットワークが有効になったスキャナーにアクセスすることができます。
ワークステーションをセットアップするため、まず公式リポジトリから xsane をインストールしてください。
次に、/etc/sane.d/net.conf
ファイルにサーバーのホストネームか IP アドレスを明示します:
# static IP address 192.168.0.1 # or host name stratus
root でないログインプロンプトからワークステーションの接続をテストしてください:
$ xsane
または
$ scanimage -L
しばらくすれば、xsane がリモートスキャナーを見つけてネットワークスキャニングの準備ができるはずです。
HP のオールインワンネットワークプリンター・スキャナー・ファックスを使うには設定が必要です:
$ hp-setup <printer ip>
Canon Pixma オールインワンプリンター/スキャナーを使ってネットワークを介してスキャン
プリンター/スキャナーの IP アドレスを確認して、/etc/sane.d/pixma.conf
に 'bjnp://10.0.0.20' という形式で追加してください。
これで Sane はデバイスを見つけられるはずです。詳しくは 'man sane-pixma' を参照。
トラブルシューティング
Invalid argument
xsane などの sane フロントエンドで "Invalid argument" エラーが出る場合、理由として以下のような状態が考えられます:
ファームウェアファイルがない
スキャナーのためのファームウェアファイルが存在しない(詳しくは上を見て下さい)。
間違ったファームウェアファイルパーミッション
ファームウェアファイルのパーミッションが間違っている。修正するには:
# chown root:scanner /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE # chmod ug+r /usr/share/sane/SCANNER_MODEL/FIRMWARE_FILE
複数のバックエンドがスキャナーを要求している
It may happen, that multiple backends support (or pretend to support) your scanner, and sane chooses one that doesn't do after all (the scanner won't be displayed by scanimage -L then). This has happend with older Epson scanners and the epson2
resp. epson
backends. In this case, the solution is to comment out the unwanted backend in /etc/sane.d/dll.conf
. In the Epson case, that would be to change
epson2 #epson
to
#epson2 epson
USB 3.0
スキャナーを USB 3.0 ポートに接続しているときもこのエラーメッセージが 発生 することがあります。この問題では場合によって WARN Event TRB for slot 1 ep 10 with no TDs queued?
や ep 0x85 - rounding interval to 512 microframes, ep desc says 800 microframes
というエラーメッセージがカーネルログに表示されることもあります。現在のところ、既知の解決方法は USB 2.0 ポート (もしくは USB ハブ) を使うしかありません。
起動が遅い
起動が遅い場合 (例: xsane
や scanimage -L
がスキャナーを見つけるのに時間がかかる) おそらくスキャナーをサポートしているドライバが複数あるのが原因です。
/etc/sane.d/dll.conf
を開いて不要なものをコメントアウトしてください (例: epson, epson2, epkowa を有効にしている場合、epson か epkowa だけアンコメント)
パーミッション問題
lsusb
を (root で) 実行したときだけしかスキャナーが見えないときは、ユーザーを scanner
や lp
に追加することで解決できることがあります。
# gpasswd -a username scanner # gpasswd -a username lp
HP のオールインワンモデル (e.g., PSC 1315 や PSC 2355) で有効なことが報告されています。
USB デバイスのパーミッションを変更することもできますが、推奨されません。Udev ルールを修正してスキャナが認識されるようにするほうが良いでしょう。
まず、root で、lsusb
で接続されている usb デバイスを確認:
#Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub #Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub #Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub #Bus 003 Device 003: ID 04d9:1603 Holtek Semiconductor, Inc. #Bus 003 Device 002: ID 04fc:0538 Sunplus Technology Co., Ltd #Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub #Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub #Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard #Bus 001 Device 002: ID 046d:0802 Logitech, Inc. Webcam C200 #Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
上記の例の場合スキャナは: Bus 001 Device 006: ID 03f0:2504 Hewlett-Packard
。03f0
が vendorID で 2504
が productID です。
/usr/lib/udev/rules.d/49-sane.rules
を開いて、あなたのスキャナの vendorID と productID が書かれた行が存在するか確認してください。存在しない場合、新しいファイル /etc/udev/rules.d/49-sane-missing-scanner.rules
を以下の内容で作成します:
ATTRS{idVendor}=="vendorID", ATTRS{idProduct}=="productID", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"
ファイルを保存したら、スキャナを一度切断してから再接続すればファイルのパーミッションが正しく設定されているはずです。
デバイス (スキャナ) をバックエンドファイルに追加することもできます:
usb 0x03f0 0x2504
を /etc/sane.d/hp4200.conf
に追加して以下のようにしてください:
# # Configuration file for the hp4200 backend # # # HP4200 #usb 0x03f0 0x0105 usb 0x03f0 0x2504