[KLUG Members] Printing and Linux

adam at morrison-ind.com adam at morrison-ind.com
Thu Oct 27 10:57:41 EDT 2005


> We're at a stage where handing a job over to the print spooler (cups
> for example) shows it up in the print queue.  This is no different from 15
> years ago, except that we now have a nice gui to show us the print
> queue.

This is an oversimplifaction, a great deal more is happening here than 
that, but
OK, from a user's point of view I can understand the statement.

> What also sucks is that you need root (or sudo) privs to change the
> printer configuration for a single print.  If a printer is configured
> to
> print double sided on A4 size paper in medium quality colour, no user
> can change that.

I don't think this is correct;  settings sent from the application can 
override
the defined defaults.  And access to change the configuration of 
printer can be
granted to anyone, or any group.  I'm certain of the latter part since I do
printer administration when signed in as myself - I avoid ever becoming 
root if
possible.  In SuSe's Yast2 there is even a GUI to delegate access.

But you can do it manually,  just edit /etc/cups/cupsd.conf

Set a SystemGroup like "SystemGroup cis"  then modify the access 
control stanzas
at the bottom of the file to something like -
<Location /admin>
  AuthType Basic
  AuthClass Group
  AuthGroupName cis
  Order Allow,Deny
  Allow From 192.168.*
  Encryption Always
</Location>

Now anyone in the group "cis" can use the web interface to change/add 
printers. No need to be root.

> What does not happen:
> - Spooler does not pop up an alert on error

This is true.  Although there is a printer status tray applett somewhere.  I
used to run it,  but somewhere along the line I lost it.  One issue you run
into here is simple an issue of scale - a print server constantly being polled
by hundreds of clients must bear a heavy load and generates lots of 
traffic. With the advent of Windows 2000 and XP we had to install a 
stand-alone rather
beefy box just to keep printing UP whereas we had always just ran printing off
another box along side other services for years.  XP clients beat the 
*@^&*$@*(
out of their print server,  CUPS (and LINUX) very much want to avoid 
recreating
this situation.  With CUPS 1.2 (under development still, I believe) there is a
backchannel which enables both the driver (IPP, SMB, 9100, etc...) and the
filter (process that renders the output) to communicate back to the CUPS
schedular,  this will allow for more 'intelligence' in the printing subsystem
without recreating the SPOOLSS nightmare.

You can see what will be new in CUPS 1.2 at -
http://www.cups.org/articles.php?L190+I0+TFAQ+P1+Q

> - Printing to a remote printer gives you no feedback whatsoever

In one sense CUPS doesn't understand "local" and "remote",  it all happens via
IPP.

> - Per session configuration by a user

You might also be interested in "printer instances" -
http://www.cups.org/doc-1.1/sum.html#5_7

> - Common dialog for selecting printers from applications
> The first should be easy enough to fix, and it would be cool if
> someone from this list could do that.

GNOME does this.

> The third requirement seems easy with CUPS as it provides job options
> where you can override settings in the PPD file, however, using this
> might tie an application to CUPS.

I think everyone is fine with tying to CUPS.

> The fourth requirement could be very useful for applications built on
> Gnome, for example.  We already have common dialogs for file handling,
> colour handling and font handling.  Printer handling is missing.

There is a common print dialog in GNOME - Gnome.PrintDialog.  Its use isn't as
pervasive as the file selector yet.

> Using the CUPS API, it should be fairly easy to develop.  Hmm, maybe someone
> should check if this already exists.  What I'm looking for is not a
> gui to manipulate printer options, but a dialog box that can be included
> in an application, which will provide options to select a printer,
> orientation, and other properties, and actually pass the data along

I see this if using a current version of gedit.



More information about the Members mailing list