<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/index.php?action=history&amp;feed=atom&amp;title=Scanner_Button_Daemon</id>
	<title>Scanner Button Daemon - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/index.php?action=history&amp;feed=atom&amp;title=Scanner_Button_Daemon"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;action=history"/>
	<updated>2026-05-01T23:47:09Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;diff=32866&amp;oldid=prev</id>
		<title>Kusanaginoturugi: カテゴリの修正</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;diff=32866&amp;oldid=prev"/>
		<updated>2023-07-15T03:10:16Z</updated>

		<summary type="html">&lt;p&gt;カテゴリの修正&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023年7月15日 (土) 12:10時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1行目:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1行目:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:イメージング]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;デジタル&lt;/ins&gt;イメージング]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[en:Scanner Button Daemon]]&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[en:Scanner Button Daemon]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ハンディスキャナは大抵「受動的」なデバイスです。適切なアプリケーションを使うことで上手く動作しますがボタンだけでは使うことができません。&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ハンディスキャナは大抵「受動的」なデバイスです。適切なアプリケーションを使うことで上手く動作しますがボタンだけでは使うことができません。&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key bnbest_wiki:diff:1.41:old-11625:rev-32866:wikidiff2=table:1.14.1:bc2a06be --&gt;
&lt;/table&gt;</summary>
		<author><name>Kusanaginoturugi</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;diff=11625&amp;oldid=prev</id>
		<title>Kusakata.bot: 文字列「http://sourceforge.net/」を「https://sourceforge.net/」に置換</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;diff=11625&amp;oldid=prev"/>
		<updated>2018-02-06T14:08:34Z</updated>

		<summary type="html">&lt;p&gt;文字列「http://sourceforge.net/」を「https://sourceforge.net/」に置換&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2018年2月6日 (火) 23:08時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;3行目:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;3行目:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ハンディスキャナは大抵「受動的」なデバイスです。適切なアプリケーションを使うことで上手く動作しますがボタンだけでは使うことができません。&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ハンディスキャナは大抵「受動的」なデバイスです。適切なアプリケーションを使うことで上手く動作しますがボタンだけでは使うことができません。&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://sourceforge.net/projects/scanbd/ scanbd] はスキャナについているスキャナボタンを活用してスキャナを管理します &#039;&#039;(ただしボタンが sane によってサポートされている必要があります)&#039;&#039;。&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://sourceforge.net/projects/scanbd/ scanbd] はスキャナについているスキャナボタンを活用してスキャナを管理します &#039;&#039;(ただしボタンが sane によってサポートされている必要があります)&#039;&#039;。&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== イントロダクション ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== イントロダクション ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key bnbest_wiki:diff:1.41:old-8557:rev-11625:wikidiff2=table:1.14.1:bc2a06be --&gt;
&lt;/table&gt;</summary>
		<author><name>Kusakata.bot</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;diff=8557&amp;oldid=prev</id>
		<title>Kusakata: 翻訳</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Scanner_Button_Daemon&amp;diff=8557&amp;oldid=prev"/>
		<updated>2017-04-29T12:07:58Z</updated>

		<summary type="html">&lt;p&gt;翻訳&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:イメージング]]&lt;br /&gt;
[[en:Scanner Button Daemon]]&lt;br /&gt;
ハンディスキャナは大抵「受動的」なデバイスです。適切なアプリケーションを使うことで上手く動作しますがボタンだけでは使うことができません。&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/projects/scanbd/ scanbd] はスキャナについているスキャナボタンを活用してスキャナを管理します &amp;#039;&amp;#039;(ただしボタンが sane によってサポートされている必要があります)&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
== イントロダクション ==&lt;br /&gt;
&lt;br /&gt;
scanbd (scanner button daemon) はスキャナと定期的に通信するためデバイスはロックされます。他のアプリケーションは ({{ic|/dev/}} を開いたり libusb などを使って) デバイスに直接アクセスできなくなります。&lt;br /&gt;
&lt;br /&gt;
この問題を解決するため、別のデーモンを使用します (scanbd のマネージャモード)。他のアプリケーションからスキャナを使うことを考えて、scanbm をスキャナにアクセスするための「プロキシ」として設定し、他のスキャンアプリケーションがスキャナを使っているときはポーリングを停止します。&lt;br /&gt;
&lt;br /&gt;
そのために scanbm を [[SANE#ネットワークスキャニング|saned]] の代わりになるネットワークスキャニングデーモンとして設定します。sane のポートからスキャン要求が scanbm に届くと、scanbm はポーリングを実行する scanbd デーモンに dbus シグナルを送信してポーリングを停止させます。それから本当の saned を起動してスキャンが実行され、それから要求を行ったアプリケーションにデータが送信されます。その後に scanbm は scanbd に dbus シグナルを送信してポーリングを再開します。&lt;br /&gt;
&lt;br /&gt;
scanbd をセットアップするには sane のデフォルト設定を変更するだけでなくアクションスクリプトの定義も必要になります (スキャナのボタンが押されたときに何を実行するかを定義します)。&lt;br /&gt;
&lt;br /&gt;
scanbd の代替として [http://scanbuttond.sourceforge.net/ scanbuttond] なども存在しますが、最近はメンテナンスが止まっています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{AUR|scanbd}} パッケージを[[インストール]]してください。&lt;br /&gt;
&lt;br /&gt;
バージョン 1.3 現在、scanbd は [[systemd]] のサービスアクティベーションに完全に対応しており scanbm (scanbd のマネージャモード) を起動するのに &amp;#039;&amp;#039;&amp;#039;inet&amp;#039;&amp;#039;&amp;#039; や &amp;#039;&amp;#039;&amp;#039;xinetd&amp;#039;&amp;#039;&amp;#039; は不要です。&lt;br /&gt;
&lt;br /&gt;
=== Sane の設定 ===&lt;br /&gt;
&lt;br /&gt;
scanbd と saned はスキャナが接続された同一のマシン上で動作するため、saned の設定を2セット用意する必要があります。デフォルトの設定ディレクトリ ({{ic|/etc/sane.d/}}) の設定ではローカルアプリケーションを (systemd が listen する) ネットワークソケットに転送し、接続されたスキャナに sane バックエンドからアクセスするときは別の設定ディレクトリ ({{ic|/etc/scanbd/sane.d/}}) の設定を使用します。&lt;br /&gt;
&lt;br /&gt;
まず、{{ic|/etc/sane.d/}} の設定ファイルを全て {{ic|/etc/scanbd/sane.d/}} にコピーしてください (後で必要になります):&lt;br /&gt;
&lt;br /&gt;
 # cp /etc/sane.d/* /etc/scanbd/sane.d/&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/sane.d/dll.conf}} を編集して &amp;quot;net&amp;quot; ディレクティブだけ残してください (他のディレクティブは消去するか # 記号でコメントアウトしてください):&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/sane.d/dll.conf|&lt;br /&gt;
net}}&lt;br /&gt;
&lt;br /&gt;
net バックエンドの設定ファイルを編集してください (詳しい設定方法については scanbd の README.txt を参照):&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/sane.d/net.conf|2=&lt;br /&gt;
connect_timeout = 3&lt;br /&gt;
localhost # scanbm is listening on localhost}}&lt;br /&gt;
&lt;br /&gt;
これで (libsane を使用する) デスクトップアプリケーションは net バックエンドだけを使うようになります。ローカルに接続されたスキャナが直接使われることはなくなります。&lt;br /&gt;
&lt;br /&gt;
標準の sane のネットワークソケットに接続要求が来ると、systemd は scanbm (scanbd のマネージャモード) を起動して、それから scanbd はスキャナのポーリングを停止して、別の設定ディレクトリを使用して saned が起動します。&lt;br /&gt;
&lt;br /&gt;
最後に {{ic|/etc/scanbd/sane.d/dll.conf}} の設定を修正します: &amp;quot;net&amp;quot; ディレクティブをコメントアウトして適切なスキャナバックエンドをアンコメントしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/scanbd/sane.d/dll.conf|&lt;br /&gt;
#net&lt;br /&gt;
pixma&lt;br /&gt;
epson2&lt;br /&gt;
#... whatever other scanner backend needed ...}}&lt;br /&gt;
&lt;br /&gt;
設定が完了したら scanbm の systemd ユニットを起動・有効化してください:&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable scanbd.service&lt;br /&gt;
 # systemctl start scanbd.service&lt;br /&gt;
 # systemctl start scanbm.socket&lt;br /&gt;
&lt;br /&gt;
scanbd サービスと scanbm ソケットが動作しているかどうかは {{ic|/var/log/everything}} で確認できます。デバッグするときは {{ic|/etc/scanbd/scanbd.conf}} の {{ic|1=debug-level = 7}} を変更して scanbd サービスを再起動してください。&lt;br /&gt;
&lt;br /&gt;
=== scanbd の設定 ===&lt;br /&gt;
&lt;br /&gt;
運が良ければ何も設定しなくてもスキャナが機能し、ボタンが押されたときに何を実行するか定義するアクションスクリプトを修正するだけでことが足りる場合があります。&lt;br /&gt;
&lt;br /&gt;
scanbm はスキャナの状態を確認して、受け取ったメッセージから何をするべきか判断します。標準の挙動は {{ic|/etc/scanbd/scanbd.conf}} に定義されています。例えばスキャンアクションの場合:&lt;br /&gt;
&lt;br /&gt;
 action scan {&lt;br /&gt;
         filter = &amp;quot;^scan.*&amp;quot;&lt;br /&gt;
         numerical-trigger {&lt;br /&gt;
                from-value = 1&lt;br /&gt;
                to-value   = 0&lt;br /&gt;
                }&lt;br /&gt;
         desc   = &amp;quot;Scan to file&amp;quot;&lt;br /&gt;
         script = &amp;quot;test.script&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
スキャナから送られたメッセージに &amp;quot;scan&amp;quot; という単語が含まれていて値が 1 から 0 に変更されたときに {{ic|/etc/scanbd/test.script}} スクリプトを実行します。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/scanbd/test.script}} は何もせず syslog にメッセージを送ります:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/scanbd/test.script|&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# look in scanbd.conf for environment variables&lt;br /&gt;
&lt;br /&gt;
logger -t &amp;quot;scanbd: $0&amp;quot; &amp;quot;Begin of $SCANBD_ACTION for device $SCANBD_DEVICE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# printout all env-variables&lt;br /&gt;
/usr/bin/printenv &amp;gt; /tmp/scanbd.script.env&lt;br /&gt;
&lt;br /&gt;
logger -t &amp;quot;scanbd: $0&amp;quot; &amp;quot;End   of $SCANBD_ACTION for device $SCANBD_DEVICE&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/scanbd/}} には他にもスクリプトが存在しており、中には実際にスキャンを実行するスクリプトも存在します。&lt;br /&gt;
&lt;br /&gt;
また、{{ic|/etc/scanbd/scanbd.conf}} には &amp;quot;include&amp;quot; ディレクティブが含まれており、少数ながらプリンターの事前定義済みボタンの設定を参照しています:&lt;br /&gt;
&lt;br /&gt;
{{hc|&amp;lt;nowiki&amp;gt;$ cat /etc/scanbd/scanbd.conf | grep include\(&amp;lt;/nowiki&amp;gt;|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
# include(&amp;quot;scanner.d/myscanner.conf&amp;quot;)&lt;br /&gt;
# include(&amp;quot;/my/long/path/myscanner.conf&amp;quot;)&lt;br /&gt;
include(scanner.d/avision.conf)&lt;br /&gt;
include(scanner.d/fujitsu.conf)&lt;br /&gt;
include(scanner.d/hp.conf)&lt;br /&gt;
include(scanner.d/pixma.conf)&lt;br /&gt;
include(scanner.d/snapscan.conf)&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Kusakata</name></author>
	</entry>
</feed>