背景
这是今年年初发生的一次意外,我的台式Ubuntu在昨天晚上还是正常运行的情况下,第二天却突然登录不进去,费了一番功夫才把问题解决,在此记录一下过程。
特别说明,我的Ubuntu内核是由Litmus内核编译而来,且安装了英伟达驱动和CUDA,以往且之后没有启动问题,说明不是这三者的问题,就是一次意外
启动黑屏闪烁
经排查,需要安装lightdm
root@rtlab-computer:/home/rtlab# apt-get install lightdm
然后配置
root@rtlab-computer:/home/rtlab#dpkg --reconfigure lightdm
在出现的界面中选中lightdm即可,重启后就可以进入到登录界面
命令行中文乱码
上一步过程是在命令行中进行的,进入方式为grub界面->advanced options->选中自己的内核->quiet splash后加一个 3(注意3之前有空格),ctrl+x即可。但是会出现中文成菱形的情况,解决方法就是在编译此内核时添加对中文的支持,在make menuconfig中的具体路径为:
File systems --->
Native Language Support --->
(utf8) Default NLS Option ///此括号内为utf8
<*> Simplified Chinese charset (CP936, GB2312)
<*> NLS ISO 8859-1 (Latin 1; Western European Languages)
<*> NLS UTF-8
DOS/FAT/NT Filesystems --->
(936) Default codepage for FAT
(utf8) Default iocharset for FAT
然后重新编译内核,重启
循环登录
经过排查,不是英伟达驱动、nouveau、cuda、.Xauthority的问题,.xsession-errors中也没有报错信息,不过安装英伟达驱动和cuda时要分别加上-no-opengl-files和-no-opengl-libs参数
最后的解决方法是安装lubuntu-desktop
root@rtlab-computer:/home/rtlab# apt-get install lubuntu-desktop
重启后,在登录界面右上角的一个按钮(一个个试试)中选择lubuntu,然后输入正确的密码就能进去,稍候片刻桌面就能显示完全,就是换了一个桌面系统,数据都还在。
结语
第三个问题费了我很大劲才解决,建议在尝试我安装新桌面的方法前,先试试网上别人关于英伟达、nouveau、.Xauthority的方法。一月底我实验室同学也遇到了循环登录的问题,经过排查,他是不小心把/home目录的所有者设置成了777(emm,应该是原打算chmod的,结果chown了,闹了个笑话),结果把所有者改回用户名,再重启就好了。