在Ubuntu 18.04上安装TigerVNC
VNC(虚拟网络计算)是一个软件包,用作用户客户端和远程计算机之间的连接介质。
它创建了与远程服务器的会话,这使我们可以将远程服务器当作是我们的机器一样,访问远程服务器的GUI,并以普通用户的身份使用鼠标和键盘与之交互。
对于不习惯使用终端的用户来说,这是一个非常方便的工具,并且具有易于使用的优点,并且几乎不需要设置即可在几乎所有客户端操作系统上使用。
让我们弄清楚如何从客户端连接到远程Ubuntu 18.04服务器,该服务器可以是Windows,MacOS或者Linux。
注意:我们不会设置TightVNC客户端,因为它是在TightVNC上非常简单的设置。
因此,本教程旨在在Ubuntu 18.04上设置VNC服务器并从远程客户端连接到该服务器。
在Ubuntu服务器上安装桌面环境
默认情况下,Ubuntu 18.04服务器没有图形桌面环境或者VNC服务器,因此我们必须先安装。
桌面管理器有多种类型,例如KDE,Gnome等。
但是,我们将坚持使用最小的Xfce桌面环境。
首先,在Ubuntu服务器上,首先更新系统关键软件包。
sudo apt update
现在,使用以下命令安装Xfce DE:
sudo apt install xfce4 xfce4-goodies
我们准备安装TigerVNC服务器及其依赖项。
sudo apt install tigervnc-standalone-server tigervnc-common
现在,我们已经准备好了基本要求,现在让我们对其进行配置以使其正常工作。
创建配置文件
要在安装后完成VNC服务器的初始配置,请使用" vncserver"命令设置安全密码并创建初始配置文件。
vncserver
这将提示我们创建新密码以安全地远程访问服务器。
注意:密码必须介于6-8个字符之间。
超过此限制的内容将被截断并自动减少到8个字符,因此在8个字符内选择正确的密码非常重要。
Ubuntu Vncserver设置密码
设置密码后,现在将为我们的Ubuntu TigerVNC服务器创建一些默认配置文件。
配置VNCServer
VNCServer启动时,可能需要执行某些命令,例如连接到图形环境。
由于不会自动提供,因此我们必须修改适当的配置文件。
但是在此之前,由于我们现在已经创建了密码,因此首先要终止现有的VNC会话。
首次设置VNC时,它将在端口" 5901"上启动默认服务器实例。
这是VNC用于向连接的客户端显示服务器屏幕的端口。
根据连接号,一个合适的参考后缀与其关联。
例如,":1",":2"表示端口" 5901"上的第一个和第二个VNC服务器连接实例。
因此,我们可以使用此引用计数直接连接到或者关闭VNC Server实例。
例如,在我们的系统中,因为我们运行了vncserver
,所以实例现在正在以:1
的引用计数运行。
如果我们想终止该过程,只需键入:
vncserver -kill :1
为了杀死所有这样的实例,我们使用通配符" *":
vncserver -kill :*
您将获得如下输出:
root@ubuntu:~# vncserver -kill :1 Killing Xtigervnc process ID 6268... success!
我们需要创建一个启动脚本来自动运行Xfce4桌面环境,以便即使在服务器重启后也可以从客户端远程连接到服务器,所以现在就开始做吧。
创建启动脚本
对于任何用户,启动命令位于$HOME/.vnc目录中名为xstartup的配置文件中(其中$HOME是主目录环境变量)
如果该文件不存在,那不是问题。
我们将创建一个新文件。
touch $HOME/.vnc/xstartup
现在,使用文本编辑器编辑该文件,并向其中添加以下脚本:
vi $HOME/.vnc/xstartup
#!/bin/sh xrdb $HOME/.Xresources startxfce4 &
它会查看用户的" Xresources"文件,并启动Xfce4桌面环境作为后台进程。
保存更改后退出编辑器。
我们还必须使该脚本可执行,以便我们的服务器可以执行它。
让我们使用chmod做到这一点。
sudo chmod +x ~/.vnc/xstartup
现在,让我们再次启动VNC服务器:
vncserver
Ubuntu Vncserver启动脚本
您将获得类似的输出,表明我们已经从启动脚本中加载了DE。
现在,从本地客户端计算机连接到服务器。
连接到VNC服务器
由于VNC不使用任何安全协议来建立连接,因此我们需要手动设置一个,例如ssh。
我们创建一个SSH隧道以安全地连接到服务器,然后告诉VNC客户端也使用SSH隧道进行连接,而不是不安全的直接连接。
创建SSH隧道
我们将在本地客户端计算机上建立SSH连接,并将其转发到VNC的" localhost"连接。
我们将为此使用终端(如果您使用的是Windows,请确保使用PuTTY)
ssh -L 5901:127.0.0.1:5901 SERVER_USER_NAME@SERVER_IP
我们使用" ssh"将远程连接的端口5901绑定到客户端计算机上的端口5901。-L
选项使用端口转发到localhost(127.0.0.1)来执行此操作
因此,我们可以通过从localhost:5901建立连接来连接到服务器。
连接到ssh隧道后,让我们继续运行,让此终端会话保持独立。
现在,使用我们的VNC客户端连接到VNC服务器。
Vnc客户端连接
对我来说,我在Linux上使用vncviewer
来建立到安全SSH隧道的连接,并最终控制我们的远程服务器!
输入您用来设置的VNCServer密码,一切顺利!
建立连接后,您将看到默认的Xfce桌面。
它看起来应该像这样:
Vnc连接已建立
要停止会话,请按Ctrl + C或者关闭窗口。
注意:关闭SSH隧道会话也将关闭您的VNC连接。