Print from UNIX to Windows

This article will take you through the steps required to configure the LPD service for Windows 2000 / XP. The same information applies for Windows NT although some of the names are slightly different. Using this technique will allow you to print from OSX / OS400 / Unix and Linux to a Windows printer without using any additional software such as Samba. I have assumed you will have some familiarity with administering Windows, in particular you should be able to add and configure a printer.

Start by opening the Control Panel and select the "Add or Remove Programs applet."

Add or remove Programs Icon

Now select the "Add/Remove Windows Components" icon on the left of the window to open the "Windows Components Wizard".

Add or Remove Windows Components

Browse through the list for "Other Network File and Print Services", select it then click the "Details" button.

Other Network File and Print Services

Check "Print Services for Unix" and then click the "OK" button to exit the dialog".

Click the "Next >" button to install the service and "Finish" to finish.

By default the service will be configured for manual startup so we need to change that using the Services control. To do this go back to the Control Panel and select the "Administrative Tools" applet.

Start the "Services" program.

Services Icon

Select "TCP/IP Print Server" in the list of services, then double click on it to configure the service.

TCP/IP Print Server

Change the "Startup type" to Automatic and then click on the Start button to start the service.

The LPD service is now configured and ready to accept print jobs from your host. Configure the queue on the host using the IP address of your Windows machine as the print server and the printer name as the queue name. There are a couple of potential issues you may come across when using the service:

When configuring the printer try and avoid printer names with spaces in them as the LPD service will reject them.

You can use either the printer name or its share name when configuring the printer on the host system.

If you can't get jobs to print check for an error event id 4008 in the system log, this is an indication that you have incorrectly configured the printer name on the host system.

If you have errors with the formatting of your documents you may need to set the SimulatePassThrough registry entry.