SCO Unix run interactive script when sending a print job
I’m working with (read, “around”) a proprietary ERP system on top of SCO Unix. It has several “query at print time” reports where you can assign a printer to send your job to.
You usually input something like “%lp5”, which spools your job to printer lp5.
If I want to create a pseudo-printer that will interact with the user and then return control to the ERP how would I go about it? I have manipulated the LP interfaces scripts in the vein of this article, to include dynamic data into the reports and flow control to a print server. But now I want to do actual interaction with the user to connect print jobs with a separate HylaFax server that I’ve built, so I need a way of triggering a shell script and asking the user for fax coversheet information.
Our system has a built in fax system using VsiFax (which I’m trying to subvert), but I don’t see how it is performing the same function I’m trying to do. You usually send your job to the VsiFax system by printing to “@fax” which I don’t know if it’s a hardcoded printer on the ERP side or if there is some Unix convention that is being used to call a shell script.
I guess what I’m looking for is a resource or some help on what the SCO Unix printer assignment conventions might be related to syntax of printer names (what does “@” and “%” mean and are there other special characters, and how I could call a shell script when sending that print job?
So far as I know (as a regular user of SCO Unix) the “@” and “%” prefixes have no meaning in SCO Unix and are probably something used by the ERP system. You can list printers using the command
lpstat -pDl. If, as I suspect, you see
lp5 and not
%lp5 that would confirm that the prefix is something used by the application.
I believe the printer interface scripts are expected to work in the background without any connection to a specific interactive session – so they might not be a suitable place to introduce an interactive dialogue with a user.
If the application invokes
lpr – you could probably replace those with a suitable shell script.
The @ on SCO unix means you can use REMOTE RESOURCE SERVICES, and for example on this case when you try to use vFax or any REMOTE PRINT, you can check both of the have to GO outside to IP-POINT (means some IP dispositive on your Lan). This form is used by LPD, Samba, Netbeui, NFS and many SCO Unix Lan Services.