Debian Configuration :: Environment Variables For All Users
Nov 27, 2015
I'm newbie on Debian, and I just installed Debian 8.2. (I used to run openSuse, and I see Debian is quite different.)
Where should I set environment variables (like PATH or JAVA_HOME) in order to affect all users?
I read some documentation about that, but It is not clear for me, the difference among "/etc/environment", "/etc/bash.bashrc" and "/etc/profile".
(In openSuse, I used to create a file "/etc/bash.bashrc.local" and set the environment variables there, in order these settings are not lost with updates.)
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "`id -u`" -eq 0 ]; then
[code]....
When i type env, it just shows: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin It also shows JAVA_HOME, CLASSPATH and others were set up. Trying to get updatetool in glassfish usable for any user and during any session. I did the export command in a shell, and it worked, but not after closing the session. how to do environment variables.
I'm trying to compile Ardour on jessie amd64 using the Debian source code (there's already an ardour package but I want to use different compile options). I've applied the Debian patches and have all the required dependencies installed.
Scons quits with a KeyError message from python2.7 saying that os.environ['DEB_HOST_ARCH_OS'] is not defined.
Checking with 'dpkg-archtecture -l' shows that DEB_HOST_ARCH_OS=linux, but 'print os.environ["DEB_HOST_ARCH_OS"]' in python says that name 'os' is not defined. The scons script has 'import os' at the top so it should be seeing it.
How do I make this visible to python (I'm assuming this problem is specific to the jessie python2.7 installation and not python in general)?
I installed debian 8 on a usb drive using this guide. I used a debian 8.2 64-bit image with mate. It has all worked as I wanted it to. However recently I needed to change the PATH variable, and create another environment variable. I have not been able to do neither. What I have tryed (from google):
1. adding "export PATH=$PATH:/xxxx/" to etc/profile or to /home/user/.profile 2. adding ":/xxxx/" to a point in /etc/profile where the PATH variable is set 3. creating a script in /etc/profile.d which run "export PATH=$PATH:/xxxx/"
I may not searched deeply enough but is somewhere desribed what variables are available in debian/rules package build script generated by dh_make ? I know about CURDIR f.E. but what about package Version (defined in debian/control) ?
How do I edit my .bash_profile so recursive directories are on my path without manually typing all the directories? For example, I want to have /home/woodenbox/SU, /home/woodenbox/SU/bin, /home/woodenbox/SU/bin/src, etc on my path without actually having to write the paths for all the subdirectories
I am running Red Hat Linux Enterprise 5; I am always using the export command to set environment variables.Are there any other ways to set environment variables and what are the advantages/disadvantages of them?
he $g09root is picked up ( in both the csh and the bash), but not the $GV_DIR or the $GAUSS_SCRDIR. I guess it's some stupid error, but it is highly frustrating.Here is the .profile file:Quote:
# To make use of this feature, simply uncomment one of the lines below or # add your own one (see /usr/share/locale/locale.alias for more codes) #
I have installed jdk in my pc, and i've set up the environment variable on the .bashrc file in my home directory although i can use java's compiler and interpreter in terminal (xfce) if i try to use these commands in konsole (kde) for some reason they don't work. do i need to edit other file?
Nevermind, i found out that konsole was being executed with -e $SHELL -l parameters, once i took them out, and just ran konsole everything worked.
I've added an export command to /etc/profile, but the environment variables don't show up when not using a terminal.
For example: when I add:
Code:
To my /etc/profile (then open a new terminal so it registers) and run a graphical program from that terminal, the graphical program can see see the environment variable A.
However if I add the export command to my /etc/profile, then reboot so everything registers, then run that same graphical program from a menu (such as Applications->Accessories->Myprogram), it can't see the environment variable.
What I'm trying to say is basically, my environment variables only show up if I run a program in a shell. Is there a way to set environment variables that will show even without a shell?
I've been bashing around this for a couple of days, and could not find answer by using google. My debian 8.1.0 jessie runs perfectly fine. To perform SSH chroot jail, I issued an apt-get install makejail.
The ssh chroot environment runs great. I used makejail configuration scripts. The man pages are perfectly available from TTY login. Yet from a SSH session (chroot jailed) the man pages could not be found.
My MANPATH environment variable points at /usr/share/man
Running "mandb -c" from a SSH session as root tells:
0 man subdirectories contained newer manual pages. 0 manual pages were added. 0 stray cats were added. 0 old database entries were purged.
simply copying the contents of the /usr/share/man to /jail/usr/share/man and running the "mandb -c" command gives lots of "dangling symlink" errors.
Perhaps the /jail directory need some dependent files, or change file permissions somewhere but I just couldn' t figure that out.
I've never done much scripting myself and I'm quite unused to the bash as well, but anyway, Here's my problem.
I've a script which is supposed to set some environment variables, using export. However, if I check those variables using echo, they appear not to be set (they are empty). If I set the same variables manually, everything is fine, of course, but I don't want to set them each time manually.
I know many people have asked about environment variables before, but I am having a hard time dealing with these paths while ensuring I don't mess around with the original settings. How would you go about executing these commands in Ubuntu in terms of environment variables?
put /home/stanley/Downloads/ns-allinone-2.34/bin:/home/stanley/Downloads ns-allinone-2.34/tcl8.4.18/unix:/home/stanley/Downloads/ns-allinone-2.34/tk8.4.18/unixinto your PATH environment; so that you'll be able to run itm/tclsh wish/xgraph.
IMPORTANT NOTICES:
(1) You MUST put /home/stanley/Downloads/ns-allinone-2.34/otcl-1.13, /home/stanley/Downloads/ns-allinone-2.34/lib, into your LD_LIBRARY_PATH environment variable.
I am running an application which requires setting environment variables to be set.At the moment, the way I am achieving this is by exporting the EV at the command line, and then running the app from the command line.I want to be able to run the app from my menu (it is already a menu item after I installed it).How may I set the env var so that it is always available, so I can just run the app from the menu instead of from the CLI?
In terminal, I use the command " export XXX="xxx" " to create a new environment variable, and then " env | grep XXX " to check if it is existed. But when I run the terminal again, the variable I created is disappeared. I've found it just can't save the variables I created..
I've created a new environment variable and updated another one (PATH). I just want to save this changes once after reboot and forever. This is because I want to run a program (tecplot) just typing 'tec360' in the command line. If I create those new variable ( TEC_360_2008=/usr/tec360_2008 ) and update the PATH variable ( export PATH=$PATH:$TEC_360_2008/bin ) then bash detect the command 'tec360' and it runs my program. The problem is that this changes are not saved after rebooting.
According to the manual, I have to update the .bash_profile in my home directory but I don't have this file in this directory (neither in other directory). I only have .bash_history, .bash_logout and .bashrc in the home directory. I have updated .bashrc (typing . ./.bashrc) but it is not working.
When I execute something with sudo, the environment that it executes in doesn't have all the environment variables from /etc/profile{,.d/} defined. I googled around and found that there is a way to get the environment variables from the calling environment to be carried over to sudo's own environment, but that's not exactly what I want. I just want sudo to read the /etc/profile and /etc/profile.d/ before executing commands.
Does anyone know what file I have to modify to set the environment variables for FSCK? I can't run FSCK on my file system because it runs out of memory after about 10 minutes. This variable sounds like it will solve all of my problems but I can't find the file to modify to set the variable or what parameters it takes (number? yes/no?, etc).I'm trying to recover has a lot of information on it that I would really like to get back.
I always have to google about setting environment path variables when I install new software. My basic problem is that I dont know whether these variables need to be set globally or not. I have read a number of mails/tutorials which say that Environment variables should be set by simply doing an export ..eg EDITOR=nano export EDITOR
additionally I have read that it should be written into /etc/bash.bashrc
But are these really global variables or local? I want the variables to be set even after I have logged out.
I am trying to include my directory /usr/sbin in it's serch path for executable files using an environment variable. Would the input be: PATH="/usr/sbin"? And also upon start up, my shell should create the PRINTER environment variable which should resolve to the word sales...would that input be: PRINTER="sales"? If someone could help me with these two questions,
I have bunch of environment variables that i have to set always for my work.Someone mentioned i can write a script to dp this and i googled it but haven't been successful so far and have to manually do them every time. I have a tcsh shell.I read that i need to change the .login or .tcshrc files but havent been successful in finding these.
I can setup variables in ~/.bashrc for my own shells. I can also setup variables globally in /etc/bashrc.but then how do I setup variables for a group in Linux? So that users who belong to this group will see the variables, but not others?
I've created a 32-bit chroot on my AMD64 installation. It works pretty well when I just type 'dchroot' but if I try to execute a 32-bit program from 64-bit land using 'dchroot <command>', the environment variables are all screwed up. I know I can use -d or --preserve-environment to keep my 64-bit environment but I don't want to do that because I want my PATH to change when I go into 32-bit land. Here's an example of what I am talking about: