ubuntu 18.04 没有外界显示器下开启 vnc 服务

Ubuntu 下如果没有接入显示器,vnc 会无法正常工作,所以需要做一些额外的操作来处理。

配置 vino

Ubuntu使用vino来作为默认的vnc服务器,但是默认的设置需要进行一些修改,特别是require-encryption这个标志,macos自带的vnc客户的不支持它的加密方式。

gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino lock-screen-on-disconnect false
gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)

需要注意的是,不要用sudo来运行上面的命令,否则不但在ssh客户的操作时会有警告,而且修改的也不是当前的配置。

自动启动 vino server

随用户登录后,自动启动 vino server。编辑一个 vino-server.desktop 文件,如果 autostart 目录不存在,就创建一个。
sudo vim ~/.config/autostart/vino-server.desktop
填入如下内容:

[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true

vino-server 不能在 console 中运行,所以需要在用户登录到桌面后用这样的方式自动启动。

安装 video-dummy

sudo apt install xserver-xorg-video-dummy

配置 dummy 显示器

/etc/X11下创建 xorg.conf 文件,填写分辨率等信息

填写如下内容:

Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
# Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
# 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
# Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
# 1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz
# Modeline "1368x768_60.00" 85.86 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
# Modeline "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -HSync +Vsync
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection

Section "Device"
Identifier "Card0"
Option "NoDDC" "true"
Option "IgnoreEDID" "true"
Driver "dummy"
EndSection

Section "Screen"
DefaultDepth 16
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
    SubSection "Display"
    Depth 16
    Modes "1920x1080"
    EndSubSection
EndSection

配置用户自动登录桌面

查看当前用的是什么管理器:
cat /etc/X11/default-display-manager

我的是/usr/sbin/gdm3,那么编辑文件:
sudo vim /etc/gdm3/custom.conf
把下面三行的注释去掉,其中AutomaticLogin行修改成自己的用户名。

WaylandEnable=false
AutomaticLoginEnable = true
AutomaticLogin = username

重启电脑,就可以登录了。

你可能感兴趣的:(ubuntu 18.04 没有外界显示器下开启 vnc 服务)