Sharing printers over a network can be a major cost saving for YWAM bases and a major pain to get working flawlessly. Here is a little bit of hard earned wisdom.
Printing From Linux to Windows
One of the things that I have found hardest to get working over the years is printing to a printer attached to a Windows machine from my Linux machines. In general Linux will print to about everything and even has some success with those cheap GDI laser printers that rely on Windows to render pages. Postscript printers work wonderfully as do Network printers.
My particular problem has been to print to Inkjet printers attached to Windows machines. Well after a long, long search I have made progress thanks to some Ubuntu mailing lists. It turns out that Windows XP (and I guess 2000 and Vista too) have some extra facilities that you can use.
If your Windows printers are shared over your Windows network and all is working well you can get Linux printing working well by:
On the Windows XP Machine
- Go to the Install Software and Install Windows Software. Choose to install Other Network File and Print Services and choose the Unix Line-Printer service.
- Go to Management Console's Services sections and TCP/IP Print Services. Make sure these are started and set to automatic so they run at each reboot.
- On the Windows Firewall (or other Firewall program you are running) open port 515 on the and call it LPD or something
- Finally on the printer you want to share disable bi-directional printing support as this just doesn't seem to work over the network.
On the Linux Machine
(Examples from KDE desktop but it should be similar in Gnome or even from the http://localhost:631 control panel)
- Create printer
- The backend should be a LPD network printer
- Give IP address or host name of printer
- For the print Queue give Windows share name of the printer
- Follow through with the installation and select the right driver for the printer.
- Give it a good name and save!
- Try a test print! Success! (I hope!)
Printing From Windows to Linux
First of all you need to set up the printer on Linux and make sure it is working properly. I am assuming that the printer will be using the Common Unix Printing System as this is standard on most Linux systems.
(Let's assume your Linux box is called Merode and you have set up your Lexmark Optra T614 printer and called it Lexmark. Let's assume all is working well!)
- Start the Add printer Wizard
- Select "Connect to a printer on the Internet..." choice when asked "What printer do you want to connect to?"
- Enter the following http://LINUXSERVER:631/printers/PRINTERNAME where LINUXSERVER is the host name or IP address of your Linux machine. In our case about you would have: http://merode:631/printers/Lexmark
- The :631 is important as this tells windows to print to the CUPS server. The CUPS server can be looked at in a webrowser and in this case it displays a Web based control panel. Make sure the printer name is properly spelt as UNIX is case sensitive and lexmark is NOT the same as Lexmark.
- The next step is to choose the correct printer driver for the make and model of your printer (in our case a Lexmark Optra T614)
- Print a test page! Your printer control panel should look a little like the picture below.
From here you will have few problems. Happy printing and happy users!