HELIOS Base UB User manual


A 3 Technical notes
In the following we describe the structure of the HELIOS printer log file and server log file. Please refer to your UNIX manuals for a description of the "system messages" file. Both files can be inspected in HELIOS Admin by selecting the appropriate item from the Lists menu.
A 3.1 Printer log file structure
Each entry in "HELIOSDIR/var/adm/printer.acct" (with the appendices ".0", yesterday to ".6", seven days ago) has the following format:
status, ptrName, "username", "JobTitle",
startTime, duration, pages, ListOfFonts
Description
status (decimal):
3 General UNIX warning
2 PostScript output
1 UNIX info (e.g. extended print information)
0 OK
-1 Communications error
-2 PostScript error
-3 Terminated job (e.g. killed signal)
-4 UNIX error (e.g. file not found)
ptrName (string): logical (UNIX) printer name
"username" (string): from PostScript header of job
"JobTitle" (string): i.e. document name, from PostScript header of job
startTime (decimal): seconds since 1.1.1970 (UNIX time_t values)
duration (seconds): = endTime-startTime
pages (decimal): = endPage-startPage (determined by printer interrogation with the "pagecount.ps" query.
ListOfFonts (string array): fonts used, space delimited
If status0, the line is followed by the error output of the printer, bracketed by the lines "Error output:" and "End error output". Also, if no printable data are sent to the printer (pages=0), then duration will be "0".

Note: Messages are only written to the printer log file if you activated the Accounting File option when creating the printer queue with HELIOS Admin.

User and document names in print jobs
The user name logged with each print job in the printer log file "HELIOSDIR/var/adm/printer.acct" (and the user to which error messages are sent as mail) is determined by interrogating the PostScript header of the job for the name in the "%%For" comment.
Under Macintosh System 7.x or later, the name in the "%%For" comment is automatically set to the "Owner Name" specified in the Network Identity section of Apple's File Sharing (Start/Stop) control field. In Mac OS X, the name is taken from the Name entry in the "Accounts" section of the Mac OS X System Preferences.
If the "%%For" comment or the name field is missing, all jobs will be allocated to "nobody" by default.
If a name is specified but cannot be found in the list of long or short names in "/etc/passwd", the specified (unknown) user name will still appear in the printer log file, but any error messages are sent as mail to "root" instead.

Note: If you check Save My Name Only or Save My Name and Password in the Apple Chooser, the name saved in the system may not be the same as the name in the File Sharing control field, since it is possible to overwrite the prompted name before saving it. The name stored in File Sharing is the one used by the log file.

The document title is determined by interrogating the PostScript header of the job for the name in the "%%Title" comment.
It may be possible for you to set these comments for UNIX and MS-DOS print jobs, too, in order to ensure that they also have complete records in the printer log file.
A 3.2 Server log file structure
Each entry in "HELIOSDIR/var/adm/server.acct" (with the appendices ".0", yesterday to ".6", seven days ago) has the following format:
status, svrName, ws_address, pe_status, usrname,
startTime, duration, usrTime, sysTime, rusage
Description
status = 1 (normal login)
svrName (string): server name
ws_address (string): workstation network address (TCP/IP or AppleTalk)
pe_status (decimal): UNIX process exit status (0 = OK; 1...127 = error exit, i.e. the program has been terminated; 128... = abnormal termination, ask your system administrator)
usrname (string): user login name
startTime (decimal): login time, seconds since 1.1.1970 (UNIX time_t values)
duration, seconds: = endTime-startTime
usrTime (decimal): processor time consumed by user process
sysTime (decimal): processor time consumed by the process while in system mode
rusage (decimal array): = resource usage information. The structure is operating system dependent - see the description of "getrusage" in your UNIX documentation. Some of the resource usage fields are decoded and used by HELIOS Admin in the Server Log File window.
Each entry in "HELIOSDIR/var/adm/server.acct" has the following format for an unsuccessful login:
status, svrName, ws_address, pid, name, time
where:
status = 2 (bad login)
svrName (string): server name
ws_address (string): workstation network address (TCP/IP or AppleTalk)
pid: process ID
name (string): attempted login name
time (decimal): attempted login time, seconds since 1.1.1970 (UNIX time_t values)
A 3.3 PostScript RIP inits in
HELIOS Admin
Printer INITs in HELIOS Admin must not contain the "exitserver" operator, because the following print job will not execute properly. This is because the INIT is sent to the printer in the same PAP (RIP) session as the following job.
Discussion: The INIT does normally not need to permanently change the server dictionary, because it automatically pre-fixes each and every print job. Furthermore, it is not recommended to try and change the server dictionary in an Admin INIT, because serverdict information is written each time you print to RIP EEPROM, and the latter has a programming life of 10,000 cycles only.
Solution: Simplify the INIT by removing the "exitserver" operator.
If possible, the INIT should also be designed to test the parameter it wants to change first in order to see if the parameter has already the required value. This saves RIP processing time, e.g.:
INIT recommended in the RIP manual:
serverdict begin 0 exitserver
statusdict begin 2400 setresolution end
INIT recommended for use in HELIOS Admin:
statusdict begin
resolution 2400 eq not {2400 setresolution} if
end
HELIOS Admin can be extended with custom PostScript calibration tools, which appear automatically in the Edit Initialization menu. HELIOS will provide programming guides for developing such tools to typesetter manufacturers upon request.

Note: INITs cannot contain PostScript code to interrogate the RIP because at present there is no way of returning the response to HELIOS Admin.

Important: Please contact your RIP supplier and not HELIOS if you have any problems and/or questions regarding RIP INITs or RIP configuration!

A 3.4 UNIX kernel tuning
This section describes optional tuning procedures which require substantial UNIX experience. With the exception of Other tuning tips (below), they should not be attempted by beginners.
If the HELIOS host has plenty of memory, it may be worthwhile adjusting some data structures inside the operating system to be larger than normal. This keeps more information in memory that otherwise may need to be continuously re-read from the disk. Modern operating systems adjust the data structure values depending on the available memory size. See your UNIX documentation for more information.
For more information on UNIX kernel tuning see the HELIOS web site:
http://www.helios.de/support/unixkernel.phtml
Other tuning tips
EtherShare contains highly-efficient AppleTalk router modules which do not present an excessive load on the host's CPU, even with heavy routing traffic. You can often improve network response by installing two or more network cards in your host, and arranging your network to share traffic between two separate network segments. This approach is particularly beneficial if you have installed the ImageServer product - in such cases we recommend installing a second network card to deal with printer/RIP traffic only, and thus separate it from workstation traffic. There is no theoretical limit to the number of network cards supported by the EtherShare router, but generally there are no gains to be made by installing more than 3 cards, except in the fastest hosts.
A 3.5 TCP ports used by HELIOS
Port
Protoc.
Where
Function
67
UDP
Server
PCShare DHCP server port
110
TCP
Server
EtherShare POP 3 Mail server
137
UDP
Server
PCShare Browsing
138
UDP
Server
PCShare NetBIOS
139
TCP
Server
PCShare SMB/CIFS
427
UDP
Server
HELIOS SLP server
445
TCP
Server
PCShare SMB/CIFS
515
TCP
Server
BSD Remote LPR
5481
TCP
Server
AFP Server
2000
UDP
Server
PCShare 1.x native DOS/Win 3.x
2001
TCP
Server
EtherShare Mail server
2001
UDP
Server
PCShare 2.x native DOS/Win 3.x
2002
TCP
Server
ImageServer Event Listener
2002
UDP
Server
Syslog update events
2003
TCP
Server
PCShare service port
2004
TCP
Server
EtherShare Admin
2005
TCP
Client
Create PDF Server (Acrobat Distiller)
2006
TCP
Server
HELIOS Admin
2007
TCP
Server
EtherShare print spooler (papsrv)
2008
TCP
Server
Authentication server
2009
TCP
Server
WebShare WebObjects Server
2010
TCP
Server
WebShare File Server
2011 - 2014
TCP
Client
Printing PCShare native DOS printsrv
2011 - 2015
TCP
Server
Temporary ports used by WebShare File Server
2016
TCP
Server
WebShare File Server service port
2017
TCP
Server
Notification server service port
2018
TCP
Server
Create PDF Server (GhostScript)
2019
TCP
Server
Preview rendering server
2021 - 2023
TCP
Client
Printing PCShare native DOS printsrv
2024
TCP
Server
Script Server service port
2209
UDP
Client
HELIOS Admin telnet debugging port
2222
UDP
Server
EtherShare RPC
2223
UDP
Server
PCShare RPC
1
On Mac OS X, if the native OS X AFP services are running when EtherShare starts, then EtherShare afpsrv will be assigned a free port. This will be noted in the system log (e.g. "afpsrv[PID]: TCP/IP port 548 busy, using port ...").



© 2005 HELIOS Software GmbH