[GRASSLIST:1865] Re: problems displaying layers on 5.7

Glynn Clements glynn.clements at virgin.net
Sat Nov 22 17:23:51 EST 2003

Markus Neteler wrote:

> > > I seem to have been able to get 5.7 running on OSX, but there are a few 
> > > quirks with the display manager. I am trying to display some layers 
> > > that I have added to the display manager, but when I try to display 
> > > them I get the following:
> > > 
> > > channel "console1" wasn't opened for writing
> > 
> > Previous occurrences of this error message have been traced to the use
> > of the native MacOSX version of Tcl/Tk rather than a Unix/X11 version.
> > 
> > I suggest editing $GISBASE/scripts/d.m to run d.m.tcl using a specific
> > wish executable, i.e. changing:
> > 
> >  sh $GISBASE/etc/dm/d.m.tcl
> > 
> > to e.g.:
> > 
> >  /usr/bin/wish $GISBASE/etc/dm/d.m.tcl
> Should $GRASS_WISH be used instead?

d.dm.tcl does use GRASS_WISH:

	# the next line restarts using wish \
	exec $GRASS_WISH "$0" "$@"

However, that requires that GRASS_WISH is set correctly.

Also, for the purposes of starting tcltkgrass, Init.sh expects
GRASS_WISH to be a simple filename, not a pathname. Consequently, it's
only useful if the different versions of wish have different names
(e.g. wish8.3 vs wish).

I suggest changing Init.sh to allow GRASS_WISH to be a full pathname.

Also, I don't see much point implementing d.dm.tcl as a "polyglot"
(both a valid Tcl script and a valid shell script); the d.dm script
should just run it via wish, i.e.

	exec "$GRASS_WISH" "$GISBASE/etc/dm/d.m.tcl"

[It should use "exec" to avoid having the extra process.]

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-user mailing list