Display drivers
The current command line rendering mechanism is direct rendering into a
file. The driver is selected by setting the GRASS_RENDER_IMMEDIATE
variable or by running d.mon module.
List of available display drivers:
NOTES
GRASS_RENDER_COMMAND
If environmental variable GRASS_RENDER_COMMAND is defined, rendering is redirected by display library to the given external command defined by this variable. Currently only Python scripts are supported.
Lets start with simple example of Python script called render.py:
#!/usr/bin/env python3
import os
import sys
import grass.script as gs
from grass.script import task as gtask
os.environ['GRASS_RENDER_IMMEDIATE'] = 'default'
os.environ['GRASS_RENDER_FILE'] = 'output.png'
cmd, dcmd = gtask.cmdstring_to_tuple(sys.argv[1])
gs.run_command('d.text', text="Test of GRASS_RENDER_COMMAND redirection")
os.environ['GRASS_RENDER_FILE_READ'] = 'TRUE'
gs.run_command(cmd, **dcmd)
After defining GRASS_RENDER_COMMAND variable (example for Bash):
export GRASS_RENDER_COMMAND=render.py
Display GRASS modules like d.rast or d.vect will be executed by render.py program. For example the command
d.vect roadsmajor
produces output PNG file output.png which will contain rendered features from vector map roadsmajor and sample text "Test of GRASS_RENDER_COMMAND redirection".
SEE ALSO
SOURCE CODE
Available at: displaydrivers source code
(history)
Latest change: Wednesday Apr 02 16:37:00 2025 in commit a2fa5a0