I recently bought a HP Officejet Pro 8600 printer, which I naturally wanted to use with my Linux machines, as well. Setting up the printer turned out to be very, very easy. Here's what I did:

  1. Ensure that CUPS is installed and running on your machine. In most cases, this should only involve installing a package from your distribution's package manager.

  2. Configure the ethernet/wireless configuration of the printer (which can be done on the printer's front panel, without involving any operating system). I would recommend assigning a static IP address, as this simplifies the communication between clients and the printer.

  3. Use any browser to start the initial configuration of the printer. I would recommend disabling the web services because I think they are pointless. As for the printer driver options, I chose to enable everything: SLP, LPD, Port 9100 Printing, and IPP.

  4. On every client machine, install the equivalent of the HPLIP package. For Ubuntu and Archlinux, this package is called hplip.

  5. Execute sudo hp-setup (for a graphical installer) or sudo hp-setup -i (for a console interface). Select Network/Ethernet/Wireless (direct connection or JetDirect). The printer should automatically be identified. Follow the assistant.

  6. To check that the printer has been installed correctly, visit http://localhost:631 (your local CUPS server). I also like to customize the printer name and some other settings. If you want to use print in duplex mode by default, select the A4 AutoDuplex paper format and enable Double-sided printing.

I did not yet test whether the scanner connections works, as well. Since the printer is not situated near my machine, I tend to scan to USB devices, anyway. Should the need arise, I will post an addendum to this entry.