In this chapter we describe the structure of the HELIOS printer and
server log files (which can be inspected in the HELIOS Admin Lists
menu), show how to modify PostScript RIP inits in HELIOS Admin,
describe error messages, etc.
At the end of the chapter you will find a table listing all TCP ports that are used by the HELIOS services.
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
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 by signal) | |
-4 | UNIX error (e.g. file not found) |
ptrName:
Logical (UNIX) printer name
"username":
From PostScript header of job
"JobTitle":
Document name, from
PostScript header of job
startTime:
Seconds since 1-1-1970 (UNIX
“time_t” values)
duration:
endTime-startTime in seconds
pages:
endPage-startPage (determined by
printer interrogation with the “pagecount.ps” query.
ListOfFonts:
Fonts used, space delimited
If status
is different from 0, 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 was sent to the printer
(pages=0
), then duration
will be “0”.
Messages are only written to the printer log file if you
activated the Accounting File
option when creating
the printer queue with HELIOS Admin.
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 Mac OS 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
control field.
In OS X, the name is taken from the Name
entry in the “Accounts”
section of the “System Preferences”.
If the “%%For” comment is missing, all jobs will be assigned 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.
Mac OS 8/9:
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 because 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.
OS X:
The name can be obtained from the “Computer Name”
field in “System Preferences > Sharing”.
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.
“HELIOSDIR/var/adm/server.acct” (with the appendices “.0”, yesterday, to “.6”, seven days ago) has entries for successful logins and for failed log attempts.
For a successful login, the “server.acct” entry has the following format:
status svrName ws_address status-pid "usrname" startTime duration usrTime sysTime rusage
status:
1 (normal login)
svrName:
Server name
ws_address:
Workstation network address
(TCP/IP)
status-pid:
Process exit status (0 = OK;
1…127 = error exit, i.e. the program has been terminated;
128… = abnormal termination, ask your system administrator) and process ID
"usrname":
User login name
startTime:
Login time, seconds since 1-1-1970
(UNIX “time_t” values)
duration:
endTime-startTime (in seconds)
usrTime:
Processor time consumed by user
process, in the form <seconds>:<microseconds>
sysTime:
Processor time consumed by the process
while in system mode, in the form <seconds>:<microseconds>
rusage:
Resource usage information. The
structure is operating system dependent – see the description
of “getrusage” in your host machine documentation. Some of
the resource usage fields are decoded and used by HELIOS
Admin in the “Server Log” window.
For an unsuccessful login, the “server.acct” entry has the following format:
status svrName ws_address pid "name" time
status:
2 (bad login)
svrName:
Server name
ws_address:
Workstation network address (TCP/IP)
pid:
Process ID
"name":
Attempted login name
time:
Attempted login time, seconds since
1-1-1970 (UNIX “time_t” values)
“HELIOSDIR/var/adm/dtsync.log” (with the appendices “.0”, yesterday, to “.6”, seven days ago) has entries for the starting date and time of a synchronization, the sync job name, and the synchronization message.
The messages have the following format (from left to right):
startTime syncjobName message
startTime:
Date and time the sync job started
syncjobName:
Name of the sync job
message:
Number of updated (synced)/skipped (unsynced)/removed
(deleted) files and their size, number of processed directories, and the
time consumed by the print job
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 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
INITs cannot contain PostScript code to interrogate the RIP because at present there is no way of returning the response to HELIOS Admin.
Please contact your RIP supplier and not HELIOS if you have any problems and/or questions regarding RIP INITs or RIP configuration!
HELIOS error logging can be done with the “syslogd” program on UNIX platforms, and with the event logging system on Windows platforms.
“syslogd”, which runs continuously in the background within UNIX, has the task of processing status and error messages from other active programs, and sending them to a specific output device or file in accordance with its configuration. HELIOS Admin uses the services of “syslogd” to output system error messages and warnings.
By changing the configuration file “/etc/syslog.conf” on the server, the administrator is able to exactly control the flow of messages. For example, messages can be automatically passed on to users logged-on to the system (or entire groups) or simply stored in files or output to the system console.
Make sure that “syslogd” is appropriately configured on your operating system. Otherwise the HELIOS services will not log any error messages nor warnings.
Viewing error logs on Windows platforms is done e.g. via
the “Event Viewer” program (Computer Management > System
Tools > Event Viewer
), which provides application error
records in the “Application” log file, security audit records
in the “Security” log file, and system error records in the
“System” log file.
This section describes optional tuning procedures which require substantial UNIX experience. These procedures 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 website:
www.helios.de/web/EN/support/unixkernel.html
The WebShare login is by default RSA 1024 bit encrypted.
This is done within JavaScript in the web browser. Slow
network clients (e.g. 1st generation Apple iPhone) have a
JavaScript timeout, which will result in unsuccessful
logins. The preference RSABits allows
reducing the login to 640 bits, which is still a very high
security and allows the iPhone to work without any timeouts.
It can be changed via the following preference:
# prefvalue -k Programs/authsrv/RSABits -t int 640
After restarting “authsrv” or restarting the HELIOS services
(stop-helios
and start-helios
), the
new encryption setting is activated. The WebShare login page
will now show (Crypted RSA 640 bit
).
Port | Protocol | Where | Function/Service |
---|---|---|---|
67 | UDP | Server | 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 |
445 | TCP | Server | PCShare SMB/CIFS |
512 | UDP | Server | EtherShare biff notification |
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 |
2003 | UDP | Server | syslog notification |
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 service port |
2009 | TCP | Server | WebShare Web 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 | Tool Server |
2021-2023 | TCP | Client | Printing PCShare native DOS printsrv |
2024 | TCP | Server | Script Server service port |
2025 | TCP | Server | Desktop server HelRPC port |
2026 | TCP | Server | mDNS proxy server registrations |
2027 | TCP | Server | HELIOS DHCP service port |
2028 | TCP | Server | DHCP Server HelRPC port |
2029 | TCP | Server | IT Monitor Server service port |
2030 | TCP | PDC | HELIOS PDC logon service |
2031 | TCP | Server | HELIOS Index Server service port |
2209 | TCP | Client | HELIOS Admin telnet debugging port |
2222 | UDP | Server | EtherShare HelRPC port |
2223 | UDP | Server | PCShare HelRPC port |
5353 | UDP | Server | mDNS Server (“Bonjour”) port |
5354 | TCP | Server | mDNS Windows port (loopback only!) |