个人工具

UbuntuHelp:ScanningHowTo

来自Ubuntu中文

跳转至: 导航, 搜索

<<Include(Tag/NeedsExpansion)>> Scanning in Ubuntu is actually quite easy. This guide will walk you through how to use your scanner and what to do if Ubuntu cannot find your scanner.

Does my scanner work with Ubuntu?

There are three ways to see if you scanner works in Ubuntu:

  1. Simply plug it in and try it! If it is a newer USB scanner, it is likely that it will just work.
  2. Check https://wiki.ubuntu.com/HardwareSupportComponentsScanners which is Ubuntu specific.
  3. SANE project listing of support scanners - The SANE (Scanner Access Now Easy) project provides most of the backends to the scanning software on Ubuntu.

Using your scanner

Most of the time, Ubuntu will simply detect your scanner and you just be able to use it. To scan a document, you need to follow these steps:

  1. Place what you want to scan on the scanner
  2. Go to Applications --> Graphics --> XSane Image Scanner
  3. Alternately, pressing the scan button on the scanner should also work

What if it says "No devices available"?

There are five reasons why you might get this message.

  1. Your scanner is not supported in Ubuntu. The most common type of scanner not supported is old parallel port or Lexmark All-in-One printer/scanner/faxes
  2. The driver for your scanner is not being autoloaded
  3. You need to install the firmware file (probably a *.fw or *.usb) for your particular scanner. You simply need to copy the file into /usr/share/sane/ In my case I got the firmware file from the CD that came with the scanner (if the file is not there, try installing the cd with WINE- don't use the program but search for the needed file and copy it or do a quick internet search) and copied this file "ccd548.fw" into /usr/share/sane/gt68xx/
  4. If your scanner is a Mustek 1200 UB Plus you will need this file sbfw.usb then rename it to "PS1fw.usb" then put the file in the directory "/usr/share/sane/gt68xx" (remember to give read permission to all users)
  5. You have a parallel port scanner and you are not a member of the scanner group. The device /dev/parport0 (or whichever parallel port your scanner is connected to) by default is only readable and writable by user lp and group scanner. You can become member of group scanner via the User Privileges tab of the Account Properties dialog in the User Settings (Users and Groups) administration tool.

Manually installing a scanner

There are some scanners that have less than complete drivers from the SANE project. They can sometimes be used, but not all the features may work. These scanners are:

  • HP 4200
  • HP 3300C
  • HP 4300C
  • Agfa Snapscan Touch
  • HP 4400C
  • HP 4470C
  1. Make sure the Universe repository is enabled. The easiest way to do this is probably through Synaptic.
  2. Get the drivers by searching Synaptic for libsane-extras or at a terminal type:
sudo apt-get install libsane-extras
  1. Edit the /etc/sane.d/dll.conf and enable the right driver for your scanner. Look for the lines that say:
# The following backends are not part of the SANE distribution
# but are provided by the libsane-extras Debian package

Below it are several commented out lines. Uncomment (delete the #) the right one for your scanner, as follows:

  • HP 4200 - uncomment the hp4200 line.
  • HP 3300C, HP 3400C, HP 4300C, Afga Snapscan Touch - uncomment the niash line.
  • HP 4400C, HP 4470C - uncomment the hp_rts88xx line.

4.) Fire up sane and scan away. Note: Because of the way Linux's hotplugging stuff works, you may need to plug in the scanner after the computer has booted. If you're having problems seeing the scanner, you might want to try this.

Manually Installing a Network Scanner

Ubuntu does not automatically detect a scanner that is shared by a remote computer so you need to set it up manually:

Server-side Setup (9.10)

Do the same as for 9.04 below, except : - Add the following line to /etc/inetd.conf

sane-port stream tcp nowait saned.saned /usr/sbin/saned root (if you put saned it doesn't work for me)

- in /etc/default/saned

change RUN_AS_USER from saned to root
Server-side Setup (9.04)

On the computer that is sharing the scanner you need to change one line in /etc/default/saned to read:

# Set to yes to start saned                                                     
RUN=yes

Now add the following line to /etc/sane.d/saned.conf to share the printer with all computers on your subnet:

192.168.1.0/24

Then start the Sane daemon (saned) by running: (when on Ubuntu 9.10)

sudo invoke-rc.d saned start (restart instead of start)

To configure the Sane daemon start automatically at boot up run:

sudo update-rc.d saned defaults
Server-side Setup (8.10 and earlier)

On the computer that is sharing the scanner you need to add the following line to /etc/inetd.conf

sane-port stream tcp nowait saned.saned /usr/sbin/saned saned

And restart inetd:

sudo /etc/init.d/inetd restart

Or, if you are using xinetd, create a file called /etc/xinetd.d/saned and enter the following in the file:

service saned 
{
socket_type = stream
server = /usr/sbin/saned
protocol = tcp
user = saned
group = scanner
wait = no
disable = no
}

And restart xinetd:

sudo /etc/init.d/xinetd restart

Now add the following line to /etc/sane.d/saned.conf to share the printer with all computers on your subnet:

192.168.1.0/24

Finally, you need to add "saned" group to "scanner" at /etc/group, because of the permissions. If your scanner is an old parallel port scanner you need to add "saned" to the "lp" group.

ACL permissions for saned

Because of a change is the way access permissions are now applied to devices, saned may still not be able to access the scanner when it is launched by inetd or xinetd. This can happen even though other regular users on the server have access. The following bug-report contains a solution to this problem :

Client-side Setup

From the client, all you need to do is add server name or IP address of the scanner server to /etc/sane.d/net.conf:

192.168.1.100

Now run xsane and it should pick up the new network scanner.

Specific Models

Some specific models have been documented here:

Helping Ubuntu support more scanners

There are a number of ways you can help Ubuntu support more scanners

  • Support the SANE (Scanner Access Now Easy) project, which provides most of the scanning backend information. Contributing to SANE
  • When purchasing a new scanner, always ask if it works in Linux
  • Contact the manufacturer about supporting your scanner under Linux. Make certain you tell them about the SANE project

External links