Hi I have got a printer installed on one of the Windows machines. The printer is set up as a shared printer and other windows machines use this printer for printing purpose. I want the linux machines in the same network to be able to share the same printer . How do I do that? I use samba to access linux shares from windows machines. Thanx Biju Nair
The trick is in knowing that Windows "printer drivers" are actually not true drivers. They convert the GDI commands to device-specific command sequences, which are then passed to the spooler, which in its turn invokes the "true" printer driver (typically the LPT device). Which is why it's freqently difficult-to-impossible to move a document from one printer's queue to another. Actually, in NT, they do have an intermediate serialized GDI format, but I'm not sure if Linux has a converter for that or not. Usually Linux prefers to convert to PostScript. Getting to the solution - you can either setup printcaps on the Linux machines specific to the target printer(s), and/or output to Postscript and route it to the Windows Postscript driver, if your printer(s) support that option. Graphics printing in Linux is usually done to PostScript, and in cases where the target printer doesn't speak PostScript, then converted from PostScript to device-specific. I know, that doesn't make a bit of sense, but the key is that if you can get the Linux machine to print to the selected printer when it's locally attached, then you should be able to print to the same printer over a network using Samba.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.