解决办法:
由于无法登录, 所以我们得从命令行下将前面我们错误修改的环境变量改正过来。
- 在登录界面,按
Ctrl + Alt + F1
进入命令行模式。(Ctrl+Alt+F1-F6
可以分别启动6个不同命令行,Ctrl+Alt+F7
可以切换回 UI 界面) - 使用 vim 或者 vi 来更改环境变量,以我上面所述为例: sudo vim /etc/environment
由于环境变量的原因, 很多时候系统已经无法直接调用
sudo
或者vim
这样的命令,所以我们必须使用绝对路径:/usr/bin/sudo
,/usr/bin/vim
,/etc/environment
- 接下来就将环境变量修改为正确的,然后保存,退出,重启。
Ubuntu环境变量位置
Ubuntu Linux 系统环境变量配置文件:
/etc/profile
: 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
/etc/environment
: 在登录时操作系统使用的第二个文件,系统在读取你自己的 profile 前,设置环境文件的环境变量。
~/.profile
: 在登录时用到的第三个文件是.profile
文件,每个用户都可使用该文件输入专用于自己使用的 shell 信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的 .bashrc
文件。
/etc/bashrc
: 为每一个运行 bash shell
的用户执行此文件。当 bash shell
被打开时,该文件被读取。
~/.bashrc
: 该文件包含专用于你的 bash shell
的 bash 信息,当登录时以及每次打开新的 shell 时,该该文件被读取。
PASH环境变量的设置方法:
方法一:用户主目录下的 .profile 或 .bashrc 文件(推荐)
登录到你的用户(非root),在终端输入:
$ sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入 PATH 的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
保存文件,注销再登录,变量生效。 该方式添加的变量只对当前用户有效。
方法二:系统目录下的 profile 文件(谨慎)
在系统的 etc 目录下,有一个 profile 文件,编辑该文件:
$ sudo gedit /etc/profile
在最后加入 PATH 的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
该文件编辑保存后,重启系统,变量生效。
该方式添加的变量对所有的用户都有效。
方法三:系统目录下的 environment 文件(谨慎)
在系统的 etc 目录下,有一个 environment 文件,编辑该文件:
$ sudo gedit /etc/environment
找到以下的 PATH 变量:
PATH="<......>"
修改该 PATH 变量,在其中加入自己的 path 即可,例如:
PATH="<......>:your path1:your path2 …"
各个 path 之间用冒号分割。该文件也是重启生效,影响所有用户。
注意这里不是添加 export PATH=…
。
方法四:直接在终端下输入
$ sudo export PATH="$PATH:your path1:your path2 …"
这种方式变量立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。
注 意:方法二和三的修改需要谨慎,尤其是通过 root 用户修改,如果修改错误,将可能导致一些严重的系统错误。因此笔者推荐使用第一种方法。另外嵌入式 Linux 的开发最好不要在 root 下进行(除非你对 Linux 已经非常熟悉了!!),以免因为操作不当导致系统严重错误。
下面是一个对 environment 文件错误修改导致的问题以及解决方法示例:
问题:因为不小心在 etc/environment
里设在环境变量导致无法登录
提示:不要在etc/environment
里设置 export PATH
这样会导致重启后登录不了系统
解决方法:
在登录界面 alt +ctrl+f1
进入命令模式,如果不是 root 用户需要键入(root用户就不许这么罗嗦,gedit 编辑会不可显示)
/usr/bin/sudo /usr/bin/vi /etc/environment
光标移到 export PATH**
行,连续按 d两次
删除该行;
输入 :wq
保存退出;
然后键入 /sbin/reboot
重启系统(可能会提示 need to boot,此时直接 power off)
个人最近使用较多的为 ~/.profile
sudo gedit ~/.profile
然后添加:export PATH="$PATH:mtpath"
重启系统即可
在没有环境变量启效时,完整路径运行程序。
查看环境变量:echo $PATH