SCIENTIFIC-LINUX-USERS Archives

January 2008

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Jon Peatfield <[log in to unmask]>
Reply To:
Jon Peatfield <[log in to unmask]>
Date:
Sun, 6 Jan 2008 19:53:39 +0000
Content-Type:
TEXT/PLAIN
Parts/Attachments:
TEXT/PLAIN (103 lines)
On Sun, 6 Jan 2008, Jeffrey Anderson wrote:

> On Sunday 06 January 2008, Steve White <[log in to unmask]> wrote:
>> My colleague can configure his SL5 workstation to print without CUPS,
>> using KDE.
>>
>> I gather from this discussion that the SL5 distro Gnome desktop does not
>> provide a way to configure the system to print directly to a networked
>> printer *without CUPS*, although the KDE desktop does.

You need *CUPS*, you may not need a CUPS server (cupsd) on the client 
machines. Well technically I suppose you could still run lprng or similar 
but CUPS seems to have taken over most of the world...

> lpoptions -d MYPRINTER
>
> should set the default printer for the system.  It doesn't really have
> anything to do with your choice of desktop.  The gui desktops may or may not
> include a graphical thingy to perform this, but that is certainly not
> necessary.

Just to be more confusing for those who don't see the difference, 
lpoptions sets options for the user running the command (by updating 
~/.lpoptions usually).  However when run as root it sets system-wide 
defaults (cups/lpoptions).

The lpadmin command can also be used to set a 'system default printer' 
though on a multi user system that may not make much sense.  We set our 
system default to a dummy printer queue because without that one poor 
printer used to get all the printouts from people who hadn't set a 
default...

The usual (sane) default config for the cupsd (as run on client machines!) 
is set to listen for IPP printer adverts and use those to populate the 
list of available printers.  This is the default state in (say) recent 
versions of SL or Fedora since it means that after connecting to a random 
network using CUPS it will pick up lists of printers without needing any 
special configuration (which simplifies support!).

On (say) Ubuntu 7.04/7.10 the default cupsd config/setup doesn't listen 
for the printer adverts so that needs to be enabled if you have a network 
with printing support provided by CUPS servers.

Since MacOSX 10.2 Apple have used CUPS for printer support though they had 
a slightly non-standard version - they recently bought the company who own 
CUPS so that difference may have already gone.  The MacOSX CUPS used to be 
set to listen for IPP adverts so would work out-of-the-box.

However since MacOSX 10.5 they have altered the cupsd config so that it no 
longer listens (by default) for the CUPS IPP printer adverts.  It now 
defaults to only finding Bonjour/Zeroconf printers although telling it 
also listen for IPP adverts is pretty simple to do - just like it is on 
Ubuntu 7.04/7.10.

Bonjour/Zeroconf may one day avoid the need for the broadcast IPP adverts 
etc but I have no experience of that myself.

For users' own UNIX/Linux/OSX machines (laptops etc) we strongly suggest 
that were possible they run a local cupsd to automatically pick up 
printers from the adverts we arrange to send out.

However, for our desktop Linux/UNIX machines (the ones under our control) 
we just arrange for the cups/client.conf to point at our central print 
server.

In part this is because I can avoid needing to run yet-another-service on 
every desktop machine but also because on this network they would see 
printer adverts from CUPS servers we don't (and can't) control...

So the short summary is:

   If you don't want to run cupsd and you have a single CUPS server then
   you *can* edit cups/client.conf to point at the server.  If you have
   edited cups/client.conf then a local cupsd will not be used even if it
   is running (*).

   If you have printers provided by multiple CUPS servers or use the
   machine on more than one network or have locally attached printers then
   you need to run a cupsd.

   cupsd can be configured to listen for CUPS IPP printer adverts if you
   want (usually the default), and/or be told to poll a set of servers to
   obtain the list of printers or not do either.

(*) Of course you can set CUPS_SERVER=127.0.0.1 to temporarily override 
the client.conf. If you have a server set in client.conf then compare the 
output of:

   lpstat -v
   CUPS_SERVER=127.0.0.1 lpstat -v

The latter will show any printers that cupsd has found from adverts etc.

BTW we currently use (modified) cups-1.3.4 based central CUPS servers (on 
SL3x) to avoid some of the problems caused by some clients seeming to 
cause cups-1.1.x to crash or stop answering requests.  Our CUPS servers 
still seem to occasionally die but far less often since we updated.  Are 
we the only ones who see problems with cupsd crashing (or freezing)?

-- 
Jon Peatfield,  Computer Officer,  DAMTP,  University of Cambridge
Mail:  [log in to unmask]     Web:  http://www.damtp.cam.ac.uk/

ATOM RSS1 RSS2