If you are looking to purchase printers compatible with Linux... I would suggest going with HP products as I have had no problems with configuring and priting to HP printers.
HP has an opensource Linux Inkjet Driver Project located at: http://hpinkjet.sourceforge.net/ with excellent installation documentation at: http://hpinkjet.sourceforge.net/install.php
The HP Linux Printing project provides printing support for over 300 printers including DeskJets, OfficeJets, Photosmarts, Business Inkjets and LaserJets. Check the products supported via: http://hpinkjet.sourceforge.net/productssupported.php
Below is my notes taken from the above source as reference, installation on FC4 to a locally connected printer via USB:
Setting up the environment on Fedora Core 4:
-
As root, install the below packages:
# yum install cups-devel python-devel PyQt net-snmp-devel libjpeg-develDisable SELinux protection for cupsd daemon -- Under "Security Level Configuration", select SELinux tab, click "SELinux Service Protection", then check "Disable SELinux protection for cupsd daemon".
Download and install the HP software:
-
Download HPLIP that contains the current HP printing software from http://hpinkjet.sourceforge.net/ .
Extract, configure and run make as a user:
$ tar -xvzf hplip-x.x.x.tar.gz $ cd hplip-x.x.x $ ./configure --prefix=/usr $ makeAs root, install the software:
# make installStart the hplip and cups daemons:
$ service hplip restart $ service cups restart
Add and configure the printer via the CUPS interface at http://localhost:631 :
-
Go to the printers menu and add a printer.
Enter the root login info when prompted.
Fill in an appropriate Name, Location and Description.
Select the corresponding device which should be picked up automatically.
Select the corresponding make and model on the next pages.
Turn the printer on and send a test page.
hpssd [ERROR] Unable to connect to hpiod
"hpssd" wasn't being able to connect to hpiod on `service hplip restart` or on boot. I had to change the '/etc/ini.d/hplip' file to start hpssd with:
Note: Line 104 changed from [ daemon ./hpssd.py ] to [ daemon 'python ./hpssd.py' ].