From: Axel Kohlmeyer (
Date: Sun Oct 10 2004 - 03:20:16 CDT

>>> "LR" == Luis Rosales <> writes:

LR> Hi again...

LR> Thanks for your answers, however in spite of all your help I am still unable
LR> to resolve my problem...
LR> I have tried using the suggestion of Axel, however I got the following
LR> message (both in win and linux VMD 1.8.2):

LR> extra characters after close-quote
LR> invalid command name "setenv"
LR> invalid command name "endif"

LR> As far as I understand from the manual is possible to define the enviroment
LR> varibles in the startup file (.vmdrc/vmd.rc), using the "env array"... And
LR> the definition has to look like this:

LR> set env VMDSCRPOS (100,10)

LR> (I have looked on the vmdinit.tcl where variables are defined: set
LR> But the console says:

LR> wrong # args: should be "set varName ?newValue?"

LR> I know that I must be making a very basic and dumb mistake, but considering
LR> that Im tcl/tk impaired, I must asak again for help... Does anyone can
LR> provide me with a example how do you define env variables?
LR> I'm sure (well, almost sure, he he he) that form a concrete example I should
LR> be able customize the rest of them...


ok, the situation is a little bit confusing, and my suggestion did
not make easier since i was assuming too much. i'm sorry about that.

problem is, that you have to define these environment variables
_before_ you start the vmd executable. the vmd console or .vmdrc file are
far too late in the game, so this cannot work. now on a linux(unix)
machine there are in fact _two_ vmd executables (vmd and vmd_LINUX).
the vmd program itself is a plain text file with some script (but
shell script not tk/tcl) code that will set all kinds of enviroment
variables and paths and then call the real vmd executable (vmd_LINUX).
so the easiest way to permanently change those settings would be to
change the vmd (script) program. the IMO second best solution would
be to change your environment. that would be either

export VMDSCRPOS='100 10'


setenv VMDSCRPOT '100 10'

depending on the type of shell program that you are using. probably the
first (since bash is the most popular shell under linux).
this can be made permanent by adding these commands to either .bashrc,
.profile or .cshrc, again depending on the type of shell.

how this is achieved on a windows machine, i don't know (the last
time i had to do anything similar on a non-unix machine was in
the days of MS-DOS 5.0 and windows 3.1)...

best regards,

just for the record, the proper way to set environment variables
from tcl is not:

LR> set env VMDSCRPOS (100,10)

but: set env(VMDSCPOS) {100 10}

LR> Again, thanks for all of your replies and your time.

LR> Kind regards,

LR> Luis

Axel Kohlmeyer       e-mail:
Lehrstuhl fuer Theoretische Chemie          Phone: ++49 (0)234/32-26673
Ruhr-Universitaet Bochum - NC 03/53         Fax:   ++49 (0)234/32-14045
D-44780 Bochum
If you make something idiot-proof, the universe creates a better idiot.