在 Ubuntu 中,如果 $HOME/bin 存在,它将自动添加到 PATH 中,但在 Debian 中不会发生这种情况。
如何将其永久添加到给定用户的 PATH 中,但仅限于他,而不是所有用户?我希望它对 GUI 程序也有效,而不仅仅是终端。
编辑:为了澄清,我使用 LXDE,并且来自登录管理器,即不是startx
。.bashrc
不适用于我在终端外启动的程序。
答案1
事实证明lightdm
(LXDE 现在使用的登录管理器)没有 source ~/.profile
.
对我有用的是创造~/.xsessionrc
:
if [ -d $HOME/bin ]; then
export PATH="$HOME/bin:$PATH"
fi
/etc/X11/Xsession.d/90userbinpath
如果您希望所有用户通过系统范围的配置受益于此(每个用户都将受益于他自己的路径),您也可以添加此内容。
答案2
您可以尝试/etc/profile。
nano /etc/profile
有两种PATH
,一种是针对 root 的路径,另一种是针对普通用户(非 root)的路径。因此,您只需将 /$HOME/bin 添加到 root 或普通用户该行的最后Ctrl+O
,Ctrl+X
然后就可以了:)。请记住,您需要 root 才能执行此操作。
或者,您可以回家查看那里的 .profile。
cd /home/YOURUSERNAME
nano .profile
在 debian 中它也会自动执行此操作(将 bin 添加到路径中)。做一下echo $HOME
看看家是什么。
答案3
在 ~/.bashrc 文件中添加以下行:
PATH=$PATH:$HOME/bin
保存,然后source该文件即可生效。
source ~/.bashrc
您可以通过运行来检查
echo $PATH
要从运行命令窗口 (Alt + F2) 运行 GUI 程序,请在主目录中创建一个新的空 .xsession 文件并添加以下行:
#!/bin/bash -l
PATH=$PATH:$HOME/bin
保存并重新加载您的 LXDE 会话。我已经通过将 xterm 移动到 $HOME/bin 目录中并使用 Alt+F2 调用它并成功启动进行了测试。