SCO Unix запускает интерактивный скрипт при отправке задания на печать

Я работаю (читаю, «вокруг») проприетарную систему ERP поверх SCO Unix. В нем есть несколько отчетов «запрос во время печати», где вы можете назначить принтер для отправки вашей работы.

Обычно вы вводите что-то вроде «% lp5», которое направляет вашу работу на принтер lp5.

Если я хочу создать псевдопринтер, который будет взаимодействовать с пользователем, а затем вернуть управление в ERP, как бы я это сделал? Я манипулировал сценариями интерфейсов LP в духе этой статьи , чтобы включить динамические данные в отчеты и управление потоком на сервер печати. Но теперь я хочу сделать фактическое взаимодействие с пользователем для подключения заданий на печать с отдельным сервером HylaFax, который я создал, поэтому мне нужен способ запуска сценария оболочки и запрос пользователю на информацию об обложке факса.

Наша система имеет встроенную факс-систему, использующую VsiFax (которую я пытаюсь подорвать), но я не вижу, как она выполняет ту же функцию, которую я пытаюсь сделать. Обычно вы отправляете свою работу в систему VsiFax, печатая на «@fax», который я не знаю, является ли это жестко запрограммированным принтером на стороне ERP или существует какое-то соглашение Unix, которое используется для вызова сценария оболочки.

Я предполагаю, что я ищу ресурс или какую-то помощь в отношении того, какие соглашения о назначении принтера SCO Unix могут быть связаны с синтаксисом имен принтеров (что означает «@» и «%», и есть другие специальные символы, и как Я могу вызвать сценарий оболочки при отправке этого задания на печать?

Насколько я знаю (как обычный пользователь SCO Unix), префиксы «@» и «%» не имеют смысла в SCO Unix и, вероятно, что-то используется системой ERP. Вы можете lpstat -pDl принтеры с помощью команды lpstat -pDl . Если, как я подозреваю, вы видите lp5 а не %lp5 , что подтвердит, что префикс – это то, что используется приложением.

Я считаю, что скрипты интерфейса принтера, как ожидается, будут работать в фоновом режиме без какого-либо подключения к конкретному интерактивному сеансу, поэтому они могут оказаться не подходящим местом для интерактивного диалога с пользователем.

Если приложение вызывает lp или lpr вы можете заменить их подходящим сценарием оболочки.