grongor
grongor

Reputation: 1355

Debian $PATH variable change

How can I change the $PATH variable in Debian? I tried to change /etc/profile but this affected only normal users (and yes, I added path to BOTH user's and root's paths).

After that I tried to edit /root/.profile and then /root/.bashrc also ...

Neither worked. Do you know where could be problem?

Upvotes: 21

Views: 81789

Answers (5)

Görkem Sever
Görkem Sever

Reputation: 1

I'm working on this Debian version;

yuandre-server@yuandre-server:/usr/sbin$ uname -a

Linux yuandre-server 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux

Create this file;

sudo vim ~/.bashrc

And add this line end of the file;

export PATH="$PATH:<what_do_you_add>"

This configure will work for all users.

You can also execute them as a single command;

sudo echo 'export PATH="$PATH:<what_do_you_add>"' >> ~/.bashrc && source ~/.bashrc && cat ~/.bashrc | grep PATH

This source ~/.bashrc command will be reload your shell session.

Upvotes: 0

nobody
nobody

Reputation: 111

Simple way for me was to create file /etc/default/su with content

ALWAYS_SET_PATH yes

so I do not have to meddle with system files directly.

Upvotes: 1

Ralph Bisschops
Ralph Bisschops

Reputation: 2518

If you are using a graphical display manager / GUI (a.k.a not just a shell or terminal) changing the /etc/profile, ~/.bashrc or other file will not change the PATH variable.

In this case you have to create the file: ~/.xsessionrc file and add something like this:

export  PATH="$PATH:/sbin"

(depending on the path you want to add)

For more info: https://wiki.debian.org/EnvironmentVariables

NOTE for Debian 10, check out this solution first if you get command not found:

su - root instead of su root

https://unix.stackexchange.com/questions/482569/debian-10-buster-update-grub-command-not-found

Upvotes: 2

Flimm
Flimm

Reputation: 151203

Modify /etc/environment to include a line like this:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Upvotes: 3

turkishweb
turkishweb

Reputation: 427

This is set in the /etc/login.defs on debian 6.0 .

These are the lines you have to edit:

# *REQUIRED*  The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

EDIT:

I forgot to put where I found the solution: https://serverfault.com/questions/166383/how-set-path-for-all-users-in-debian

Upvotes: 25

Related Questions