[cups.general] Passing extra information from environment to backend?

Johannes Meixner jsmeix at suse.de
Wed Nov 7 00:07:31 PST 2007


Hello,

On Nov 6 15:30 Kurt Pfeifle wrote (shortened):
> Michael R Sweet wrote:
> > 
> > ...  I think Kurt was leaning towards the "run a local cupsd
> > as the logged-in user for that session" type of solution, such that
> > the system-wide cupsd would not be involved.
> 
> That's right.
> 
> That's why I asked if Cendio are running a private cupsd per remote
> session when printing is enabled, and on which side of the connection
> (client or server) it runs.
> 
> That is the *only* sane, clean solution that I can think of given the
> tools that are currently available if you want to have a strict sepa-
> ration of session resources (i.e. each session does only "see" its own
> printers; CUPS does not allow for that currently, so it is not good to,
> say, dynamically create re-directing printers on session start-up and
> delete them again upon session disconnection).

Very interesting idea!


Is there any kind of (perhaps draft) howto regarding using
multiple private cupsds for multiple sessions at the same time
on the same machine?


What I have currently in mind is:

Have one central cupsd running on a central print server
which does the filtering.
Have multiple private cupsds running on the client systems
to forward "raw" print jobs to the central cupsd.

But currently I wonder how to configure it so that the
communication TCP/UDP ports are well separated.
The communication between applications and private cupsd
should be separated for each session but all private cupsds should
communicate with the central cupsd via the usual port 631.

Perhaps there is no problem if the private cupsds should only
forward print jobs to the central cupsd (but not e.g. query
the central cupsd what happened to forwarded print jobs):

Each private cupsd could use its own separated TCP/UDP port and the
client tools like "lp" could use "lp -h localhost:current-port"
or even better so that even applications use the right port run
"export CUPS_SERVER=localhost:current-port" during login of
a user who starts a new session.

The forwarding of print jobs happens only via the ipp backend
using DeviceURIs like ipp://central-cupsd-IP-address:631/resource
so that here also the right port can be specified.


Kurt,
I just found
http://www.cups.org/str.php?L906
and
http://www.cups.org/str.php?L1945
so that it seems the above could really work now
or do I misunderstand the general idea?


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
AG Nuernberg, HRB 16746, GF: Markus Rex





More information about the cups mailing list