启动 Windows 7 后,/usr/bin 不再位于路径中

启动 Windows 7 后,/usr/bin 不再位于路径中

我有一台双启动的 Windows 7 / Ubuntu 14.04 电脑。Ubuntu 中的一切都运行良好,直到我启动 Windows 然后切换回 Ubuntu。现在当我尝试登录时,它总是将我送回登录屏幕。我使用命令行登录得很好,但它似乎是一个混乱的路径变量。在命令行上,除非我执行导出路径,否则我无法使用 sudo 或任何其他功能。

我创建了一个新用户,它可以正常工作,直到我必须再次切换到 Windows,然后它又做了同样的事情。

答案1

如果您说它在登录提示符处循环,则密码没有显示错误,但会返回到登录提示符。我可能可以帮忙。这发生在我身上。我不知道为什么。

Ubuntu 陷入登录循环

可能有帮助。

在终端中输入的代码dpkg-reconfigure lightdm对我有用。显然,.Xauthority 文件中存在一些问题。希望链接能有所帮助。

答案2

如果您使用 打开.profile位于主目录中的文件,即/home/yourusername~sudo gedit ~/.profile它实际上会说明您的登录 shell 使用哪些文件。

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
          . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi

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

echo $PATH在终端中输入也会得到PATH变量的值。)

我既没有.bash_profile也没有.bash_login文件,因此我的登录 shell 的命令解释器(即 bash)将.profile按照文件中所述执行我的命令。(使用 找出您的 shell 是什么echo $SHELL。如果输出与 不同/bin/bash,您可能会对此感兴趣:https://unix.stackexchange.com/questions/88201/whats-the-best-distro-shell-agnostic-way-to-set-environment-variables

例如,即使.profile上面的文件中有说明include .bashrc if running bash,但我的文件是空的。.bashrc

因此,我将命令目录的路径/usr/bin直接包含在文件中.profile

如果文件中定义的变量/usr/bin值中未包含,则只需使用冒号将其添加到其他路径后即可。路径的顺序无关紧要。PATH.profile

启动其他操作系统后出现这种情况的部分原因是,永久删除或添加路径等更改仅在重新启动后生效。因此,正如@solsTiCe 已经提到的,Windows 无法干扰您的系统。一定是有“其他东西”改变了变量PATH

相关内容