问题:
在profile和environment文件里配置了java环境变量后,重启电脑后即使输入正确的用户名和密码,也会重新跳到登录界面,无法进入系统,一直循环登录。
原因:
参考:https://blog.csdn.net/ameyume/article/details/6378212
ubuntu 启动的时候读取配置文件,并设置环境变量的顺序是这样的:
- 在登录时,操作系统定制用户环境时使用的第一个文件就是 /etc/profile,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
- 在登录时操作系统使用的第二个文件是 /etc/environment,系统在读取你自己的profile 前,设置环境文件的环境变量。
- 在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,该文件仅仅执行一次默认情况下,他设置一些环境变量,执行用户的.bashrc文件。/etc/bashrc为每一个运行bash shell的用户执行此文件,当bash shell 被打开时,该文件被读取。
因此,我的系统启动时会先读取/etc/profile , 然后读取 /etc/environment ,最后才是.profile 文件,而在/etc/environment 文件中也设置有环境变量PATH。如果你在.profile 中也设置了环境变量PATH ,就会覆盖原来/etc/environment 中设置的环境变量PATH !那么解决办法就是,在设置.profile 的环境变量时,在PATH=的最前面加上 $PATH。
解决方法:
参考:
- https://blog.csdn.net/qq_37135484/article/details/95168583
- https://blog.csdn.net/lj779323436/article/details/52649068
在ubuntu的登录界面(就是输入登录密码的界面)通过ctrl+alt+F1(或者F1~F6,我的电脑就是F2)进入命令行,此时环境变量已经是乱码了,无法直接使用命令,需要完整的输入命令的绝对路径:
/usr/bin/sudo /usr/bin/vi /etc/profile
保存退出重启就好了,如果不小心修改了/etc/profile的权限,使用/bin/chmod 644 /etc/profile修改回来就好了,chmod的绝对路径会有提示。
具体vi操作方法可百度,dd是删除一整行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)