Ubuntu20.04通过VNC搭建图形界面

说明:

虚拟网络计算(VNC)是一个图形桌面共享系统,可让您使用键盘和鼠标远程控制另一台计算机。

常用命令:

更改密码

vncpasswd

查看当前用户所建立的所有远程桌面

ps -ef|grep Xtightvnc

关闭已启动的VNC,VNC的显示号1

vncserver -kill :1

启动一个新的VNC,VNC的显示号仍为1(端口为:5900 + 显示号 = 5901)。

vncserver -geometry 1920x1080 :1

安装环境与VNC

桌面环境安装

sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop

VNC服务器安装

sudo apt install tightvncserver

配置VNC

启动VNC,设置VNC访问密码
密码的长度必须在6到8个字符之间
超过 8 个字符的密码将被自动截断

vncserver

验证密码后,选择创建仅供查看的密码(选 n 否则无法操作桌面)
它会在端口上启动一个默认的服务器实例端口 5901,显示号 1(IP端口为:5900 + VNC显示号 = 5901)
然后停止在端口上运行的 VNC 服务器

vncserver -kill :1

在修改xstartup文件之前,备份原始文件

cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

修改VNC的xstartup配置文件

vim ~/.vnc/xstartup

配置内容

#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

启动VNC服务器(指定分辨率和VNC的显示号1,实际端口为5901)

vncserver -geometry 1920x1080 :1

连接到VNC桌面

使用 vncviewer 客户端:
https://www.realvnc.com/en/connect/download/vnc/
或者
其他vnc客服端

使用 VNC 客户端连接到
your_hostname:1
或者
your_hostname::5901

设置VNC开机自启

Service详细用法:
Ubuntu Systemd Service开机自启服务

创建service文件
@名称末尾的符号将让我们传入一个您可以在服务配置中使用的参数%i

sudo vim /etc/systemd/system/vncserver-local@.service

文件内容

[Unit]
Description=TightVNC server
After=syslog.target network.target

[Service]
Type=forking
User=root
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -geometry 1920x1080 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

重新加载单元文件

systemctl daemon-reload

启用单元文件

sudo systemctl start vncserver-local@1

设置开机自启

sudo systemctl enable vncserver-local@1

注意:

需要打开VNC对应的端口(端口为:5900 + VNC显示号)
iptables防火墙配置教程如下

Ubuntu配置iptables防火墙