1个
系统范围的默认PATH在中定义/etc/environment
。首先,确认它设置为合理值。作为参考,这是我的,与默认安装相同:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
2
如果/etc/environment
一切正常,但仍然有问题,可以覆盖中的默认PATH ~/.bashrc
。例如,我在我的.bashrc中有此目录,该目录在且仅当目录存在且不在PATH中时才将目录追加到PATH:
if [ -d "$HOME/bin" ]; then
if [[ $PATH =~ $HOME/bin ]]; then :
else export PATH="$HOME/bin:$PATH"
fi
fi
由于在屏幕快照中显示您已启用root登录,因此请确保还设置root的.bashrc。(顺便说一句,由于默认情况下root用户无法登录Ubuntu,因此该配置的测试可能较少,可能与您的问题有关。)
3
如果前两种方法失败,请检查您的XRDP客户端是否正在执行某些操作。如果是这样,您将必须配置它以使其正常工作或确定一种解决方法。
更新资料
我一直在研究整个系统。您可以使用以下命令找到系统上所有指定PATH的位置(存在该sudo
位置,因为/etc
普通用户无法读取其中的某些文件):
sudo egrep -nr '\bPATH' /etc | less
我认为忽略其中许多位置是安全的,从而导致以下命令:
sudo egrep -nr '\bPATH' /etc | egrep -v '^/etc/(init|rc|ppp|bash_c)' | egrep -v '^Binary' | less
看起来可能是一个文件(尽管我真的对此不太了解)是/etc/login.defs
。您可能会看一下。
此外,您还可以grep您的dotfile:
egrep -nr '\bPATH' $HOME/.* | less
/etc/environment
!