[cups.general] Passing extra information fromenvironmenttobackend?

Kurt Pfeifle k1pfeifle at gmx.net
Sun Nov 4 08:26:04 PST 2007


Erik,

it just occurred to me that there may *already* be a way to achieve what
you want.


Erik Forsberg wrote (on 10/19/2007 01:55 PM):

> See above. An environment variable read by libcups could be set at
> start of session. All started programs would then inherit it, allowing
> libcups to read it regardless of application submitting the print job.

Kurt Pfeifle then asked the CUPS developers (on 10/19/2007 07:50 PM):

>> What about a completely generic environment variable, which CUPS does
>> not at all use, but just faithfully passes down its filtering chain
>> through to the backend?
>> 
>> An env var for the purpose of whoever uses/sets/consumes its value,
>> takes also responsibility for whatever happens with it?
>> [....]

This request was declined.

However, this does *already* work! You need to make sure two things
happen:

 (a) your startup script (or the commandline that starts) cupsd
     does set/export the CENDIO_foobar variable:
     CENDIO_foobar="some-value-we-need"

 (b) your cupsd.conf does contain a line:
     PassEnv CENDIO_foobar

>From now, every filter backend will be able to see and exploit the
env var CENDIO_foobar (see also the cupsd.conf documentation reference
about the "PassEnv" parameter).

Does this help your purpose, Erik?

BTW, how exactly are you doing the printing from your ThinClient ses-
sions? Does it involve a userspace CUPS daemon running per session?
Which side of the session: on the client or on the server? Or do you
just use a client-side running system-wide CUPS daemon?

-- 
Kurt Pfeifle
System & Network Printing Consultant ---- Linux/Unix/Windows/Samba/CUPS
Infotec Deutschland GmbH  .....................  Hedelfinger Strasse 58
A RICOH Company  ...........................  D-70327 Stuttgart/Germany




More information about the cups mailing list