在Ubuntu中,如果$ HOME / bin存在,则会自动将其添加到PATH,但这在Debian中不会发生。
我如何将其永久添加到给定用户的PATH中,但仅适用于他,而不适用于所有用户?我希望它对GUI程序也有效,而不仅仅是终端。
编辑:澄清一下,我使用LXDE,并且从登录管理器使用,即不是startx
。.bashrc
对于我在终端外部启动的程序不起作用。
在Ubuntu中,如果$ HOME / bin存在,则会自动将其添加到PATH,但这在Debian中不会发生。
我如何将其永久添加到给定用户的PATH中,但仅适用于他,而不适用于所有用户?我希望它对GUI程序也有效,而不仅仅是终端。
编辑:澄清一下,我使用LXDE,并且从登录管理器使用,即不是startx
。.bashrc
对于我在终端外部启动的程序不起作用。
Answers:
事实证明lightdm
(LXDE现在使用的登录管理器)没有source ~/.profile
。
对我有用的是创建~/.xsessionrc
:
if [ -d $HOME/bin ]; then
export PATH="$HOME/bin:$PATH"
fi
/etc/X11/Xsession.d/90userbinpath
如果希望所有用户从系统范围的配置中受益(每个用户将从自己的路径中受益),也可以添加此选项。
if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
您可以尝试/ etc / profile。
nano /etc/profile
将有两种PATH
,根目录路径和普通用户非根目录路径。因此,您只需在行的最后添加/ $ HOME / bin到root用户或普通用户Ctrl+O
,Ctrl+X
然后就可以了:)。请记住,您需要root才能执行此操作。
或者,您可以回到家中查看.profile。
cd /home/YOURUSERNAME
nano .profile
在debian中,它也会自动执行(将bin添加到路径中)。做一个echo $HOME
看看家在哪里。
~/.profile
代替使用会更好吗?
.profile
似乎根本没有执行。使用的文件正确吗?echo $PATH
即使在终端上也无法显示我的更改。我没有~/.bash_profile
或~/.bash_login
。
在〜/ .bashrc文件中,添加以下行:
PATH=$PATH:$HOME/bin
保存它,然后使文件生效。
source ~/.bashrc
您可以通过运行然后检查
echo $PATH
为了从“运行”命令窗口(Alt + F2)运行GUI程序,请在主目录中创建一个新的空.xsession文件,并添加以下行:
#!/bin/bash -l
PATH=$PATH:$HOME/bin
保存并重新加载您的LXDE会话。我已经通过将xterm移动到$ HOME / bin目录中并通过Alt + F2调用它并成功启动来进行测试。
$HOME/bin
到$ PATH结束多次这样说:unix.stackexchange.com/questions/124444/...
xterm
,但不适用于我开始使用“ Alt + F2”(即从LXDE(我使用的DE))启动的程序。DE使用登录管理器,而不是startx。