If I type into a terminal,
export DISPLAY=:0.0
... where is the shell storing that environment variable?
I'm using Ubuntu 8.10. I've looked in the files ~/.profile and /etc/profile and can find no trace of DISPLAY.
If I type into a terminal,
export DISPLAY=:0.0
... where is the shell storing that environment variable?
I'm using Ubuntu 8.10. I've looked in the files ~/.profile and /etc/profile and can find no trace of DISPLAY.
The environment variables of a process exist at runtime, and are not stored in some file or so. They are stored in the process's own memory (that's where they are found to pass on to children). But there is a virtual file in
/proc/pid/environ
This file shows all the environment variables that were passed when calling the process (unless the process overwrote that part of its memory — most programs don't). The kernel makes them visible through that virtual file. One can list them. For example to view the variables of process 3940, one can do
cat /proc/3940/environ | tr '\0' '\n'
Each variable is delimited by a binary zero from the next one. tr replaces the zero into a newline.
environ file represent the wrong values if an environment variable was changed in a defined manner? Can you perhaps show a program that exploits that?If you want to put the environment for system-wide use you can do so with /etc/environment file.