Home Ubuntu Configuring permanent environment variables in Ubuntu

Configuring permanent environment variables in Ubuntu

Environment variables play a pivotal role in Ubuntu's configuration and operation. Dive into our step-by-step guide to learn how to set them permanently, ensuring a consistent system environment.

by Arun Kumar
setting permanent environment variables made easy

If you’re someone who uses Ubuntu, you may have found yourself in a situation where you’ve spent hours trying to locate a file or configuration setting only to realize that what you needed to do was set an environment variable. This can be quite an overwhelming task for anyone, and it’s understandable if you’ve found yourself in that position. In this text, I’ll be delving into the specifics of how to establish permanent environment variables in Ubuntu. By following these steps, you can make your life a whole lot easier.

The process of setting environment variables in Ubuntu can seem confusing, and I completely understand that. Frankly, I’ve been there too, frantically searching for answers online and trying out different methods without any success. However, once you understand how it works, it becomes a lot easier to handle. So, let’s jump right in and explore the intricacies of setting up permanent environment variables in Ubuntu.

What is an environment variable?

Before we proceed, let’s take a moment to understand what an environment variable is. At its core, an environment variable is a variable whose value can be used by processes in the operating system. For instance, if you’re a developer, you might have come across the ‘PATH’ variable which specifies directories where executable programs are located.

Why set permanent environment variables?

You might wonder, “Why do I need to set these permanently?”. Well, when you set an environment variable temporarily, it will only last for the duration of that session. Close the terminal, and poof! It’s gone. That can be frustrating, especially when you need those variables to persist. Setting them permanently ensures they’re always available, every time you start a new session.

Setting environment variables: The /etc/environment way

One of my personal favorite methods (because of its simplicity) is using the /etc/environment file. Here’s how:

  1. Open the terminal: You would probably be familiar with this one. Simply press Ctrl + Alt + T.
  2. Edit the /etc/environment file: Use a text editor of your choice. I’ve always had a soft spot for ‘nano’, so I would use:
    sudo nano /etc/environment
  3. Add your variables: At the end of the file, you can add your environment variables in the format NAME=VALUE. For example, if I wanted to add a variable called ‘TEST’, I would append TEST=/my/test/path to the file.
  4. Save and close: With nano, you would press Ctrl + O to save and Ctrl + X to exit.
  5. Verify: After you’ve added the variable to the /etc/environment file, you can check if it has been set correctly:
    source /etc/environment
    echo $TEST

    Sample Output:

  6. Reboot or source the file: You can either reboot your system or run the command source /etc/environment to start using your newly set environment variable.

The ~/.profile or ~/.bashrc method

Another popular method is using the ~/.profile or ~/.bashrc files. This is more user-specific and won’t apply system-wide, but it’s excellent for personal configurations.

  1. Open the terminal: The trusty Ctrl + Alt + T combo.
  2. Edit the ~/.profile or ~/.bashrc file: For this example, let’s go with ~/.profile:
    nano ~/.profile
  3. Add your variables: Add a line at the end of the file like this: export NAME=VALUE. Using our earlier example, it would be export TEST=/my/test/path.
  4. Save and close: Ah, the good old Ctrl + O and Ctrl + X.
  5. Apply changes: You can either restart your terminal or use the command source ~/.profile to apply the changes.

Common pitfalls and how to avoid them

While setting environment variables, I’ve faced a few pitfalls and learned from them. Here’s my little list of things to watch out for:

  1. Incorrect PATH variable: Always be cautious when editing the ‘PATH’ variable. A misconfiguration can make many commands inaccessible. Always backup before making changes.
  2. Variable name conflicts: Ensure the variable names you choose don’t conflict with existing ones. This can lead to unforeseen issues.
  3. Spacing: Avoid adding spaces around the ‘=’ sign when defining variables. For instance, NAME = VALUE would be incorrect.

Frequently Asked Questions (FAQs) about Setting Permanent Environment Variables in Ubuntu

1. What’s the difference between setting a variable in /etc/environment and ~/.profile?
/etc/environment: This file is system-wide, meaning the variables you set here are available to all users on the system. It’s processed early during the boot-up process of the system. However, it doesn’t support the export command and is limited to simple KEY=VALUE pairs.

~/.profile (or ~/.bashrc): Variables set in these files are user-specific. Only the user for whom the profile or bashrc file is set can access these variables. It supports more advanced scripting compared to /etc/environment.

2. I’ve followed all the steps but my variables aren’t recognized. What did I do wrong?
There could be multiple reasons:

Ensure you’ve sourced the file after editing (source /etc/environment or source ~/.profile).

Typos or syntax errors. Double-check the file for any mistakes.

For scripts and applications to recognize these variables, they might need to be restarted after setting the environment variable.

3. Can I set temporary environment variables?
Absolutely! You can set a variable just for the current session using the terminal. Simply type:

export TEST=/temporary/test/path

This variable (TEST) will only last until you close the terminal or end the session.

4. Are there any risks involved in setting environment variables?
While setting environment variables is generally safe, there are some risks:

Overwriting important system variables, especially the PATH variable, can lead to malfunctioning commands and applications.

Exposing sensitive data: Environment variables can sometimes be accessed by other users or applications. Avoid storing sensitive information directly.

5. How can I view all my current environment variables?
You can easily view all the environment variables set for your session by typing:


Or, if you’re interested in a specific variable, say TEST, use:

echo $TEST

I hope this FAQ section clears up any lingering questions or concerns.


Are you tired of constantly dealing with temporary fixes and disappearing variables after a restart on your Ubuntu system? Well, worry no more! You can now set up permanent environment variables with ease by following a simple, step-by-step guide. By doing this, you can enjoy a smooth and efficient setup that will save you time and effort in the long run. However, it’s always important to be cautious when making changes to your system and to back up your files before editing them. With this new setup, you can now focus on more exciting endeavors instead of fiddling with configurations. Every minute you save is a minute you can spend on other things. So keep exploring and learning, and enjoy happy coding!

You may also like

Leave a Comment



FOSS Linux is a leading resource for Linux enthusiasts and professionals alike. With a focus on providing the best Linux tutorials, open-source apps, news, and reviews written by team of expert authors. FOSS Linux is the go-to source for all things Linux.

Whether you’re a beginner or an experienced user, FOSS Linux has something for everyone.

Follow Us


©2016-2023 FOSS LINUX



“Linux” is the registered trademark by Linus Torvalds in the U.S. and other countries.