How to print from Linux machines to Windows printers over Wireless - Tutorial

Updated: June 10, 2009

The title definitely sounds delicious. And you must be thinking this is going to be difficult. Not at all. As
simple, if not simpler, than doing it in Windows. Yup, Linux has advanced that much in being friendly and
usable. Don't believe me? Read on and get convinced.

Task at hand

We have a multi-host network (LAN), with a Lexmark printer connected to a Windows XP machine. We have several
Linux machines (including Ubuntu) that need to print to this host. They have no direct connection, but they
share the same Wireless router. To make it all all the spicier, the Lexmark printer has no drivers for Linux.

You may think this is going to be a suicide ... ?

In fact, this is going to be a task taking just 3 minutes, no command line at all. We will only use the GUI
wizard, click, click, click. And we will use an equivalent HP driver for the Lexmark printer to fool Linux.
Let's rock.

Configuring printer - 10 easy steps

Step 1: Add new printer

Click on System > Administration > Printing. When the window opens, click
on New.

Step 2: Choose connection

We need to tell our machine where to look for the printer. In our case, it's a Windows
Printer via SAMBA (a network sharing protocol).

Step 3: Browse for printer

In the right pane, click on Browse. The browser will scan your network. It will
find all Windows workgroups and hosts belonging to them. You should know to which host the printer is connected
to. Use arrows to expand the choices.

Step 4: Verify connection

Your printer is now selected.

But let's make sure we have sufficient permissions and that can print to it. For example, firewall rules might
interfere - or we might need to authenticate before being allowed to print. Click on Verify to check.

Step 5: Choose vendor

In this particular case, I know that there is no driver for this particular printer available in Linux. But you
should not try to "cheat" and should try to find the original driver for your hardware. In my case, I know the
equivalent HP device is LaserJet PCL 6, so this is what I'm going to use.

Step 6: Choose model

Like we said above:

Step 7: Options

Optionally, your printer/driver may support additional features:

Step 8: Name the printer

Feel free to use anything you want here, as long as you can understand it:

Step 9: Printer is configured!

We're done, basically. But just to make sure, we'll send a test page for printing.

Step 10: Print test page

Here we go:

And we're done! That was easy, wasn't it?

Conclusion

Configuring printers on Linux is a simple affair. It is definitely no more difficult than doing the same thing
in Windows, maybe even simpler. It's just different. Still, we did it in approx. 3 minutes and 10 mouse clicks,
over encrypted Wireless and whatnot. Fabulous.