When IDL starts, it checks for the presence of a number of environment variables. If one of these environment variables exists, its value is used in one of two ways:

  • As the value for a preference
  • To configure IDL’s environment in such a way that it can load and run


Preferences are internal values that control various aspects of the environment IDLpresents to its users. While user preference values are most often retrieved from preference files, the value of any preference can be defined by setting an environment variable of the same name to the appropriate value. For example, to set the value of the IDL_PATH preference, which supplies the initial value of the !PATH system variable, you would define an environment variable named IDL_PATH. If an environment variable corresponding to a preference exists, its value will be used as the value of that preference unless the value is explicitly overridden with a value set at the command line when invoking IDL. See IDL System Preferences for a detailed description of IDL’s preferences system and the precedence given to different sources for preference values.

Non-Preference Environment Variables

IDL checks the following environment variables at startup, but does not use the values as the values of IDL preferences. See the GETENV routine to retrieve the current setting of any environment variable within IDL.


The Java Connectivity bridges use the value of the CLASSPATH environment variable to locate IDL-supplied and user-defined Java classes.

Note: When using the IDL_Java Bridge, the Workbench may ignore the current directory in CLASSPATH. Copy the .class file to any other directory explicitly listed in CLASSPATH.


On UNIX platforms, IDL uses the DISPLAY environment variable to choose which X display is used to display graphics.


IDL uses the value of the HOME environment variable when storing user-specific information in the local file system.

Note: Under Microsoft Windows, the HOME environment variable might not be set in all cases. If it is not set, IDL first attempts to substitute the USERPROFILE environment variable (which usually looks something like C:\Documents andSettings\username where username is the login name of the current user). If USERPROFILE is not set, IDL uses the value of the first of the following it finds: the TEMP environment variable, the TMP environment variable, or the Windows system directory.


The IDL export bridges check the value of the IDL_BRIDGE_DEBUG environment variable to enable or disable debugging support. Setting this environment variable to an appropriate value causes the Connectivity bridge to send debugging information that would typically appear in the IDL Output log to stdout. In addition, on Windows systems, debugging information is also written with the OutputDebugString() API, whose output can be captured by the Debug Monitor (DBMON.exe) tool (provided in the Platform SDK), Visual Studio, or the WinDbg debugger.

When IDL_BRIDGE_DEBUG is enabled, the following debug information is available:

  • Library load errors (on Windows)
  • IDL execution errors
  • Output from the IDL print command

The table below shows the valid values for the IDL_BRIDGE_DEBUG environment variable and their meanings:




Turn off debug output


Turn on debug output

All other values will be ignored.


The IDL-Java bridge uses the value of the IDLJAVAB_CONFIG environment variable to locate the IDL-Java bridge configuration file.


The IDL-Java bridge uses the value of the IDLJAVAB_LIB_LOCATION environment variable to determine which JVM shared library within a given Java version to use.


On UNIX systems, the Java Connectivity bridges use the value of the LD_LIBRARY_PATH environment variable to determine where IDL’s shared library files are located.


When IDL asks for an operating system resource such as a shell, the executable file for that resource must be located in the operating system’s path. While IDL itself does not use the value of the PATH environment variable explicitly, its value does affect IDL’s behavior when attempting to launch other applications.


On UNIX platforms, IDL uses the environment variable TERM to determine the type of terminal in use when IDL is in command-line mode.