On 27/11/07 16:35, Michael Barton wrote:
On 11/27/07 3:25 AM, "Moritz Lennert" <mlennert@club.worldonline.be> wrote:
On 27/11/07 11:07, Paul Kelly wrote:
On Tue, 27 Nov 2007, Benjamin Ducke wrote:
NVIZ won?t launch (but did in a recent binary)
This can be somewhat tricky. For me, it fails to launch from within
the MSYS shell
I cannot confirm this: If I launch grass using /c/grass/bin/grass63
(i.e. the shell launch script, not the .bat), nviz works perfectly for
me, both from the gui and from the comand line.
(You have to change the definition of GISBASE from c:/ syntax to /c/
syntax for it to work...I've corrected this in the wingrass6.3RC2
package now
Not sure I understand this.
The above is for those who want to launch grass from within an msys terminal window.
How can you launch GRASS from a command line in
Windows? How do you get a command line to launch it from?
For normal users (who do not work with msys as their terminal - you don't even need msys installed to do this):
- Open Start menu -> Run command -> type cmd.exe
- In cmd.exe type c:\PathToGrassFolder\bin\grass63.bat
- If you then want to launch the gis manager, type gis.m
Probably a good idea to always run it from the *.bat file during development
to make sure it works that way, since that's how most people will run it.
Yes, but just as in the other environments you can run grass in windows as a command line or a gui application (or both).
as well as a sh.exe started via Window's cmd.exe.
Could you be more precise as to what exactly you are doing ? Do you
launch grass via grass63.bat and then launch sh.exe within a running
grass session ?
That might be because the Msys shell doesn't recognise a .bat file
(in this case nviz.bat) as an executable and/or can't run it. What
happens if you add the GRASS scripts directory ($GISBASE/scripts
IIRC) to your path? Then it should pick up the nviz shell script that
will (should be???) installed in there.
If you run grass in msys you have to run the grass63 file which then
calls Init.sh which sets the path to the scripts directory.
Again, I'm not sure how one actually does this. Is there a problem of which
gets launched first--mysys or TclTk?
Ok, let's clear things up a bit (and yes, I know I should do this on the wiki ASAP):
The general philosophy of the windows port of grass is that it should be a completely native application, with no need of any kind of *nix emulation. For most of grass this is now possible, which means all you need to install to run grass is tcltk and my binary package. Nothing else, not even msys !
On that basis you can launch grass either by clicking on the grass63.bat file or by launching it from the command line as explained above. As in other environments, the choice of GRASS_GUI is stored in the .grassrc6 file which is stored by default in the %USERPROFILE% directory, which normally defaults to C:\Documents and Settings\username. So, you can change GRASS_GUI to text and grass will open in text mode, even if you click on the grass63.bat file.
What does not work in this setup are the many scripts as these are shell scripts and thus need a *nix-like shell environment to run, including a series of tools such as sed, awk, etc. If you need those, you can install msys in order to have a shell (sh.exe) and the necessary tools. Edit the grass63.bat file in order to set the path to where you installed msys (e.g. c:\msys\bin and c:\msys\lib) and to sh.exe. Now you should be able to run most scripts.
For those who would like to get the *nix look and feel in windows, they can do so by launching GRASS directly from within an msys shell (opened by going into the Start menu -> Applications ->Msys). But as this is a *nix emulation, you have to use the grass63, not the grass63.bat file to start grass (both are in the same directory). There used to be a problem with path syntax in the grass63 file (as explained above), but I corrected this this morning.
I hope this clarifies the issue a bit.
Moritz