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?

Asked By: jjclarkson


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 lp or lpr – you could probably replace those with a suitable shell script.

Answered By: RedGrittyBrick

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.

Answered By: user296763
Categories: Answers Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.