使用LXDE在Debian Wheezy中为单个用户将$ HOME / bin添加到PATH


8

在Ubuntu中,如果$ HOME / bin存在,则会自动将其添加到PATH,但这在Debian中不会发生。

我如何将其永久添加到给定用户的PATH中,但仅适用于他,而不适用于所有用户?我希望它对GUI程序也有效,而不仅仅是终端。

编辑:澄清一下,我使用LXDE,并且从登录管理器使用,即不是startx.bashrc对于我在终端外部启动的程序不起作用。


注意:由于您以第三人称说话,因此用户可能不是您。然后,自己修改设置被认为是不礼貌的(当然,除非他明确提出要求)。
fkraiem

别担心,用户就是我。
sashoalm 2014年

Answers:


8

事实证明lightdm(LXDE现在使用的登录管理器)没有source ~/.profile

对我有用的是创建~/.xsessionrc

if [ -d $HOME/bin ]; then
    export PATH="$HOME/bin:$PATH"
fi

/etc/X11/Xsession.d/90userbinpath如果希望所有用户从系统范围的配置中受益(每个用户将从自己的路径中受益),也可以添加此选项。


2
或者,您可以获取整个.profile文件(可能不仅仅是设置$ PATH):if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
basic6 2015年

1

您可以尝试/ etc / profile。

nano /etc/profile

将有两种PATH,根目录路径和普通用户非根目录路径。因此,您只需在行的最后添加/ $ HOME / bin到root用户或普通用户Ctrl+OCtrl+X然后就可以了:)。请记住,您需要root才能执行此操作。

或者,您可以回到家中查看.profile。

cd /home/YOURUSERNAME
nano .profile

在debian中,它也会自动执行(将bin添加到路径中)。做一个echo $HOME看看家在哪里。


我特别指出“对于单个用户”,这对于所有用户都是全局的。~/.profile代替使用会更好吗?
sashoalm

@sashoalm,编辑:)
拉斐尔·坎波斯·努内斯

好的,但是.profile似乎根本没有执行。使用的文件正确吗?echo $PATH即使在终端上也无法显示我的更改。我没有~/.bash_profile~/.bash_login
sashoalm 2014年

尝试退出您的会话并再次登录,好吧,我不知道它是否是正确使用的文件,但是每个用户都有一个文件,因此这将是您的问题的答案……
Rafael Campos Nunes

是的,我做到了,但是似乎根本没读过。我张贴了关于一个新的问题- unix.stackexchange.com/questions/131320/...
sashoalm

-1

在〜/ .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调用它并成功启动来进行测试。


这将适用于X会话/ GUI程序,而不仅适用于终端,对吗?
sashoalm 2014年

这对于GUI和终端都适用。
cioby23 2014年

好的,我认为GUI程序不会从.bashrc继承,除非从终端启动。
sashoalm 2014年

当心你可能最终加入$HOME/bin到$ PATH结束多次这样说:unix.stackexchange.com/questions/124444/...
金发姑娘

好的,.bashrc不起作用-它似乎仅对我从中启动的程序有效xterm,但不适用于我开始使用“ Alt + F2”(即从LXDE(我使用的DE))启动的程序。DE使用登录管理器,而不是startx。
sashoalm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.