aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'zh_CN.GB2312/books/handbook/multimedia/chapter.sgml')
-rw-r--r--zh_CN.GB2312/books/handbook/multimedia/chapter.sgml123
1 files changed, 81 insertions, 42 deletions
diff --git a/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml b/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
index 6572b7d82f..d14e213256 100644
--- a/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
+++ b/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml
@@ -2,7 +2,7 @@
The FreeBSD Documentation Project
The FreeBSD Simplified Chinese Documentation Project
- Original Revision: 1.132
+ Original Revision: 1.135
$FreeBSD$
-->
@@ -1351,7 +1351,8 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
url="http://www.sane-project.org/sane-supported-devices.html">
支持的设备</ulink> 列表,
可以为您提供有关扫描仪的支持情况和状态的信息。
- &man.uscanner.4; 手册页也提供了一个支持的 USB 扫描仪列表。</para>
+ 在 &os;&nbsp;8.X 之前版本的系统中,
+ &man.uscanner.4; 手册页也提供了系统支持的 USB 扫描仪列表。</para>
</sect2>
<sect2>
@@ -1372,34 +1373,31 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting>
<programlisting>device usb
device uhci
device ohci
-device uscanner</programlisting>
+device ehci</programlisting>
- <para>取决于您主板上的 USB 芯片,
- 您只需要 <literal>device uhci</literal> 或者
- <literal>device ohci</literal> 中的一种,但是两个都在
- 内核配置文件中是没有害处的。</para>
+ <para>在 &os;&nbsp;8.X 之前的版本中, 还需要下面这行配置:</para>
- <para>如果您不想重新编译内核而且您的内核也不是
- <filename>GENERIC</filename> 的,
- 您可以用 &man.kldload.8; 命令直接加载
- &man.uscanner.4; 设备驱动模块:</para>
+ <programlisting>device uscanner</programlisting>
- <screen>&prompt.root; <userinput>kldload uscanner</userinput></screen>
+ <para>在这些 &os; 版本中, 是通过设备驱动程序 &man.uscanner.4;
+ 来提供对 USB 扫描仪的支持的。 从
+ &os;&nbsp;8.0 开始, 这些支持则直接由
+ &man.libusb.3; 函数库提供。</para>
- <para>要在每次系统启动的时候加载这个模块,
- 添加下面这行到
- <filename>/boot/loader.conf</filename> 中:</para>
+ <para>使用正确的内核重新引导系统之后, 插入 USB 扫描仪。
+ 系统消息缓冲区 (使用 &man.dmesg.8; 查看)
+ 中会出现下面的信息, 表示检测到了扫描仪:</para>
- <programlisting>uscanner_load="YES"</programlisting>
+ <screen>ugen0.2: &lt;EPSON&gt; at usbus0</screen>
- <para>在使用正确的内核重启系统, 或加载了所需的内核模块之后,
- 就可以将您的 USB 扫描仪接到计算机上了。 在系统消息缓冲中,
- (&man.dmesg.8;) 应该会出现一行表示检测到您的扫描仪的信息:</para>
+ <para>或者, 对于 &os;&nbsp;7.X 系统而言:</para>
<screen>uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2</screen>
- <para>这表明我们的扫描仪正在使用
- <filename>/dev/uscanner0</filename> 设备节点。</para>
+ <para>随 &os; 版本不同, 这些信息表示扫描仪设备位于设备节点
+ <filename>/dev/ugen0.2</filename> 或
+ <filename>/dev/uscanner0</filename>。 在这个例子中, 我们使用的是
+ &epson.perfection;&nbsp;1650 USB 扫描仪。</para>
</sect3>
<sect3>
@@ -1492,6 +1490,18 @@ found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen>
<screen>&prompt.root; <userinput>scanimage -L</userinput>
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner</screen>
+ <para>或者, 如果使用的是 <xref
+ linkend="scanners-kernel-usb"> 中的 USB 扫描仪:</para>
+
+ <screen>&prompt.root; <userinput>scanimage -L</userinput>
+device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner</screen>
+
+ <para>上述输出来自于 &os;&nbsp;8.X 系统。
+ <literal>'epson2:libusb:/dev/usb:/dev/ugen0.2'</literal>
+ 给出了扫描仪所使用的后台名字 (<literal>epson2</literal>)
+ 和设备节点 (<literal>/dev/ugen0.2</literal>)。</para>
+
+ <note>
<para>如果没有输出任何信息, 或提示没有识别到扫描仪,
则说明 &man.scanimage.1; 无法识别它。
如果发生这种情况, 您就需要修改扫描仪支持后端的配置文件,
@@ -1501,9 +1511,14 @@ device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner</screen>
这类识别问题经常会在某些 USB
扫描仪上发生。</para>
- <para>例如, 对于在 <xref
+ <para>
linkend="scanners-kernel-usb"> 中所使用的 USB 扫描仪,
<command>sane-find-scanner</command> 会给出下面的信息:</para>
+ <para>例如, 对于在 <xref
+ linkend="scanners-kernel-usb">, 在 &os;&nbsp;8.X 中,
+ 扫描仪已经被很好地识别并能够正常工作了; 而对于更早版本的 &os;
+ 而言 (使用 &man.uscanner.4; 驱动程序)
+ <command>sane-find-scanner</command> 则会给出这样的信息:</para>
<screen>&prompt.root; <userinput>sane-find-scanner -q</userinput>
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0</screen>
@@ -1519,16 +1534,16 @@ check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).</screen>
- <para>既然扫描仪没有被识别,我们就需要编辑
- <filename>/usr/local/etc/sane.d/epson.conf</filename>
- 文件。所用的扫描仪型号是 &epson.perfection; 1650,
+ <para>由于扫描仪没有识别成功, 我们就需要编辑
+ <filename>/usr/local/etc/sane.d/epson2.conf</filename>
+ 文件。 所用的扫描仪型号是 &epson.perfection;&nbsp;1650,
这样我们知道扫描仪应使用 <literal>epson</literal>
后端。确保阅读后端配置文件中的帮助注释。
改动非常简单:注释掉导致您的扫描仪使用错误接口的所有行
(在我们这种情况下,我们将注释掉从
<literal>scsi</literal> 开始的所有行,因为我们的扫描仪使用 USB
接口),然后在文件的结尾添加指定的接口和所用的设备节点。
- 这种情况下,我们添加下面这行:</para>
+ 这种情况下, 添加下面这行:</para>
<programlisting>usb /dev/uscanner0</programlisting>
@@ -1542,6 +1557,7 @@ device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner</screen>
并不会带来太大的麻烦。 您需要关注的是
<literal>`epson:/dev/uscanner0'</literal> 字段,
这个给了我们正确地后端名称和正确的设备节点。</para>
+ </note>
<para>一旦 <command>scanimage -L</command> 命令可以看到扫描仪,
配置就完成了。设备现在准备好等待扫描了。</para>
@@ -1570,23 +1586,43 @@ device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner</screen>
然而您可能需要让其他的用户也可以访问扫描仪。
用户需要有扫描仪所用的设备节点的读和写权限。
比如,我们的 USB 扫描仪使用设备节点
- <filename>/dev/uscanner0</filename>,这个节点属于
- <groupname>operator</groupname> 组。将用户
+ <filename>/dev/ugen0.2</filename>
+ 实际上只是到实际设备节点
+ <filename>/dev/usb/0.2.0</filename> 的符号连接
+ (可以通过查看 <filename class="directory">/dev</filename>
+ 目录的内容来确认这一点)。 设备节点本身和这个符号连接分别属于
+ <groupname>wheel</groupname> 和
+ <groupname>operator</groupname> 组。 将用户
<username><replaceable>joe</replaceable></username> 添加到
- <groupname>operator</groupname> 组会允许他使用扫描仪:</para>
+ 这些组中, 就可以允许他使用扫描仪了, 不过,
+ 出于显而易见的安全方面的原因, 在将用户加到特定的用户组, 特别是
+ <groupname>wheel</groupname> 组时, 无疑需三思而后行。
+ 更好的解决方法是创建一个专门用于访问 USB 设备的组,
+ 并让这个组的成员能够访问 USB 设备。</para>
+
+ <para>这里作为示例, 我们将会使用名为
+ <groupname><replaceable>usb</replaceable></groupname> 的组。
+ 第一步是借助
+ &man.pw.8; 命令来创建它:</para>
+
+ <screen>&prompt.root; <userinput>pw groupadd usb</userinput></screen>
+
+ <para>接下来, 令 <filename>/dev/ugen0.2</filename>
+ 符号连接和 <filename>/dev/usb/0.2.0</filename> 设备节点能够以 <groupname>usb</groupname> 组的身份来访问,
+ 具体而言是配置正确的写权限 (<literal>0660</literal> 或
+ <literal>0664</literal>), 因为默认情况下只有属主 (<username>root</username>)
+ 才能写这些设备。 这些配置是通过在
+ <filename>/etc/devfs.rules</filename> 文件中添加如下的设置来实现的:</para>
- <screen>&prompt.root; <userinput>pw groupmod operator -m <replaceable>joe</replaceable></userinput></screen>
+ <programlisting>[system=5]
+add path ugen0.2 mode 0660 group usb
+add path usb/0.2.0 mode 0666 group usb</programlisting>
- <para>要了解更多细节, 请阅读 &man.pw.8; 联机手册。 此外,
- 还需要为 <filename>/dev/uscanner0</filename>
- 设备节点设置正确的写入权限 (0660 或 0664),
- 因为默认情况下, <groupname>operator</groupname>
- 组只能读这个设备节点。
- 这项工作可以通过在 <filename>/etc/devfs.rules</filename>
- 文件中添加如下设置来自东完成:</para>
+ <para>&os;&nbsp;7.X 用户需要将上面的配置改为使用与之对应的
+ <filename>/dev/uscanner0</filename>:</para>
<programlisting>[system=5]
-add path uscanner0 mode 660</programlisting>
+add path uscanner0 mode 660 group usb</programlisting>
<para>随后您还需要在
<filename>/etc/rc.conf</filename>
@@ -1597,10 +1633,13 @@ add path uscanner0 mode 660</programlisting>
<para>关于这些配置的进一步细节请参考联机手册
&man.devfs.8;。</para>
- <note>
- <para>当然, 考虑安全的原因, 在您将用户添加到任何组, 尤其是
- <groupname>operator</groupname> 组时, 都应三思而后行。</para>
- </note>
+ <para>现在, 只需将用户添加到
+ <groupname><replaceable>usb</replaceable></groupname> 组,
+ 就可以使用扫描仪了:</para>
+
+ <screen>&prompt.root; <userinput>pw groupmod usb -m <replaceable>joe</replaceable></userinput></screen>
+
+ <para>更多详情, 请参见联机手册 &man.pw.8;。</para>
</sect2>
</sect1>
</chapter>