Popular Posts

How to print from linux WITHOUT needing any linux printer drivers or PPDs.

3:31 PM 240 Comments A+ a-

If you are one of many users who have one Windows computer in LAN and lot of Linux computer and lot of printers which don't work with Linux we have solution.
After some googling we found page that explain how to print on Windows printer from Linux machine without any driver or PPD needed. You can red it here. But it is to hard to confiugure for most of users, it supports only one printer on one computer, and it is hard to manage. We created program which is doing same thing much better and easier.
We created NoLinuxDriver printer server in C# which you can download from here.
We also created automated script for Linux which installs for you everything needed for printer to work, so you don't need to do anything  else.

How to install printer server on Windows:

  1. Install printer on your Windows machine. It can be any Windows machine which supports .NET 2.0 framework.
  2. Download printer server from here and unzip it somewhere.
  3. Install AFPL Ghostscript from http://www.cs.wisc.edu/~ghost/
  4. Install GSview from http://www.cs.wisc.edu/~ghost/ 
  5. Create shortcut of  PrinterLinuxServer.exe  and move it to Programs->Startup so it will run on startup.
  6. Start PrinterLinuxServer.exe and click refresh.
  7. Go to C:/printers/ and right click on folder named by your printer.
  8. Click Sharing and share that folder, choose people who can access it, if you don' know you can choose Everyone and you must enable them to read and write.
  9. That is all for Windows :)
Go to your Linux machine:

  1.  Download printer server from here and unzip it to your home folder for example '/home/juser/printer' .
  2.  Go to folder where you extracted  server and opet "auth" file. Change your username, password and domain.
  3. Open install.sh file and change the name of your printer (red colored) and IP adress(pink colored) of your server and your shared folder. #!/bin/bash
    cp adist5.ppd /usr/share/cups/model/
    cp winp /usr/lib/cups/backend/
    cp auth /usr/lib/cups/backend/
    chmod +x  /usr/lib/cups/backend/winp
    mkdir /var/spool/winp
    chmod 777  /var/spool/winp
    lpadmin -p minolta163 -E -v winp://192.168.1.8/minolta163 -m adist5.ppd
  4. Open terminal.
  5. Go to folder where you extracted  server and type: sudo bash install.sh
  6. Run system-printer-config , choose your printer and run Test page.
  7. Thats all :)
When you click print on Linux, winp will send *.ps file to windows shared folder and when server recognize .ps file it will print it instantly.
It looks like this:

On left side is list of printers, on right is log file which tels you what was printed and what command was executed to print.

Please leave comment if you have questions.

UPDATE: We found driver for Linux which works on almost ALL PRINTERS including KONICA MINOLTA, XEROX, LEXMARK, EPSON..., read more here: http://linuxibos.blogspot.com/2013/01/driver-that-works-on-allmost-all.html