ubuntu系统构建VNC虚拟远程桌面

目录

1 准备工作

2 安装ubuntu远程桌面

2.1 Gnome安装

2.2 xface安装

4 配置VNC服务

4.1 VNC密码设置

4.2 启动脚本设置

4.3 启动VNCSERVER

4.4 查看开启的vncserver

4.5 停止VNCserver

 5开机vnc自启动

6 VNC viewer 启动 


本文应用场景是有远程服务器上开发或本地及远程容器开发过程中需要可视化效果的,可以按照本文进行安装。比如深度学习开发,对图片和视频数据需要进行查看。
VNC代表虚拟网络计算。从本质上讲,它是一个远程显示系统,不仅允许您在当前运行的计算机上查看桌面环境,而且从Internet上的任何地方的不同体系结构的计算机中查看远端的“桌面”环境。

VNC Server是用于在Linux环境中执行VNC(虚拟网络计算)桌面的软件。不同于Windows操作系统,只需激活远程桌面;在Linux上,必须安装VNC Server才能实时远程桌面。VNC服务器有很多软件,这里讨论如何使用TigerVNC安装VNC服务器。关于tigervnc与其它工具的区别,不做区分。

1 准备工作

首先准备一个Ubuntu 服务器,可以是18.04或者是20.04,本文在这两种系统中都有进行测试并通过。该服务器它可以通过SSH远程或直接操作屏幕上的终端。下载软件需要有互联网连接。对于计算机上的VNC客户端,可以使用VNC Viewer应用程序,例如RealVNC,这个软件很小,几十M。这里我们使用moba xterm,这个软件是免费的,同时有ssh,vncserver功能,因为一直要用ssh,所以只用这一个软件也可以。

2 安装ubuntu远程桌面

本节提供两种桌面的安装第一种是gonme,每二种是xface4。相比而言xface更加轻量级,安装过程中gonme安装2.2G依赖,xface4安装0.9G依赖。对远程而言,使用xface4更合适。在测试过程中,远程服务器上这两种桌面是都可以正常使用的,但在容器中只有xface4可以正常使用,但gonme并不能每次都使用,有时只有黑屏。
另外要说明的是服务器上通常是通过命令行管理的,默认情况下未安装桌面环境。如果您运行桌面版本的Ubuntu,请跳过此步骤。当前Ubuntu 20.04存储库中提供了各种桌面环境,一种选择是安装Gnome,它是Ubuntu 中的默认桌面环境。另一个选择是安装Xfce。它是一种快速、稳定且轻巧的桌面环境,非常适合在远程服务器上使用。

2.1 Gnome安装

sudo apt-get update
sudo apt-get install ubuntu-gnome-desktop

安装过程中gdm3和lightgdm可以任选一个,只是显示风格的不同,我是选的gdm3.
启动gnome桌面服务,并确保它在启动时运行。

sudo systemctl start gdm
sudo systemctl enable gdm

2.2 xface安装

sudo apt-get update
sudo apt-get xfce4 xfce4-goodies

桌面的安装过程会花一段时间,特别是在容器中,耐心等待安成即可。另外这两个桌面是可以同时安装的,使用时进行选择,当然同时安装是没必要的。如果使用桌面版ubuntu系统直接使用gnome时无须安装,这样也简单一些。


3 安装VNC服务器

Ubuntu 存储库中有几种不同的VNC服务器,例如TightVNC、TigerVNC和x11vnc。每个VNC服务器在速度和安全性方面都有各自的优缺点。

我们将安装TigerVNC,这是一个主动维护的高性能VNC服务器,输入以下命令以安装软件包:

sudo apt-get install xserver-xorg-core

sudo apt-get install tigervnc-standalone-server tigervnc-xorg-extension tigervnc-viewer

sudo apt-get install gsfonts-x11 xfonts-base xfonts-75dpi xfonts-100dpi

4 配置VNC服务

4.1 VNC密码设置

这一步设置连接到VNC服务器时所使用的VNC密码。使用以下命令:

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

4.2 启动脚本设置

接下来,我们将创建一个启动脚本作为初始配置,将在激活VNC服务器时执行。使用vim命令创建~/.vnc/xstartup文件。

gedit ~/.vnc/xstartup

然后填写以下代码:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

vncconfig -iconic &

dbus-launch --exit-with-session gnome-session &
#dbus-launch --exit-with-session startxfce4 &

以上内容中有要加注释的话可以直接加#号,最后一行依据你所选用的桌面类型来进行配置。保存并退出后,给~/.vnc/xstartup文件添加可执行权限:

sudo chmod a+x ~/.vnc/xstartup

4.3 启动VNCSERVER

vncserver :1 -localhost no -geometry 1920x1080 -depth 24

上述代码解释:

# -localhost no是为了让其他计算机可以访问,而不仅仅是本地。没有这个option的话就只能本地VNC连接。从下面vnc监听状态可以看出,监听地址是0.0.0.0,而不是默认的127.0.0.1。
# vncserver -localhost no
# 不添加:1也可以,默认是1,可以手动选择

上述选项将创建一个会话,允许外部连接具有1920x950像素分辨率和清晰度24.
在Ubuntu操作系统上,分辨率可以用xrandr -q命令查看.容器中无法查看。
您可以根据自己的喜好配置分辨率和清晰度。
返回内容如下

root@07265f50ffb2:~# vncserver :1 -localhost no -geometry 1920x950 -depth 24

New '07265f50ffb2:1 (root)' desktop at :1 on machine 07265f50ffb2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/07265f50ffb2:1.log

Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /root/.vnc/passwd 07265f50ffb2:1 to connect to the VNC server.

在上面的输出中,请注意主机名后面的:1。这表示正在运行vnc服务器的显示端口号。在此示例中,服务器在TCP端口5901(5900+1)上运行。如果使用vncserver创建第二个实例,它将在下一个可用端口(即:2)上运行,这意味着服务器在端口5902(5900+2)上运行。

要记住的重要一点是,在使用VNC服务器时,:X是表示5900+X的显示端口。
有时会报错:
 

A VNC/X11 server is already running as :1 on machine 8ad402711f3d

需要进行如下操作:

 rm -f /tmp/.X1-lock

 rm -f /tmp/.X11-unix/X1

4.4 查看开启的vncserver

可以通过输入以下命令获取所有当前正在运行的VNC会话的列表

vncserver -list

返回内容:

TigerVNC server sessions:

X DISPLAY #	PROCESS ID
:1		1878

 安装键盘鼠标驱动。

sudo apt-get install xserver-xorg-input-all

4.5 停止VNCserver

使用带有-kill选项和服务器编号作为参数的vncserver命令停止VNC实例:

vncserver -kill :1 #只杀死5901
vncserver -koll :* #合部杀死

显示为:

 上图为远程服务器ubuntu18.04中xface4界面。

 

 5开机vnc自启动

桌面环境设置

如果有ubuntu桌面环境,通过在终端输入

gnome-session-properties

会弹出如下设置启动项的页

 点击Add按钮,在弹出的界面中Command对应的部分选择自己的启动脚本即可,如下

名字(N):开机vnc自启动
命令(M): vncserver :1 -localhost no -geometry 1920x1080 -depth 24
注释(E): 开机vnc自启动

 重启计算机

reboot

6 VNC viewer 启动 

IP地址后面要加  :1

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值