loading
Most GDI printers are not supported using GNU/Linux.

Here is a way to use your printer anyway.

Step 1: Lucky Users

Before going further, check that your printer doesn't support a printing description language as postscript or PCL or something else that is supported under Linux.

If you are lucky then use the appropriate driver.

Some GDI printers are supported, so if it's your case, you should use this instead, check the list here :

http://www.linuxprinting.org/show_printer.cgi?recnum=Generic-GDI_Printer

Step 2: Choose a Virtual Machine and Install It

If you are unlucky, then you can use a virtual machine like :

- Bochs http://bochs.sourceforge.net/ (GPL)
- VMware http://www.vmware.com (Commercial, free VM player)
- Win4Lin 9x http://www.win4lin.com (Commercial)
- Win4Lin Pro http://www.win4lin.com (Commercial)

Install the virtual machine you want to use, then Microsoft Windows in this virtual machine using their respective documentation.

Step 3: Local Printer That Use a USB or Parallel Port

Under Linux, share your printer using Samba (http://www.samba.org/)

To do this you have to edit the /etc/samba/smb.conf file and add those sections :

# printers is between square brackets
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
# to allow user 'guest account' to print.
guest ok = yes
writable = no
printable = yes
create mode = 0700
use client driver = yes

# print$ is between square brackets
[print$]
path = /var/lib/samba/printers
browseable = yes
write list = @adm root
guest ok = yes
inherit permissions = yes

Adapt the path to your configuration if needed.

Restart samba or start it if it wasn't already done (as root) :

/etc/init.d/samba restart

Now, from the Virtual Machine install then the printer as a network printer, if your host IP has the 192.168.1.10 address from the VM then you should enter

\\192.168.1.10\printer_share_name

Step 4: The Printer Is Now Ready to Be Used From Your Virtual Machine

So now, you have to print something from GNU/Linux, choose a PDF printer and write to a file what you want to print.

From your virtual machine, open the file you've just created using Acrobat Reader or FoxIt Reader or whatever you like as a PDF reader and send it to your GDI printer.

Step 5: Full Example of Printing

1. Print to a .pdf file from GNU/Linux

2. Open the .pdf file from the virtual machine (Win4Lin) using a PDF Reader

3. Select "Print" from the "File" menu

4. Go to your printer and check the result

Step 6: Use the Printer Directly From Linux

In order to have something even better, you can follow this procedure :

http://mywebpages.comcast.net/heretrythis/hp3100/psemuxp.html
<p>does the smbd method need to CUPS?</p>
<p>Hi, sorry I don't understand what you mean, which step are you blocked with ?</p>
<p>how to add the printer in windows OS and what is the &quot;printer_share_name&quot;?</p>
My Dell 3010 is now supported under Linux, it's definitely more convenient :-)<br /> <br /> http://www.openprinting.org/show_driver.cgi?driver=pxldpl&amp;fromprinter=Dell-3010CN<br />
Theres also ghostscript support for a massive list of printers. You can also take this one step further, export the printer from windows as a postscript printer (there is software, i can't think of it at the moment) via smb/cifs, and use samba on your linux host to access it. Though I can't remember any time I've gotten reasonable results printing from linux, ever. (and this is over a decade of use)
Good idea, I have to test this !

About This Instructable

12,726views

6favorites

More by manuel.flury:Use any GDI printer with GNU/Linux 
Add instructable to: