Getting a scanner to work in Linux these days is actually fairly straightforward, especially if you are using an HP scanner. xsane is the program to use, but since I have my HP PSC 2355 all-in-one printer setup as a network printer (see the Network Printing with CUPS page), life is just a bit trickier. Basically, to get the scanner to work properly, I have to unhook the external network print server from the USB port, and hook up a USB cable from the printer to the Linux server. With autofs running, hotplug will automatically detect the PSC printer/scanner when plugging it into a USB port for scanning, as long as hplip is running. Again, see the Network Printing with CUPS page for details about hplip. Life is good!
Rumors have it that you can now scan over a network connection to your printer directly, but I've also heard rumors that the scan quality is much poorer than over a USB connection. Until I see evidence one way or another, I'll live with my current setup, especially since I do not need to scan documents very often.
With hplip up and running, simply launch xsane from a terminal window after the PSC printer/scanner has been connected to the Linux server with a USB cable to scan documents:
~> xsane &Once finished, I simply unplug the USB cable and plug the print server back into the printer, and turn the printer off and on to allow it to be re-configured by the print server (the print server will get confused, otherwise, since it was just hooked up directly to the computer via a USB connection). Then, I re-enable the printer via CUPS:
~> sudo cupsenable [printer]With the printer re-enabled, I can then verify that it is ready for printing:
~> lpq -P[printer]You should see:
[printer] is readyWith scanning finished, the printer is now ready for network printing once again.