Ubuntu无法进入桌面

今天又弄了一下fcitx5,并且配置了go环境变量,然后重启了一下电脑,到了登录页面,输入密码,竟然又退到登录页面,无论如何也进不去桌面。

解决步骤

  1. 插入ubuntu启动盘,从usb引导,进入ubuntu安装页面,选择try ubuntu.
  2. 试用方式会以u盘为根目录,进入到系统,此时就能进入桌面了。
  3. 不要急,想想最近干了什么事情,哪些与操作系统配置相关,比如我就干了如下危险操作:
    • 系统语言从英文切换到了中文,根目录保留了英文名称。(三天没出事,可以排除);
    • 安装了Fcitx5输入法,两天没事,但是今天在钉钉上不能切换中文,钉钉的技术帮我开了「默认激活」选项(严重怀疑);
    • 在格式化机械硬盘时强制重启了系统(系统装在ssd上,应该不会受影响)(轻度怀疑);
    • 安装了go环境,配置了环境变量(怀疑与系统自带的go冲突?)。
  4. 然后选择其他位置,找到原来系统的根目录;
  5. 先从最熟悉的环境变量开始检查,发现在fcitx的配置上,多了个「ls」,但是这顶多导致一些报错,不会影响到系统,顺手改了
  6. 继续去看go的配置,发现$PATH=$GO_HOME/bin,总感觉少了什么,我擦,正常的PATH应该各目录拼接成的,我这样写就成了赋值,会清空PATH变量!!
  7. 修改成$PATH=$GO_HOME/bin:$PATH之后重启,可以正常进桌面了。

总结

  1. 环境变量是个严谨的玩意,每次修改都需要慎重对待;
  2. 我喜欢在vscode里面修改.profile,但是每次打开文件后就不管了,导致.profile一直处于可编辑状态,这样十分危险,以后改完就关闭;
  3. 我喜欢将环境变量写在~/.profile文件中,这样一旦出错就会影响自己的用户系统。以后应该把环境变量写在~/.bash_profile中,这样只会影响终端,不至于出现连桌面都进不去的局面。

更新

解决桌面进不去的问题之后,发现钉钉又不能输入中文了,通过把fcitx5的配置还原回.profile,并且重启生效后,解决了这个问题。

看来不是什么环境变量都能写到.bash_profile的,比如fcitx5输入法的配置,就应该是用户系统全局生效的,而不是只在bash里面生效。