ubuntu无法进入桌面的一种情况
问题描述
系统环境:
- 无法进入桌面
- 可以进入锁屏
- 输入密码后黑屏,并返回锁屏
- tty能进入
startx
startx
中部分软件无法打开
无法进入桌面最直接的错误,非常严重不可原谅。用户登陆输入密码,黑屏,然后回到用户登陆。
误导我的一个报错:
起初我认为是xdroid-server出毛病了,但是后来发现它无法启动,于是尝试使用startx
来寻找错误。
tty如何进入
在锁屏页面使用Ctrl+Alt+F4
,即可进入tty
。
进入后输入用户名和用户密码。
进入startx进行debug
登陆好后使用startx
进入。
后续操作使用tty
执行startx
展现。
大量的.desktop无法打开
执行code
竟然出现Node.js
的报错
打开code
可以看到顶部的解释器选择,如果直接指定解释器,发现能够打开VSCode,说明不是可执行文件的错误。
指定解释器:
如果去掉code
中的指定解释器行:
成功打开:
发现了Node.js
观察到VScode的解释器是/usr/bin/env sh
为什么不是/bin/sh或者/usr/bin/sh呢?
于是我尝试运行了/usr/bin/env发现!:
我天呢?这是什么道理?
问题解决
综上所述,我认为是/bin/env和/usr/bin/env被NodeJs覆写了,于是我决定删除/bin/env,然后重装coreutils
问题解决:
sudo rm /bin/env
sudo apt reinstall coreutils
另外因为安装了gnome-tweaks
和原来的某些东西有冲突,卸载后恢复原状:
sudo apt remove gnome-tweaks
reboot
总结
这是一个非常奇怪的问题,因为我的/bin/env
被Node.js
覆写了,导致大量依赖于/bin/env
寻找环境的批处理无法运行,这才导致了桌面无法打开。
debug期间我干了:
重装显卡驱动
卸载nodejs
删除所有与nodejs有关的文件
重装gnome
切换内核
修改用户权限
修改profile、~/.bashrc、/etc/environment……
本文来自博客园,作者:zhywyt,转载请注明原文链接:https://www.cnblogs.com/zhywyt/p/18153139