Ubuntu配置VNC远程桌面

发布时间 2023-04-15 22:01:20作者: this毛豆

Ubuntu 22.04已经内置了远程连接功能,所以本次以Ubuntu 18.04 Desktop进行配置VNC远程桌面访问。

VNC分为Server端和View端,原理就是客户端(view)访问服务端(server),市面上有很多VNC产品,有免费和收费之分,

View端部署在Windows上,我使用的是TightVNC,因为它是开源且对个人和商用均免费的,[官方下载地址]。

Server端部署在Ubuntu上,这里会演示3种不同的方案(任选一种即可),分别是:vnc4server、tigervnc-standalone-server、tightvncserver.

1.vnc4server

1.1 安装软件包

$ sudo apt install vnc4server
$ sudo apt install gnome-panel

1.2 设置密码

# 密码最大长度为8个字符.
$ vncpasswd
Password:
Verify:
Password too long - only the first 8 characters will be used

1.3 编写启动文件

执行完第2步,会在用户目录生成.vnc/passwd,我们进入并创建和编辑如下文件:

$ cd ~/.vnc/
$ touch xstartup
$ chmod a+x xstartup

添加如下内容:

 1 #!/bin/sh
 2 
 3 unset SESSION_MANAGER
 4 unset DBUS_SESSION_BUS_ADDRESS
 5 export XKL_XMODMAP_DISABLE=1
 6 export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
 7 export XDG_MENU_PREFIX="gnome-flashback-"
 8 
 9 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
10 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
11 
12 vncconfig -iconic &
13 gnome-terminal &
14 nautilus &
15 gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

1.4 启动与测试

Server端:

# 以下两种方式,任选其一

# 简单的启动方式:
$ vncserver

# 增加一些条件的启动方式(这里是分辨率):
$ vncserver -geometry 1920x1080

运行上述命令后,会出现一些log信息:

New 'testobj:1 (abc)' desktop is testobj:1

Starting applications specified in /home/abc/.vnc/xstartup
Log file is /home/abc/.vnc/testobj:1.log

vnc的默认端口是5900,vncserver第一个桌面使用5901,第二个桌面使用5902,以此类推,上述log信息显示的是1,所以我们使用5901端口.

View端:

Windows上打开TightVNC,输入IP:Port,如:

192.168.xxx.xxx:5901

回车后,输入我们在server端设置的密码,顺利的话,就可以看到和控制Ubuntu远程桌面了,鼠标右键菜单可以打开Terminal。

2.tigervnc-standalone-server

2.1 安装软件包

$ sudo apt install tigervnc-standalone-server
$ sudo apt install gnome-panel

2.2 设置密码

$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

注意:选择No(Would you like to enter a view-only password (y/n)?).

2.3 编写启动文件

执行完第2步,会在用户目录生成.vnc/passwd,我们进入并创建和编辑文件:

$ cd ~/.vnc/
$ touch xstartup
$ chmod a+x xstartup

添加如下内容:

 1 #!/bin/sh
 2 
 3 unset SESSION_MANAGER
 4 unset DBUS_SESSION_BUS_ADDRESS
 5 export XKL_XMODMAP_DISABLE=1
 6 export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
 7 export XDG_MENU_PREFIX="gnome-flashback-"
 8 
 9 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
10 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
11 
12 vncconfig -iconic &
13 gnome-terminal &
14 nautilus &
15 dbus-launch --exit-with-session gnome-session &

2.4 启动与测试

Server端:

# 不加-localhost no,只会监听127.0.0.1,外部无法访问.
$ vncserver -localhost no

New 'testobj:1 (abc)' desktop at :1 on machine testobj

Starting applications specified in /home/abc/.vnc/xstartup
Log file is /home/abc/.vnc/testobj:1.log

Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/abc/.vnc/passwd testobj:1 to connect to the VNC server.

vnc的默认端口是5900,vncserver第一个桌面使用5901,第二个桌面使用5902,以此类推,上述log信息显示的是1,所以我们使用5901端口.

View端:

Windows上打开TightVNC,输入IP:Port,如:

192.168.xxx.xxx:5901

回车后,输入我们在server端设置的密码,顺利的话,就可以看到和控制Ubuntu远程桌面了,鼠标右键菜单可以打开Terminal。

3.tightvncserver

3.1 安装软件包

 

3.2 设置密码

 

3.3 编写启动文件

 

3.4 启动与测试

 

4.补充

Ubuntu 22.04内置了远程连接功能,这里简单介绍一下:

[待补充]。