Intel NUC(NUC6i3SYH)在不接显示器(Headless模式)的情况下,VNC不显示桌面(Ubuntu 18.04),如下图:
造成这个现象的原因是,当使用Intel集成显卡的时候,如果没有显示器接入,那么显卡默认是没有输出的。
解决方法为配置一块虚拟显卡,强制集成显卡输出到虚拟显卡,这部分功能在Linux系统下,一般通过xserver-xorg-video-dummy实现,如下:
1 |
$ sudo apt-get install xserver-xorg-video-dummy |
但是安装过程中,出现如下错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ sudo apt-get install xserver-xorg-video-dummy 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系: xserver-xorg-video-dummy : 依赖: xorg-video-abi-23 依赖: xserver-xorg-core (>= 2:1.18.99.901) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 |
然后尝试执行下安装命令(不要安装):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ sudo apt-get install xserver-xorg-video-dummy xserver-xorg-core 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 建议安装: xfonts-100dpi | xfonts-75dpi 下列软件包将被【卸载】: ubuntu-desktop xorg xserver-xorg-core-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-input-all-hwe-18.04 xserver-xorg-input-libinput-hwe-18.04 xserver-xorg-input-wacom-hwe-18.04 xserver-xorg-video-all-hwe-18.04 xserver-xorg-video-amdgpu-hwe-18.04 xserver-xorg-video-ati-hwe-18.04 xserver-xorg-video-dummy-hwe-18.04 xserver-xorg-video-fbdev-hwe-18.04 xserver-xorg-video-intel-hwe-18.04 xserver-xorg-video-nouveau-hwe-18.04 xserver-xorg-video-qxl-hwe-18.04 xserver-xorg-video-radeon-hwe-18.04 xserver-xorg-video-vesa-hwe-18.04 xserver-xorg-video-vmware-hwe-18.04 下列【新】软件包将被安装: xserver-xorg-core xserver-xorg-video-dummy 升级了 0 个软件包,新安装了 2 个软件包,要卸载 18 个软件包,有 0 个软件包未被升级。 需要下载 1,360 kB 的归档。 解压缩后将会空出 5,575 kB 的空间。 您希望继续执行吗? [Y/n] |
可以看到当前系统安装的软件版本都有HWE
后缀。
所谓的Hardware Enablement Stack (HWE)
(硬件支持堆栈)版本,是Ubuntu
系统发布之后,默认情况下,系统内核在下个版本发布之前,不会继续更新,但是硬件一直在持续更新,这样就会造成硬件支持问题。为了解决这种情况,Ubuntu
会提供两种版本的内核linux-generic
以及linux-hwe-generic
,其中linux-hwe-generic
版本的提供最新的内核以及显示驱动。
我们需要安装对应的HWE
版本的xserver-xorg-video-dummy,如下:
1 |
$ sudo apt-get install xserver-xorg-video-dummy-hwe-18.04 |
安装完成后,需要增加配置文件:
1 2 3 4 5 |
$ sudo vim /usr/share/X11/xorg.conf.d/xorg.conf # ubuntu 21.10 版本配置文件 # sudo vim /etc/X11/xorg.conf |
内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Section "Device" Identifier "Configured Video Device" Driver "dummy" EndSection Section "Monitor" Identifier "Configured Monitor" HorizSync 31.5-48.5 VertRefresh 50-70 EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080" EndSubSection EndSection |
完成后,重启系统,就可以解决问题了。
参考链接
- Intel NUC: no remote desktop possible in case no monitor attached
- How to use Ubuntu 18.04 on VNC without display attached?
- Add Fake Display when No Monitor is Plugged In
- Black Screen on Remote Client Software with Intel® NUCs
- How to use Ubuntu 18.04 on VNC without display attached?
- Fix Ubuntu Desktop to Boot without Monitor Connected
- VNC on headless 18.04 ??
- Bionic packages do not play well with HWE 18.04
- What is hardware enablement (HWE)?
- Howto: Intel NUC Remote KVM with AMT (powered by vPro)
请教大神!!!
我的系统是ubuntu18.04,使用的是lightdm。
按照大神的办法修改,重启系统后,连不上了。为什么呢?
望赐教!
默认情况下 ubuntu 18.04已经不使用lightdm 了,而是使用gdm3,因此安装包是有差异的,这个你要么切换会gdm3,要么根据报错,自己修正错误。