1、问题描述

最近倒腾树莓派的时候遇到一个奇怪的问题:

树莓派开机后,图形界面无法启动,VNC连接提示VNC cannot currently show the desktop,如下图

树莓派重启docker 树莓派重启后黑屏_图形界面

赶紧用线连接上显示器,自检没有任何问题,但发现开机后黑屏只有光标,说明问题的确是无法启动图形界面。此时按回车键,光标能移动到下一行,输入任何命令,可以接受字符,但命令并不执行,如下图(忘记截图了,图从网上找的)

树莓派重启docker 树莓派重启后黑屏_树莓派重启docker_02

最令人费解的是,明明之前一直都能正常使用,但这一下突然就无法进入桌面了。同时,仍然能够使用网络通过SSH连接到树莓派,也可以正常执行命令,但始终无法进入图形界面。

总结,设备状态:以前能够正常使用图形界面,目前黑屏只有光标,连接显示器能显示,进程自检无异常,SSH能正常连接操作

能连接显示器,自检无异常,且SSH能连接说明树莓派系统没有问题,问题只是出在图形界面上。

2、问题分析

百般搜索,网上的解决方案可以分为几类:

1、电源供电不足,无法进入桌面

树莓派的标准电压是5.1V,比普通的手机充电器电压(5V)高一点,如果树莓派的运行电压比标准电压低,在屏幕显示的右上角会有欠压的标志,若电压太低确实会导致用户界面无法进入,只能进入命令行模式。我使用的是树莓派官方电源,能够提供5.1V电压。因此可以排除这个问题。

2、没有设置默认以桌面引导启动

某些博客给出的建议是在Shell中输入如下命令打开设置菜单:

sudo raspi-config

选择引导选项中的Enable Boot to Desktop/Scratch,设置开机引导模式为桌面模式。

但由于我以前一直都是默认桌面模式启动,所以该方法没有效果。

3、分辨率不匹配

分辨率不匹配的问题主要是在VNC连接的时候出现,可能由于分辨率太高无法显示

仍然是在设置菜单中:

sudo raspi-config

调整显示分辨率到其他分辨率(如1280×720)等,但该方法也没有效果

4、中文输入法导致桌面崩溃,需尝试手动开启

这个问题我以前使用Ubuntu 20.04的时候遇到过,安装搜狗输入法导致程序冲突,然后用户界面异常,桌面崩溃了,但只需要重新安装Gnome桌面,再重启即可

树莓派官方系统raspbian使用LXDE(Lightweight X11 Desktop Environment)桌面。SSH连接后在命令行中用

sudo startx

命令确实可以开启一个用户界面,但在功能和显示上仍存在问题,且重启后回到黑屏闪光标的状态。而且在图形界面异常之前我也没有安装任何软件,说明这不是问题所在。

3、问题解决

在我查询用户界面启动日志和配置文件的时候,准备备份文件,提示设备上没有空间,所以突然想到以前使用Ubuntu也会有类似问题:当硬盘上没有足够的空间时,会导致图形界面无法启动

树莓派重启docker 树莓派重启后黑屏_树莓派重启docker_03

所以最后发现是这么一个很蠢的原因(泪目),清理完树莓派的磁盘空间图形界面就自动恢复正常了。