This is the BETA version of RedMon EE (Extended Edition) documentation !
The Software is at Release Level 1.8.0
The RedMon port monitor redirects a special printer port to a program. RedMon is commonly used with Ghostscript and a non-PostScript printer to emulate a PostScript printer, or with Ghostscript as a PDF writer.
RedMon can be used with any program that accepts data on standard input.
Using RedMon you create redirected printer ports. If you connect a
Windows printer driver to the redirected printer port, all data sent
to the redirected port will be forwarded by RedMon to the
standard input of a program. This program is then responsible
for processing the data and producing new output.
A PostScript Windows printer redirected to a RedMon port can be shared
on a network.
When this printer is configured to use Ghostscript and a non-PostScript
printer, it appears as a PostScript printer to other network clients.
For SoHo Users RedMon EE supports printersharing and local printing within the
same configuration. There is no need to setup a local printer and a shared printer.
RedMon EE may be configurated to support network print servers.
PostScript written to a RedMon port can be converted to a
PDF file using Ghostscript.
RedMon supports Windows 95/98, Windows 2000, NT 4.0 and 3.51.
Configuring RedMon is not a job for novices.
RedMon Extended Edition supports Windows XP, Windows 2000 and Windos NT 4.0.
This documentation covers RedMon EE
RedMon Extended Edition
RedMon principals of operation.
Installation
Uninstallation
Add Port
Port Settings
Log File Properties
What is Ghostscript?
Ghostscript Example
Output configuration
Security Settings
Server Configuration
Sepcial Options
RedMon RPC Server
Common Problems
Copyright
RedMon extended edition allows You to share printers with redmon running by using and setting up the redmon Server feature.
The Server feature uses RPC to communicate and interact with the user sharing the printer. To use RPC You have to:
The RPC feature uses named pipes or TCP/IP as the communication layer. RPC using named pipes should be much easier to handle than TCP/IP ! But for security reasons some installation will not work with RPC using named-pipes. The printer runs in the system (kernel) context, which seems not to have the security rights needed to communicate over named-pipes. You will get an error if named-pipes don't work.
If You are using TCP/IP as communiction layer You must have a WINS server running in in Your network or You have to update Your HOSTS file.
Redmon running on the print server must get the ip-address (e.g. 10.10.70.42) of the workstation running the redmonS.exe (RPC server). The only address information which the printer server gets out of the print-job parameters are:
these informations will be sufficient if You use RPC with named-pipes. But TCP/IP needs:
If there is only one user running on the client - users don't share systems - You can use a default port for TCP/IP communications. This is the recommended usage.
If You have more than one user running the on the same client, redmon will construct a port-number from the username by generating a 16-bit CRC from the username. This seems to be the only working method to asign different ports to different users on the same client.
To retrieve the IP-Address from the client- or workstation-name You should have WINS running in Your network. If You don't have setup a WINS-Server, You will have to add each workstation in the HOSTS file on Your print server !
Configuring RedMon Extended Edition is not a job for novices.
RedMon Extended Edition comes with a set of tools to test the RPC-feature:
Please note, that these test drivers always run in a user-context! If the RPC-feature is executed in the system context of the windows spooler system, RPC may generate error and may be unexecutable. This seems to hold for using named pipes as the communication layer.
If RedMon EE and the user submitting the print job are both running on the same machine, the RPC-feature will not be used by RedMon !
RedMon is always running in the system context of the windows printing and spooling sub-system ! On a single user system with a local RedMon enabled printer Applications run in a User-Context and execution of RedMon is under control of the spooler subsystem. On Windows NT systems this is not realy a problem. It could be a problem if You are running on W2K and it has been a realy problem if running Windows XP.
On a client used by multiple users RedMon runs in the system-context and each user has is own user-context running applications. RedMon EE is able to address the right user context e.g. for user interaction by a SaveAs Dialog, or if a user process should be started after the print job is finished.
If a RedMon Process is running on a print-server the only way for user-interaction is to use IPC features or client/server programming techniques. To make the IPC communication as simple and robust as possible, RedMon EE comes with an RPC feature (Remote Procedure Call).
Clients will have to run the RedMon EE RPC-Server if user-interaction is needed for the printing process or even if the generated print-file should be send back to the client for further processing. This RPC feature and the ability to pass print-output back to the client avoids the whole stuff with drive-mapping and access rights. Only the spool-process it self must have write access to some temporay storage, which should not be a real problem.
If You are running more than one print server with RedMon You should not run in any problem
| Note | RedMon's RPC feature reverses Client and Server. The print server always acts as a client! The client starting the print job always runs the RPC-Server! We have a single RPC-Client talking with multiple servers Realy hard to understand. But things work easier this way. |
Run setup.exe to install the RedMon redirection port monitor.
The files setup.exe, redmon95.dll, redmonnt.dll, redmon35.dll,
redmon.hlp and unredmon.exe
must all be in the same directory.
Installing RedMon under Windows NT, W2K, XP will require Administrator
privileges.
Follow the Ghostscript Example for the rest of the configuration.
To uninstall, you must first disconnect all printer drivers from the Redirected ports and then delete the Redirected ports. Use Add/Remove Programs from the Control Panel to remove RedMon - Redirection Port Monitor.
In the Add Redirected Port dialog box, enter the name
of a port to be serviced by RedMon.
By default, the first port you define will be named RPT1:.
Windows 95/98 After adding a port, you need to configure it
with Port Settings and Spool Settings.
Any printer driver connected to this port must have the
Spool Settings set to
Disable bi-directional support for this printer.
Windows NT After adding a port, you need to configure it
with Configure Port. Enable bidirectional support
must be disabled.
You cannot use the same port name as an existing port.
In particular, you cannot create a redirected port named LPT1:
In the Port Settings dialog box, specify a redirection program
which is to receive on standard input all data sent to this port.
The program name is entered in the first edit field
and the arguments in the second edit field.
The Output from the program can be set to one of

If one of the latter three, you need to select a Printer.
If you select Print Errors, an error report page will
be printed.
The program can be run Normal, Minimized or Hidden.
Run as User is available only under Windows NT (and up) and is
usually disabled.
A Log File can be configured to receive standard output
and standard error.
With a log file, you can view error messages that were written
to standard output or standard error.
You may define a Programm to Start after works which may
perform some action on the generated output file.
If this module has a GUI and is interacting with the user You
must set Run As User.
See the Ghostscript Example and Common Problems.
Program handles output
Prompt for filename
Template Filename
Copy stdout to printer
Copy temporary file to printer
Copy pipe to printer
Programm to Start after works
Print Errors
Environment Variables
Run as User
Shut down delay
When output is set to Program handles output, the redirection program is entirely responsible for all output. If the redirection program wants to write to another printer, it must do this itself. If the redirection program wishes to generate no output at all, this is also acceptable.
When output is set to Prompt for filename, the
redirection program should write its output to a file.
The name of the file is obtained from a Save as dialog,
can be obtained by inserting %1 in the program arguments.
If you wish to place %1 in the program arguments and do
not want it substituted with the filename, you
must instead use %%1.
For example, the program arguments might include:
-sOutputFile="%1"
This method is recommended for use with Ghostscript,
and is commonly used with a PostScript printer driver
and the Ghostscript pdfwrite device to create a PDF writer.
Do not share a printer which uses RedMon with Prompt for filename.
RedMon will not allow this because the Save as dialog box would
appear on the server computer, not the client which submitted the
print job.
If You share a printer which uses RedMon You may setup the
RedMon Extended Edition.
The extended edition of redmon comes with a build in RPC feature
which allows You to share a printer which uses RedMon.
To use this feature You must setup the RPC Configuration in the
Server Configuration part of the configuration dialog !
To set more options set Filename prompt Options in the
Output configuration dialog.
The SaveAs Dialog show will look like this:
At a close look You will see the file which has been generate by a filename template setup as
%temp%\test-%d-%t-%n.pdf
And in the title You will have the Documentname.
When output is set to Template Filename, You have to enter the Template for Output File in the Output configuration tab of the configuration dialog.
When output is set to Copy stdout to printer, the redirection
program should write its output to standard output.
RedMon will copy this to the specified printer.
Standard output will not be written to the log file.
This method should not be used with Ghostscript 5.50 or earlier.
When output is set to Copy temporary file to printer, the
redirection program should write its output to a temporary file.
RedMon will copy this temporary file to the specified printer.
The name of the temporary file is specifed by RedMon, and
can be obtained by inserting %1 in the program arguments.
If you wish to place %1 in the program arguments and do
not want it substituted with the temporary filename, you
must instead use %%1.
For example, the program arguments might include:
-sOutputFile="%1"
This method is recommended for use with any version of Ghostscript.
When output is set to Copy pipe to printer, the redirection
program should write its output to a pipe created by RedMon.
The handle as a hexadecimal value can be obtained by
inserting %h in the program arguments.
RedMon will copy this pipe to the specified printer.
For example, the program arguments might include:
-sOutputFile="%%handle%%%h"
This method is recommended for use with Ghostscript and requires Ghostscript 6.0 or later.
Use this entry to define a program which is started after the
print process is finished. E.g. to run Acorbat reader to
show the generated .pdf file.
Run as User must be set only if this program has a GUI
and needs interaction whith the user.
If RedMon is running on a Server the Run as User featuere should never
be used !
If Print Errors is selected and the redirection program
terminates prematurely, RedMon will print an error report
page. This will contain the contents of the Log File.
Selecting Print Errors and Debug will result in much
wasted paper.
Print Errors is most useful when a redirection program
writes an error message to standard output, which is captured
by the log file.
Print Errors is ignored if Program handles output is
selected.
The redirection program and the AfterWorksProcess can obtain some print job parameters from the environment variables. Those set by RedMon are:
| REDMON_PORT | is the port name, typically "RPT1:". |
| REDMON_JOB | is the job number, an integer. |
| REDMON_PRINTER | is the name of the printer (e.g. "HP DeskJet 500"). |
| REDMON_SPOOL | is set to the spool directory if used. |
| REDMON_SPOOL_FILE | is set to the full qualified name of the spoolfile. |
| REDMON_MACHINE | is the name of the machine that created the job (e.g. "\\Client01"). |
| REDMON_USER | is the name of the user who owns the job (e.g. "JCITIZEN"). |
| REDMON_DOCNAME | is the name of the print job (e.g. "Printer Test Page"). %d in the program arguments will be replaced by the name of the document. |
| REDMON_FILENAME | is the file name of the output file if Prompt for filename is used, or the temporary file if Copy temporary file to printer is used. |
| REDMON_SESSIONID | is the session id of the Windows Terminal Server client session. This will be zero if Windows Terminal Server is not used. The sessionid will also be present on XP systems if You use fast user switching ! |
RedMon parameters and program variables may be setup with some substitution variables. For Your convenience RedMon offers a set of standard substitutions as follows:
| %1 | substitutes the output filename this may be generated by a template or a temporary file name generated by RedMon |
| %S | is substituted by the PDF Security options |
| %n | is substituted by the print sequence number incrementing the sequence number |
| %N | is substituted by the print sequence number without increment |
| %l | is substituted by the spoolfile directory |
| %s | is substituted by the full qualified name of the spoolfile |
| %w | is replaced by workfilename if writing to a file-share. If no share is used same as %1 ! |
| %h | is replaced by a hex number of the pipe used |
| %p | is substituted by the user homepath |
| %d | is substituted by the documentname Be carefull if using this name. Some applications may generated "unusual" filenames which may be not well behaved |
| %c | is substituted by the actual date yyyy-mm-dd memonic "creation date" |
| %t | is substituted by the time hh-mm-ss |
| %u | will be replaced by the username submitting the print job |
| %%anyvalue%% | is substituted by %anyvalue% |
| %env-var% | is substituted by the proper environment variable |
A Note on envionment variable substitution:
Always keep in mind that RedMon is running in the system context of the Windows Spooler !
This context does not have the user environment set up !
If running on a remote print server the environment will be completely different from what You may expect !
Before You use environment variable substitution take a close look at the setup to be quite sure what You will get !
RedMon environment variables will be replaced by the environment variable value !
Rules of string substitution:
Hint:
If You want a substitution of environment variables like %username% this may confict with the RedMon %u.
It's an good idea to write environment variables in UPPERCASE e.g. %USERNAME%, this will avoid any conflict with
the RedMon substitution functions.
RedMon substitution is CaSeSeNsItIvE !
TEMP and TMP are directories for temporary files.
Note that under Windows NT, the redirection program runs in the environment of the SYSTEM account. Apart from the above environment variables, very few are set. The registry HKEY_CURRENT_USER and user profile are that of "Default User".
"Run as User" causes the program to be run as the local user
who submitted the print job.
"Run as User" is only available for NT 4.0 or later.
Do not enable this if the printer is shared on a network.
Remote users can't run programs on your computer.
If a remote user tries to submit a job, the EXE will fail
with a message like:
Initialization of dynamic link library C:\WINNT4\system32\kernel32.dll failed. The process is terminating abnormally.
The spooler service will then be locked up until you
stop and restart it.
Run as User was intended for launching a GUI program
such as GSview locally via RedRun.
Some notes on this feature:
Use Special Options configuration page to aktivate the spool-option in RedMonEE
use Spool directory to specify the directory spool files should be kept. Note: Spoolfile will not be deleted by redmon itself ! You may switch on Delete files after processing them but this will on be active if option Spool files without processing them is not set.
use a template filename to specify the name of the spoolfile.
the full qualified spoolfile name will be constructed by redmon out of the directory and the template name.
to access these names use:
%l for the directory
%s for the spool filename
to activate this feature You have to switch on option Spool output to file.
to prevent redmon from proccessing this file switch on option Spool files without processing them.
If this feature is set, the command specified under Redirect Program an Parameter will not be executed !
Note: if spooling is active the redirected programm will process the spoolfile after the file has been
created. Handels for stdin/stdout/stderr will not be active and/or supported. Indeed these handles are
not needed and not useful with this feature !
Spool output to file
Spool files without processing them
Delete files after processing them
account Log
Instead of redirecting print files by means of stdin/stdout to a program (redirection)
the print output is written to a spool file. any other process may access this spool file without receiving input from stdin.
Use Special Options confguration page to use this feature.
This option is used to spool the file(s) with out redirection to a programm/module/process which receives the printer content by readding from stdin/stdout/stderr.
This option may be set if option Spool files without processing them is not set set!
It's completly useless to write printer output to a file and deleting it wihtout processing these files.
Accounting information is keep in the accounting log-file specified in the 'Special Options' menu. Information is written as CSV file woth the following information:
Note: tab is used as seperator.
Use Special Options confguration page to use this feature.
After writing all data to the redirection program, RedMon will
normally wait up to 300 seconds for the redirection program to
close before writing any output to the printer and closing the log file.
If the program takes longer than 300 seconds to terminate, the output
of the program may be lost or truncated.
Some standard output may not get written to the log file.
If this occurs, you may need to increase the Shut down delay.
If you tell RedMon to use a log file, all standard output from
the redirection program will be written to this file.
This is useful for capturing error messages from the program to
which you have redirected standard input.
To use a log file, you must check Use Log File and then
specify a valid file name for the log file.
If you check Debug, RedMon will write extra debugging messages
to the log file. These messages are probably only useful to the
author of RedMon.
If you want the log file to contain only the standard output
of the redirected program, uncheck Debug.
The log and debug options are set in the Output configuration
dialog.
See the Ghostscript Example.
Ghostscript is the name of a set of software that provides:
Ghostscript is available for Microsoft Windows, IBM OS/2, DEC VMS and many versions of Unix from
http://www.cs.wisc.edu/~ghost/
Ghostscript is a copyright work owned by Aladdin Enterprises.
GSview is a previewer from Ghostgum Software Pty Ltd, based on
Ghostscript. GSview is available from
http://www.cs.wisc.edu/~ghost/gsview/
If you wish to use Ghostscript with RedMon, you should install Ghostscript using the setup program provided with it. Use GSview to make sure that Ghostscript is running correctly before trying to use RedMon.
Windows 95/98 and Windows NT have slightly different configurations.
In the following examples, the Ghostscript command
c:\gs\gs7.03\bin\gswin32c.exe
and the Ghostscript include path
-Ic:\gs\gs7.03\lib;c:\gs\fonts
will both need to be changed to match your version of Ghostscript.
Ghostscript Example for Windows NT 4.0
Ghostscript Example with HP LaserJet printer
PDF writer
You can use Ghostscript with RedMon to create a PostScript printer.
To print to a HP DeskJet 500 printer whose queue name is "HP DeskJet 500",
first create a file named c:\gs\djet500.rsp which contains the following:
-Ic:\gs\gs7.03\lib;c:\gs\fonts -sDEVICE=djet500 -dNOPAUSE -dSAFER -sPAPERSIZE=a4
See the Ghostscript files Use.htm and Install.htm for an explanation of these options.
Start the Add Printer Wizard. On the second page select
Add Port.
Select Redirected Port then New Port. The RedMon Add Port dialog will appear. Accept the defaults.

Press Close then Configure Port.
The RPT1 Properties dialog will appear.
Enter the program name
c:\gs\gs7.03\bin\gswin32c.exe
and the arguments
@c:\gs\djet500.rsp -sOutputFile="%1" -
Make sure you include the space and dash at the end of the line.
Failure to do this could result in Ghostscript stalling the print queue.
Set output to Copy temporary file to printer and set printer to
HP DeskJet 500.

If you want to see what is written to stdout (i.e. you want to to look at error messages), see Log File Properties.

Press the OK buttons on the Log File Properties and RPT1 Properties dialog boxes.
Select the Apple LaserWriter II NT v47.0 from the
manufacturer and model page of the Add Printer Wizard.
Printing to this Apple LaserWriter II NT printer will
now print using Ghostscript. If you share this printer on a network, it will
appear as a PostScript printer to other network clients.
For a list of available Ghostscript printer devices, change to the Ghostscript directory
c:\gs\gs7.03\bin then run
gswin32c -h
If your printer is not listed, have a look at
http://www.cs.wisc.edu/~ghost/doc/printer.htm
to see if one of the existing Ghostscript printer devices will work
with your printer.
If you want to configure the redirected port later, open
the printer properties, select the Ports tab, then Configure Ports.
RedMon requires that bi-directional support be disabled, but it appears that it can't be enabled.

For the HP LaserJet 4L printer, you need to use the Ghostscript device ljet4 with resolution set to 300dpi. c:\gs\ljet4l.rsp would contain:
-Ic:\gs\gs7.03\lib;c:\gs\fonts -sDEVICE=ljet4 -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4
The Ghostscript command would be
c:\gs\gs7.03\bin\gswin32c.exe
and the arguments
@c:\gs\ljet4l.rsp -sOutputFile="%1" -
Make sure you include the space and dash at the end of the line. Failure to do this could result in Ghostscript stalling the print queue. Output would be
Copy temporary file to printer
and printer
HP LaserJet 4L
All other settings should be the same as the previous example.
PostScript written to a RedMon port can be converted to a PDF file using Ghostscript.
Install a printer driver for a colour PostScript printer, e.g. Apple Color LaserWriter 12/600.
If you select a black and white printer such as Apple LaserWriter II NT you will end up with your colour images becoming
greyscale.
To use RedMon and Ghostscript to create a PDF writer, you need to
use the Ghostscript device pdfwrite. c:\gs\pdfwrite.rsp would contain:
-Ic:\gs\gs7.03\lib;c:\gs\fonts -sDEVICE=pdfwrite -r300 -dNOPAUSE -dSAFER -sPAPERSIZE=a4
The Ghostscript command would be
c:\gs\gs7.03\bin\gswin32c.exe
and the arguments
@c:\gs\pdfwrite.rsp -sOutputFile="%1" -c .setpdfwrite -f -
Make sure you include the space and dash at the end of the line. Failure to do this could result in Ghostscript stalling the print queue. Output should be set to
Prompt for filename
All other settings should be the same as the previous examples.
You may wish to rename the printer from Apple Color LaserWriter 12/600 to Ghostscript PDF writer.
Configuration of output Options
Within this dialog You have to configure where Your output goes. If You have set the Prompt for filename option You can use:
Set the Cleanup Document names switch if You want to
remove Microsoft - string from document names.
The SaveAs dialog may be started with different Filename prompt Options
Prompt using rundll32
Use External Programm
Cleanup Document names
Filename prompt Options
By setting Prompt using rundll32 in the Output configuration
redmons internal SaveAs Dialog is shown by calling an entry-point
in redmonnt.dll. The dialog-box will always be shown in the
user context.
If You like to have a seperate program or if You want to use a
user-written module to prompt for the filename enter a
program in the Use External Programm entry.
You may specify an external programm name in the Use External Programm
to prompt the user for a filename.
This external programm is called with name of a pipe as first parameter and
a filename as the second parameter.
e.g.:
myprogram.exe <pipename> <filename>
The external program has to:
You may use redmonfn.exe if You don't like to have a call to redmonnt.dll.
The Cleanup Document names switch in the Output configuration dialog will remove:
from Your document name. Sorry this feature of building clean names may not be configurated by users. It's hard coded in redmon.
The Save as Dialog may be started with different options which could be set in the Output configuration dialog.
To start the SaveAs Dialog with:
RedMon Extended Edition supports PDF Security Setting. To use it You have to configurate these Setting and You have to activate it in the Port Settings.
You have to add %S in the GhostScript Arguments to activiate PDF Security. Watch the captation !
Level 1.2
Level 1.3
Level 1.4
OwnerPassword
UserPassword
Security Options
PDF Level 1.2 does not support Security setting !
PDF Level 1.3 Supports only 40-Bit encryption.
PDF Level 1.4 Supports only 40-Bit encryption and 128-Bit encryption of documents. At least You must specify the OwnerPassword !
Specifies the Owner's password for encryption of documents. This password must be specified to activiate PDF security.
Specifies the User's password for accessing encrypted of documents. If this password is used, user's must enter the password if opening the Document.
You may set the following options:
| enable printing | Print document (possibly not at the highest quality level) |
| enable modify | Modify contents of document, except as controlled by bits 32, 256 and 1024. |
| enable copy | Copy text and graphics from document other than that controlled by bit 512 |
| enable text annotations | Add or modify text annotations, fill in interactive form fields, and if bit 256 is set, create or modify interactive form fields |
| disable extract | Extract text and graphics (in support of accessibility to disabled users or for other purposes). |
| disable assemble | Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even when 16 is clear |
| disable HQ Printing | disable high quality printing |
| disable ALL options | will set all possible options to OFF |
RedMon Extended Edition comes with an RPC feature which allows You to share printers running RedMon.
Set Use RPC Communication if You want to use the RPC communicastion feature.
The Send Error Msg option will send error-reports back to the client. This option
is the same feature if You switch on Print Errors for local printing.
The Transfer Output option will send the generated file back to the client running the RPC-Server redmonS.exe
Use RPC Method to choose the RPC Communication layer. RPC could use
Named pipes or TCP/IP for communication. Named pipes should be the
prefered method, but for security reasons my not work because the printer
runs in the system context.
To configurate TCP/IP You may set a Default port which is to be used by TCP/IP.
If RedMon runs as a shared printer on a server, You may setup a external program
which will be executed after the printing has finished.
Enter a modul in Programm to Start after works and the appropiate parameters
for this modul.
Use RPC Communication
RPC Method
Transfer Output
Default port
Named pipes
TCP/IP
You may setup RedMon to use RPC for communication with the client.
The RPC communication layer may use Named pipes or TCP/IP for
communication.
The RPC feature alows You to transfer the generated file back to the
client if You set the Transfer Output. To use this feature clients have to
run the RedMon RPC Server
Configuration of the RPC Communication layer to be used.
You may use TCP/IP or named pipes. Named pipes should be the prefered communication layer,
but
This option will transfer the generated output file to back to the client. If configurated the user on the client is prompted for a filename to save the output file.
Set the default port used by the RPC feature. Only needed if You are using TCP/IP for communication.
Setup RPC to use named-pipe as communication layer. As an alterante
You may use TCP/IP for the RPC communication layer.
"Named Pipes" should be the prefered method for RPC communications. But there may be
some security reasons which will prevent You to set up RPC communication via this transportation layer.
You should test if RedMon EE works with "named pipes" first. If You get an error "Access denied" You
have to switch to TCP/IP as the RPC communication layer.
Setup RPC to TCP/IP as communication layer.As an alterante
You may use Named pipes for the RPC communication layer.
To setup and establish a communication, RedMon needs - as every TCP/IP communication -:
But RedMon running on a remote printer will only have the following information:
With the help of a DNS-service or a WINS-service running in Your network TCP/IP will be able to
retrieve the ip-address 10.10.70.156 from the clientname "\\client615".
If You are using a single-user - single computer network setup You should setup a fixed port for
communication. If You have a multi-user - single computer network setup RedMon will generated
a port-number by calculating a CRC16 checksum from the username. This CRC16 checksum will be
used as the port-number for communication.
If you have problems, it is recommended that you configure the
RedMon port to use a Log File with debugging turned on.
Before configuring RedMon, make sure that your redirection program
runs correctly from the command line.
Problem: When attempting to print, a message box titled Printers Folder
appears saying There was an error writing to RPT1: for the printer
(Apple LaserWriter II NT): The system cannot write to the specified device.
RedMon couldn't start the program you specified.
Look in the Log File for more details.
Make sure you have disabled bi-directional printer support.
Problem: Ghostscript locks up.
You might have forgotten to append a space and dash to the end of
the Ghostscript arguments. This is needed to make Ghostscript read
from standard input.
Problem: Ghostscript will process some jobs, but not others.
If you print to FILE:, Ghostscript is able to process these jobs.
Make sure the Spool Settings are set to
Disable bi-directional support for this printer.
If this is the problem, the log file with debugging turned on will
include the message.
REDMON ReadPort: You must disable bi-directional printer support for this printer.
Problem: Attempting to configure a port gives the error message:
"This option is not available or not allowed".
You may need to configure the RedMon port from the computer
running RedMon, rather than a remote computer.
Problem: Windows NT lpd treats data as text instead of raw.
This isn't a problem with RedMon, but you might just need this
information. When printing from Unix to NT, two common methods
are to use Samba to write to a RedMon port, or to use lpr to write to
the lpd service on NT. The lpd service is not installed by default.
Windows NT lpd sometimes decides to treat the incoming stream as text rather than raw, causing the PostScript code to be printed instead of being interpreted. This can be fixed with an appropriate command option for lpr at the remote Unix box, or at the Windows NT end with regedit, see:
http://www.jsiinc.com/TIP0400/rh0473.htm
Edit the registry and search for:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LPDSVC\Parameters
Add Value name SimulatePassThrough of type REG_DWORD and set it to 1.
To use the RPC communication feature user have to run the RedMon RPC Server program redmonS.exe on clients, which print their output on a remote print server.
Hint:
If You use Windows XP with Service Pack 2 installed and have trouble with RPC please read:
Microsoft Technet !
May be You have to add the following key to Your registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies \Microsoft\Windows NT\RPC\RestrictRemoteClients - DWORD - VALUE 0
RedMonEE has changed to overcome this feature of SP2 with release 1.8.0.5
Output generated by a printer running RedMon could be send back to the RedMon RPC Server.
You even can use the RedMon RPC Server with RedMon running on the Client.
If RedMon is unable to communicate with a RedMon RPC Server on the client, the RPC Communications feature
will not be used by RedMon, the RedMon RPC feature will be deactiviated for this specific job.
If You don't need user interaction, or if the processing of the output is done on on the server
The RedMon EE RPC-Server feature will not be needed.
If Your users like to have their ouput back on the client You should install the redmon RPC Server
on all clients using the print server.
Clients connected to a print server don't need to run RedMon or GhostScript. They only need to
have RedMonS installed and setup.
The figure shows the basic operation of RedMon EE with the RPC feature installed.
The Redmon EE RPC Server could be configurated to start when Your system is initialized. Users will see only a small entry in the task-bar, if a task-bar is present. Please note that some WTS-systems don't use taskbar's on the users desktop.
Before using the RPC Server, users will have to setup some parameters in the configuration menu.
On the RPC Output Configuration page You can define a standard program that is started after the
ouput from the server has been received on the client. Acrobat Reader is a good example for a
process to start after the PDF-File has been printed.
On the RPC configuration page the basics of the RPC communication have to be defined.
These settings must confirm to the Server Configuration of RedMon running on the print server !
If Redmon on the Server is configurated to use TCP/IP and a default port, the RPC configuration
on the Client have to be set to the same values. Because of the different security levels of a
user and RedMon running on the print server, it's not possible to read these settings directly
form the server.
On the RPC User Interface page You may setup the user-interface of RedMonS and the trace and log
facility of the RCP Server.
RPC Output Configuration
RPC configuration
RPC User Interface
output file template
Named Pipes
The RPC Output Configuration Dialog is similar to the redmon Output configuration.
Set the Programm to Start after works to any program You like to start after the print job is finished.
for some users it might be a good idea to start Acrobat Reader to view the results coming out of the print job.
By setting the program arguments entry to %1 the generated output file will be passed to the program.
If You set SaveAs Dialog to on a dialog box will be presented to set the filename and path of the
document generated by the print job.
If You switch SaveAs Dialog to off You may define a output file template to generate fixed filenames for
each and every output file received from the print server.
If You are prompted by the SaveAs Dialog, the default filename may be
To generate clean document names You may switch on Cleanup Document names to remove some strange prefixes like Microsoft Word -
The RPC-Configuration is not for novice Users!
You have to set Use RPC Communication if You want to use this feature. It's useless to have redmonS up and
running if You don't want to use the RPC feature. But we may have some trouble shooting situations where it
could be usefull to switch the RPC feature to off.
If You set Autostart RPC Server the RPC server feature will be started automaticaly if RedMonS is started.
Users may start and stop the RPC Server manually from the menu-bar.
If You would like to have Popup messages for errors from the print server set the popup Msg switch.
The most important thing to configure is the RPC communication layer to be used. Your setting on the client
must match the setting on the print server !
The default value should be Named Pipes because of the advantage of a direct addressability by building the
names of the pipe from computername and username, these are the only information the print server will have
to identify the client submitting the print job.
Because of the nature of the print spooler, there could be some security reasons that will not allow the
system context to access named pipes. If You run the RPC server and RPC client with Named Pipes from the user context everything
will work. The same is not true if the RPC client runs within redmon in the system context. Therfore You may
use TCP/IP as the RPC communication layer. This will work even in the system context where RedMon is executed.
Please note:
The only address information RedMon will have on a print server are:
this tuple of information may be sufficient to get the true IP-address (10.123.56.67) of the RPC server.
To access the RedMon RPC server running on the client, the IP-address is not sufficient. We have to
define a port on which the server is listening.
If Your network is designed on a one Computer on User basis You don't have any issues. The best solution
is to have a well-known port for all clients.
If Your network is designed on a one Computer many Users basis, we have an issue because we need
different ports for different users. The RPC-Client running un the print server must generate a port
for each active user on the same client. To generate a port number RedMon's RPC feature uses a 16-bit-CRC
code generated over the username.
You may have an issue if:
because RPC and TCP/IP may be unable to get the IP-address only from the computername.
We will have RPC-Test feature in RedMon in the next release, which will help You to setup
the RPC parameters.
The User Interface page in the configuration dialog sets the options for the UI and debug and trace options.
The Start minimized mimized option could be used to run RedMonS in the background.
The Run in System Tray option could be used to have a RedMonS Icon in the system tray of the taskbar.
The Users will see only a small entry in the task-bar, if a task-bar is present. Please note that
some WTS-systems don't use taskbar's on the users desktop.
To have the RPC Server RedMonS up and running each time windows is starting, use the Run RPC Server at Windows Startup switch.
In case of any trouble with the RCP-Server RedMonS set Switch on Debug. RedMonS will genrated detailed information on what's going on under the hood.
Information Messages are always written to RedMonS window. If You like to have debug and trace messages online the Online Trace switch.
Debug-messages my also be written to a log-file set the log-file template in Write trace output to file.
The output file template is used to generate default filenames. You may use any environment variable as %my var" substitutions to generate this filenames.
named pipes are the perfered method for PRC communication because we don't have any issues with adressing.
Copyright (C) 1997-2000, Ghostgum Software Pty Ltd. All rights reserved. Copyright (C) 2004, internet-support foehr.com. All rights reserved.
This file is part of RedMon Extended Edition.
This program is distributed with NO WARRANTY OF ANY KIND. No author
or distributor accepts any responsibility for the consequences of using it,
or for whether it serves any particular purpose or works at all, unless he
or she says so in writing. Refer to the RedMon Free Public Licence
(the "Licence") for full details.
Every copy of RedMon must include a copy of the Licence, normally in a
plain ASCII text file named LICENCE. The Licence grants you the right
to copy, modify and redistribute RedMon, but only under certain conditions
described in the Licence. Among other things, the Licence requires that
the copyright notice and this notice be preserved on all copies.
RedMon: Author: Russell Lang, Ghostgum Software Pty Ltd. Internet: http://www.ghostgum.com.au/
RedMon Extended Edition: Author: Lutz Ahrens, internet-support foehr.com Internet: http://www.is-foehr.com/