Subject: | |
From: | |
Reply To: | |
Date: | Sun, 6 Jan 2008 19:53:39 +0000 |
Content-Type: | TEXT/PLAIN |
Parts/Attachments: |
|
|
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/
|
|
|