设备环境:FNOS 1.0.0, Intel NUC8i5BEH
BUG现象:拔掉HDMI就死机,无法访问,不插HDMI开机也访问不了
出现频率:必现
我有一台NUC7和NUC8,之前用NUC7装飞牛OS的时候没什么问题。但是把装到NUC8的时候发现拔掉HDMI就死机,无法访问。上网查了一大堆发现这个好像是NUC8的通病,在所有Linux系统里面都会出现拔掉HDMI就死机的情况,感觉跟飞牛OS无关。简单说就是:系统内核或者驱动发现 HDMI 断开了,直接就崩了;我试过把bios更新到华硕官网的最新版,没用,官网还有一个关于HDMI的固件更新的,但是我没有多余的硬盘装Windows,试不了。
最简单也是最稳妥的办法当然是去买个“HDMI 诱骗器”(几块钱一个小东西)。但如果嫌碍事,可以试一下一下的方法,改一行代码就能搞定。
我们要做的,就是强制 Linux 内核相信:HDMI已经连了。
操作步骤
第一步:看看你的接口叫啥
先别拔线,插着显示器和键盘开机,进入系统终端。
输入这行命令:
ls /sys/class/drm/
你会看到一堆文件夹。找那个以 card0-HDMI 开头的。 比如可能是 card0-HDMI-A-1 或者 card0-HDMI-1。 记下来 card0- 后面的部分,比如我的就是:HDMI-A-1。
第二步:改一下 GRUB 配置
我们要修改系统的启动参数。打开配置文件:
sudo nano /etc/default/grub
找到开头是 GRUB_CMDLINE_LINUX_DEFAULT 的那一行。通常它长这样: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
你需要在这个引号里面,加上:video=[你的接口名]:e
改完后这一行长这样(以我的接口为例):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-A-1:e"
(小技巧:如果你想更完美一点,甚至可以锁死分辨率,写成 video=HDMI-A-1:1920x1080@60e,这样远程桌面看着也舒服)
第三步:保存、更新、重启
- 保存文件:在 nano 编辑器里按
Ctrl+O,回车,然后 Ctrl+X 退出。
- 更新 GRUB:
sudo update-grub
- 重启系统:
sudo reboot
搞定收工
重启之后,你的 Linux 内核就会处于一种“自欺欺人”的状态,它会坚信显示器一直都在。
- 现在你可以随便热拔插 HDMI 线,系统不会崩了。
- 不插显示器开机,系统也能正常引导进入桌面或命令行了。