[dundee] Scripting across logins

Martin Habets errandir_news at mph.eclipse.co.uk
Fri Jan 6 13:06:05 GMT 2006


Hi Fionnbar,

On Sun, Jan 01, 2006 at 05:09:05PM +0000, Fionnbar Lenihan wrote:
> Hi
> 
> A sort of mixed linux Mac OS X question here.
> 
> When I recently upgraded from OS X 10.3 (Panther) to 10.4 (Tiger) my  
> Samsung ML-4600 network printer ceased to work despite installing  
> several drivers.  It's a network printer attached to a simple  
> Mandrake File / Print server.

That's weird. I'd expect the network printer to publish itself using
ZeroConf (aka Rendezvous aka Bonjour) and MDNS, which Apple invented.
Have you tried running a network sniffer when you tun on the printer?
You should look for UDP packets going to port 5353.

> I work around it by printing to a Postscript file on a Samba share  
> located on the  linux server few in my study.  I then SSH into the  
> server and lpr the PS file
> 
> Works fine and I am pleased with myself though I have a feeling that  
> I'm somehow re-inventing the wheel!
> 
> I wonder if I can automate this process a  bit?

Well, I'd expect all *nix machines to still adhere to the good ol'
lpd interface. On your OS X machine have a look at /etc/printcap and
put in something like the following:

lp|Remote printer entry:\
         :lp=:\
         :rm=mail.my.domain.net:\
         :rp=cx3200:\
         :sd=/var/spool/lpd/remote:\
         :mx#0:\
         :sh:

The 'rm' entry hold the name of the print server machine. 'rp' is the
queue name on that machine, and 'sd' the directory used on that machine.
The first line has the printer name 'lp'.

This should be enough to make OS X send the print job to your server
machine. On that machine you have to make sure it listens to such
requests (which get send using TCP on port 515). I run cups on my print
server machine and first added this to /etc/inetd.conf:

printer stream  tcp     nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd

Reload your inetd daemon configuration to activate this:
/etc/init.d/inetd reload.
The other thing I had to do on my server is allow local machines to
print. In the security section of /etc/cups/cupsd.conf I have this:

<Location />
Order Deny,Allow
Deny From All
Deny from speedtouch
Allow From 127.0.0.1
Allow From @LOCAL
</Location>

You won't need the speedtouch line. The speedtouch is my DSL modem.
I'm just a bit paranoid in that I don't want anyone from the outside
world to have access. Not that the speedtouch is configured to allow
this, but as I said I'm just paranoid.
Oh yeah, reload the cupsd daemon after updating cupsd.conf.

If things don't work, adjust the 'LogLevel' entry in cupsd.conf.
And/or send us any errors from lpr and some logs.
I use this configuration on my home network. The good thing is that
only the server machine has cups and the ppd stuff installed. All the
other ones only need lpr.

Good luck,
-- 
Martin
---------------------------------------------------------------------------
30 years from now GNU/Linux will be as redundant a term as MERT/UNIX is 
today. - Martin Habets
---------------------------------------------------------------------------



More information about the dundee mailing list