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. 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 the appriopriate HP dependencies installed (again, see the Network Printing with CUPS page for details), 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.