问题描述
Vm打开ubuntu20开机正常进入登录界面,输入密码后,一直黑屏
鼠标键盘均可用。
问题起因分析
环境变量的设置问题
我出问题的地方在etc/profile和~/.bashrc设置环境变量,别名不正确引起的冲突,导致黑屏
切不可乱尝试,要冷静分析自己问题的起因:
这篇博客是个合集
博客参考:https://blog.csdn.net/u013862444/article/details/103005800
主要的解决方案:
有显卡驱动,取消勾选3D图形加速等,均尝试无果,便开始分析,最后一次正常使用的情况,当时有修改环境变量,从上述博客中得到启发,赶紧屏蔽掉了之前未正确设置的环境变量后,成功进入图形界面。
解决办法
1.黑屏状态下,按下ctrl+alt+(F2-F6)进入命令行方式控制
上述括号表示F2到F6均可,对应tty2到tty6,按键视具体电脑设置不同,有些需要再加上Fn键。
补充tty是什么:
1、tty1~tty6各终端之间没有区别的,是为了方便用户的登录。
同时利用其同一用户或其他用户同时登录,切换用户的时候,只需要使用alt+ctrl+fn切换即可,方便管理。
2、当tty1 登录后,出现死机时,可切换到tty2(alt+ctrl+f2),利用另一个用户登录。
利用root用户登录,ps -aux | grep program_name查询到刚才的那个让系统死机的进程,然后kill pid掉即可。
这时系统就会恢复正常,可通过service program_name start再次启动这个进程。
进入后ctrl+c一下,退出进入命令行,这时候吃了颗定心丸,车没完全翻,只是没了图形界面,命令行的方式一样可以使用
2.注释掉之前未正确设置的环境变量
启动过程
在Ubuntu系统中/etc/profile文件是全局的环境变量配置文件,它适应于所有的shell。
Linux系统时,首先启动/etc/profile文件,再启动用户目录下的/.bash_profile、/.bash_login或/.profile文件中的其中一个,执行的顺序和上面的排序一样。如果/.bash_profile文件存在的话,一般还会执行~/.bashrc文件。
(1)系统环境变量
/etc/profile:在登陆时,操作系统定制用户环境时使用的第一个文件,该文件为系统的所有用户设置环境信息,一般是通过调用/etc/bash.bashrc文件;
/etc/bash.bashrc:系统级的bashrc文件,为每一个运行bash shell的用户执行此文件,但用户执行bash shell时,该文件被执行;
(2)用户级的环境变量
/etc/environment:在登陆时,操作系统使用的第二个文件,系统读取某个用户的~/profile前,设置环境文件的环境变量
用户级文件
/.profile:在登陆时,用到的第三个文件,每个用户都可使用该文件输入专用于自己使用的shell信息,如javac,qmake等,当用户登陆时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,执行自己的/.bashrc。
~/bashrc:该文件包含专用于你的bash shell的bash信息,当登陆以及每次打开新的shell时,该文件都会被读取。因此不推荐把shell放置此位置,因为每打开一个shell,这个文件就会被读取一次,效率上讲不好。
/.bash_profile:单用户专用,登陆时仅执行一次,默认设置环境变量,执行/.bashrc。是以login方式进入bash运行的。而~/.bashrc是以non-login方式进入bash运行的。
~/.bash_login:登陆shell启动时会被读取。也还是login方式进行bash运行。
~/.bash_logout:是以logout方式进行,即退出bash shell时,执行此文件。
~/.pam_environment:用户级的环境变量设置文件。
另外,/etc/profile中设定的变量(全局)作用于任何用户,而/.bashrc等中设定的变量只能继承/etc/profile的变量和当前用户下的/.bashrc的变量。
我出问题的地方在etc/profile和~/.bashrc,
列举修改这两个具体修改要视你具体的问题进行修改,只能说自己学艺不精,没搞清楚linux的环境变量配置,才导致了问题的发生,该补的课还是得补。
/ :根目录(cd / : 从任何用户执行该命令都会进入同一个目录,即所有用户共享)
/home :家目录
~ :当前用户的家目录
这里关于vim的使用,不会的也得补
我的情况是修改~/.bashrc和/etc/profile
vim ~/.bashrc
按i键进入编辑模式,注释掉后,按esc键退出编辑模式
输入:,wq!强制保存退出
sudo vim /etc/profile
同上述进行注释修改
修改环境变量详细的部分参考这篇博客:https://www.cnblogs.com/hugechuanqi/p/9839597.html