14

I'm trying to install Euler expert system following these instructions. To add the environment variable I edited my /etc/environment to become as follows:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

But when I use printenv PATH I don't see the new directory added to my path.

What am I doing wrong here?

1
  • That link isn't working right now (SourceForge is down) but can you specify whether you want system-wide environment variables? Since it's for an application, this is likely the case, and therefore a lot of the answers below are wrong. Commented Jul 22, 2015 at 17:51

4 Answers 4

8

I don't know the reason why PATH wasn't changed (after relogin), but

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

those spaces prevent EYE_HOME to be set.

It should be noted that /etc/environment is not a script file, but a kind of assignment file that is read by PAM. OTOH such spaces are not allowed in script files like /etc/profile and ~/.profile either.

If you use a script file, you need to export the variables as shown in Avinash Raj's answer.

Please note that while ~/.bashrc works if you start your program from a terminal window, it may not work if you start it from the graphical environment, since it's not sourced by the display manager.

8
  • @gunnar-hijalmarsson --- correct. The fact that the display manager is not started from my shell bite me much times. I have posted a trick to see the variables that are set in the DE: askubuntu.com/a/356973/16395
    – Rmano
    Commented Dec 16, 2013 at 18:16
  • Nice trick, @Rmano! Any chance that you can add it to help.ubuntu.com/community/EnvironmentVariables ? Commented Dec 17, 2013 at 7:06
  • Thanks - I never edited one of that and I do not know if I had the permissions. I will look into it if I have time, but otherwise feel free to copy/paste whatever you want --- that page needs badly to be put up-to-date. One question: do all the display managers (lightdm, gdm, kdm) source ~/.profile even if my default shell is not bash but, for example, zsh?
    – Rmano
    Commented Dec 17, 2013 at 15:13
  • Checked by myself. I use zsh; the applications launched by the DE see variables set in ~/.pam_environment and ~/.profile (NOT ~/.zprofile). This is good and bad, but the bad part is solved by changing .profile so that it sources my .zprofile and .zshenv. And I confirm that using .pam_environment is bad, it is overwritten sometime (shouldn't, but it is).
    – Rmano
    Commented Dec 17, 2013 at 15:27
  • @Rmano: I know that ~/.profile is sourced by lightdm and gdm; not sure about kdm. Commented Dec 17, 2013 at 20:28
5
gedit ~/.bashrc

After that add the below lines,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

Save the file and sourec it,

source ~/.bashrc
3
0

You can try these two files too for system wide configuration:

  • /etc/profile
  • /etc/bashrc

For user wide configuration:

  • $HOME/.profile
  • $HOME/.bashrc

Just append the variables as you have done on /etc/environment. But you will have to login and logout (or run the proper reload). Maybe by login and logout /etc/environment would work but I am not sure.

-1

You want to edit your .bashrc file in your home directory.

When you edit the path you should include :$PATH on the end so you don't replace the current path.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .