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.
Demonstration done in Ubuntu 8.10. The lovely theme is Compiz + emerald.
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.
Enjoy yet another marvel of the lovely world of open-source.
Cheers.