directory where GRASS lives. This is set automatically by the startup script.
name of $HOME/.grass8/rc file. Defines the system wide value when starting a GRASS session. Within a GRASS session, a temporary copy of this file will be used.
[grass startup script, g.extension]
specifies additional path(s) containing local and/or custom GRASS modules extra to the standard distribution.
[grass startup script]
allows specifying additional GISBASE for local GRASS modules (normally installed as GRASS Addons by g.extension module) extra to standard distribution. The default on GNU/Linux is $HOME/.grass8/addons, on MS Windows %APPDATA%\Roaming\GRASS8\addons.
specify paths where support files (etc/) may be found external to standard distribution.
the compression method for new raster maps can be set with the environment variable GRASS_COMPRESSOR. Supported methods are RLE, ZLIB, LZ4, BZIP2, and ZSTD. The default is ZSTD if available, otherwise ZLIB, which can be changed with e.g. GRASS_COMPRESSOR=ZSTD, granted that GRASS has been compiled with the requested compressor. Compressors that are always available are RLE, ZLIB, and LZ4. The compressors BZIP2 and ZSTD must be enabled when configuring GRASS for compilation.
[various modules, wxGUI]
encoding for vector attribute data (utf-8, ascii, iso8859-1, koi8-r)
If set, GIS_ERROR_LOG should be the absolute path to the log file (a relative path will be interpreted relative to the process’ cwd, not the cwd at the point the user set the variable). If not set, $HOME/GIS_ERROR_LOG is used instead. The file will only be used if it already exists.
set to any value to send user mail on an error or warning that happens while stderr is being redirected.
specifies the font as either the name of a font from $GISBASE/etc/fontcap (or alternative fontcap file specified by GRASS_FONT_CAP), or alternatively the full path to a FreeType font file.
the encoding to be assumed for text which is drawn using a freetype font; may be any encoding know to iconv.
[g.mkfontcap, d.font, display drivers]
specifies an alternative location (to $GISBASE/etc/fontcap) for the font configuration file.
Generates a warning if GRASS_FULL_OPTION_NAMES is set (to anything) and a found string is not an exact match for the given string.
either text (text user interface), gtext (text user interface with GUI welcome screen), or gui (graphical user interface) to define non-/graphical startup. Can also specify the name of the GUI to use, e.g. wxpython (wxGUI). Also exists as a GRASS gisenv variable (see below). If this shell variable exists at GRASS startup, it will determine the GUI used. If it is not defined startup will default to the last GUI used.
defines name of HTML browser. For most platforms this should be an executable in your PATH, or the full path to an executable.
Mac OS X runs applications differently from the CLI. Therefore, GRASS_HTML_BROWSER should be the application’s signature, which is a domain-like name, just reversed, i.e. com.apple.Safari. To find an application’s signature, type the following in a Terminal (fill in the path to the application you are interested in, for example: /Applications/Safari.app):
grep -A 1 "CFBundleIdentifier" /path/to/application.app
Â The signature is the <string> following the <key>, without the bracketing <string> tags.
if the environment variable GRASS_INT_ZLIB exists and has the value 0, new compressed integer (CELL type) raster maps will be compressed using RLE compression.
If the variable doesn’t exist, or the value is non-zero, zlib compression will be used instead. Such rasters will have a compressed value of 2 in the cellhd file.
Obviously, decompression is controlled by the raster’s compressed value, not the environment variable.
if the environment variable GRASS_ZLIB_LEVEL exists and its value can be parsed as an integer, it determines the compression level used when new compressed raster maps are compressed using zlib compression. This applies to all raster map types (CELL, FCELL, DCELL).
Valid zlib compression levels are -1 to 9. The GRASS_ZLIB_LEVEL=-1 corresponds to the zlib default value (equivalent to GRASS_ZLIB_LEVEL=6). Often GRASS_ZLIB_LEVEL=1 gives the best compromise between speed and compression.
If the variable doesn’t exist, or the value cannot be parsed as an integer, zlib’s default compression level 6 will be used.
[various modules, wxGUI]
it may be set to either
- standard - sets percentage output and message formatting style to standard formatting,
- gui - sets percentage output and message formatting style to GUI formatting,
- silent - disables percentage output and error messages,
- plain - sets percentage output and message formatting style to ASCII output without rewinding control characters.
swaps mouse buttons for two-button or left-handed mice. Its value has three digits 1, 2, and 3, which represent default left, middle, and right buttons respectively. Setting to 132 will swap middle and right buttons. Note that this variable should be set before a display driver is initialized (e.g., d.mon x0).
it may be set to either less, more, or cat.
[used during install process for generating man pages]
set Perl with path.
[used during addon install/reinstall process for generating man pages (download commit from GitHub API server and remote modules.xml file)]
set the proxy with: GRASS_PROXY="http=<value>,ftp=<value>".
By default it is not possible to work with MAPSETs that are not owned by current user. Setting this variable to any non-empty value allows the check to be skipped.
[shell scripts on Windows]
path to bourne shell interpreter used to run shell scripts.
Raise SIGSEGV if an error occurs]
This variable can be set for debugging purpose. The call of G_fatal_error() will end in a segmentation violation. GDB can be used to trace the source of the error.
[wxGUI, Python Ctypes]
set to override Python executable.
On Mac OS X this should be the pythonw executable for the wxGUI to work.
If the environment variable GRASS_VECTOR_LOWMEM exists, memory consumption will be reduced when building vector topology support structures. Recommended for creating large vectors.
If the environment variable GRASS_VECTOR_OGR exists and vector output format defined by v.external.out is PostgreSQL, vector data is written by OGR data provider even the native PostGIS data provider is available.
If the environment variable GRASS_VECTOR_EXTERNAL_IMMEDIATE exists and vector output format defined by v.external.out is non-native, vector features are written to output external datasource immediately. By default, the vector library writes output data to a temporary vector map in native format and when closing the map, the features are transferred to output external datasource. Note: if output vector format is topological PostGIS format, then the vector library writes features immediately to output database (in this case GRASS_VECTOR_EXTERNAL_IMMEDIATE is ignored).
If the environment variable GRASS_VECTOR_EXTERNAL_IGNORE exists, output vector format defined by v.external.out is ignored. The format is always native.
If the environment variable GRASS_VECTOR_TEMPORARY exists, GRASS vector library will operate on temporary vector maps. New vector maps will be created in temporary directory (see GRASS_VECTOR_TMPDIR_MAPSET variable), existing vector maps will be read (if found) also from this directory. It may be set to either:
- keep - the temporary vector map is not deleted when closing the map.
- move - the temporary vector map is moved to the current mapset when closing the map.
- delete - the temporary vector map is deleted when closing the map.
Default value is keep. Note that temporary vector maps are not visible to the user via g.list or wxGUI. They are used internally by the GRASS modules and deleted automatically when GRASS session is quited.
By default GRASS temporary directory is located in $LOCATION/$MAPSET/.tmp/$HOSTNAME. If GRASS_VECTOR_TMPDIR_MAPSET is set to ’0’, the temporary directory is located in TMPDIR (environmental variable defined by the user or GRASS initialization script if not given).
Important note: This variable is currently used only in vector library. In other words the variable is ignored by raster or raster3d library.
If the environment variable GRASS_VECTOR_TOPO_DEBUG exists, v.generalize runs in extremely slow debug mode.
set to tell wxGUI that a bundled wxPython will be used.
When set, the wxGUI will not check the wxPython version, as this function is incompatible with a bundled wxPython. It is up to the packager to make sure that a compatible wxPython version is bundled.
set to tell wxGUI which version of wxPython to use.
When set, the wxGUI will select the given wxPython version. It’s useful when multiple versions of wxPython are installed and the user wants to run wxGUI with non-default wxPython version.
set to any value (e.g. rxvt, aterm, gnome-terminal, konsole) to substitute ’x-terminal-emulator’ or ’xterm’. The Mac OS X app startup defaults to an internal ’$GISBASE/etc/grass-xterm-mac’, which emulates the necessary xterm functionality in Terminal.app.
set to any value to use the terminal based parser.
reports the current version number (used by R-stats interface etc); should not be changed by user.
set to any value to disable the use of GLX Pbuffers.
Set to any value to disable the use of GLX Pixmaps.
If OpenMP support is enabled this limits the number of threads. The default is set to the number of CPUs on the system. Setting to ’1’ effectively disables parallel processing.
- TMPDIR, TEMP, TMP
[Various GRASS GIS commands and wxGUI]
The default wxGUI temporary directory is chosen from a platform-dependent list, but the user can control the selection of this directory by setting one of the TMPDIR, TEMP or TMP environment variables Hence the wxGUI uses $TMPDIR if it is set, then $TEMP, otherwise /tmp.