TCLUG Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TCLUG:19995] Printers in BSD/Linux



Eric F Crist wrote:
> 
> Hey,
> 
> I have an Epson EPL-6000 that I cannot get to print correctly.
> 
> I used to use the printer under Caldera OpenLinux 2.3 just fine, but haven't
> had it working since I went to FreBSD 4.0.

Well, it's been a while since I set up Ghostscript by hand (and I had
help -- Linux Secrets by Naba Barkakati with Slackware 3.0).  I'm not
sure if you have to do it by hand in FreeBSD or not.  Regardless, it
won't kill you.

The gist of it is that you have to create a print filter, which is just
a script sitting in your print queue directory (usually under
/var/spool/ or /var/spool/lpd/).  That filter is just a shell script
that calls Ghostscript with the right arguments to produce output for
your printer.  These scripts are often designed to figure out what sort
of a file they have as input.  The simplest filters just detect the
difference between PostScript, text, and raw printer data (like what
you'd get if your system was a print server for Windows boxes).

Once you have a decent filter created, you'd tell lpr/lpd to use it by
pointing to it in your /etc/printcap file.

There should be some decent information about setting all of that up
somewhere in the Ghostscript documentation.

> could someone either tell me or direct me to a site that can explain, in
> english, how I can get my Windows NT 4.0 box to use this printer on my FreBSD
> box?

This is easy under Samba.  I think the default smb.conf file even has
printing already set up (though you should really look at the config
file first).

You should be able to just set up a `raw' printer in /etc/printcap that
will work even if you can't get Ghostscript working.  Create a spool
directory (/var/spool/lpd/raw is good).  Then, put something in
/etc/printcap.  This might do the trick

raw:\
	:sd=/var/spool/lpd/raw:\
	:mx#0:\
	:sh:\
	:lp=/dev/lp0:

However, I don't know what printer devices are named in FreeBSD.  You
may or may not have to change `/dev/lp0' to something else.  Also, you
might have to remove the `:sh:\' line.  Note that all of the lines that
have a backslash at the end have an immediate carriage return (no spaces
on the end of those lines).

-- 
 _  _  _  _ _  ___    _ _  _  ___ _ _  __   Don't take life too 
/ \/ \(_)| ' // ._\  / - \(_)/ ./| ' /(__   seriously, you won't get  
\_||_/|_||_|_\\___/  \_-_/|_|\__\|_|_\ __)  out alive. 
[ Mike Hicks | http://umn.edu/~hick0088/ | mailto:hick0088@tc.umn.edu ]