Configuring the IRAF Environment

Since IRAF is a machine and operating system independent, distributed system capable of executing on a heterogeneous network, it has its own environment facility separate from that of the host system. Host system environment variables may be accessed as if they are part of the IRAF environment (which is sometimes useful but which can also be dangerous), but if the same variable is defined in the IRAF environment it is the IRAF variable which will be used. The IRAF environment definitions, as defined at CL startup time, are defined in a number of files in the [IRAF.VMS.HLIB] directory. Chief among these is the system wide zzsetenv.def file. Additional user modifiable definitions may be given in the user's login.cl file.

[IRAF.VMS.HLIB]ZZSETENV.DEF

The zzsetenv.def file contains a number of environment definitions. Many of these define IRAF logical directories and should be left alone. Only those definitions in the header area of the file should need to be edited to customize the file for a site. It is the default editor, default device, etc., definitions in this file which are most likely to require modification for a site.

If the name of a default device is modified, the named device must also have an entry in the dev$termcap file (terminals and printers) or the dev$graphcap file (graphics terminals and image displays). There must also be an editor.ed file in dev for each supported editor; edt, emacs, and vi are examples of currently supported editors.

Sample values of those variables most likely to require modification for a site are shown below.

For example, you may wish to change the default editor to "emacs", the default printer to "vmsprint", or the default image display to "imt800". Note that the values of terminal and stdgraph, which also appear in the zzsetenv.def file, have little meaning except for debugging processes run standalone, as the values of the environment variables are reset automatically by the IRAF stty task at login time. The default stty setting in VMS/IRAF V2.11 is "xterm". This is consistent with the default values of terminal and stdgraph defined in zzsetenv.def to be "xterm" and would be appropriate for users with workstations running X based DECwindows/VMS or Motif/VMS. The issues of interfacing new graphics and image display devices are discussed further in Graphic devices.

The template LOGIN.CL

The template login.cl file, hlib$login.cl, is the file used by mkiraf to produce the user login.cl file. The user login.cl file, after having possibly been edited by the user, is read and executed by the CL every time a new CL is started to define the initial configuration of the CL. Hence this file plays an important role in establishing the IRAF environment seen by the user.

Examples of things one might want to change in the template login.cl are the commented out environment definitions, the commented out CL parameter assignments, the foreign task definitions making up the default USER package, and the list of packages to be loaded at startup time. For example, if there are host tasks or local packages which should be part of the default IRAF operating environment at your site, the template login.cl is the place to make the necessary changes.