如何在 Ubuntu 14.04 上安装和配置 VNC

介绍

VNC,或虚拟网络计算,是一个连接系统,允许您使用键盘和鼠标在远程服务器上与图形桌面环境进行交互。

在本指南中,我们将在Ubuntu 14.04服务器上设置VNC,并通过SSH隧道安全连接到它。我们将使用的VNC服务器是TightVNC,一个快速而轻量的远程控制包。

前提条件

在您开始使用本指南之前,有几个步骤必须先完成。

您将需要安装并配置一个具有sudo特权的非根用户的 Ubuntu 14.04 服务器. 如果您尚未这样做,您可以在 Ubuntu 14.04 初始服务器安装指南中运行步骤 1 到 4 来创建此帐户。

一旦你有你的非根用户,你可以使用它来SSH你的Ubuntu服务器,并继续安装你的VNC服务器。

第一步:安装桌面环境和VNC服务器

默认情况下,大多数Linux服务器安装将不会带有图形桌面环境. 如果是这样的情况,我们需要先安装一个我们可以使用的环境。

我们可以直接从Ubuntu的软件存储库中获取XFCE包,以及TightVNC的包,使用apt:

1sudo apt-get update
2sudo apt-get install xfce4 xfce4-goodies tightvncserver

要完成 VNC 服务器的初始配置,请使用vncserver命令设置安全密码:

1vncserver

(设置您的访问密码后,您将被问到是否想要输入仅查看密码。使用仅查看密码登录的用户将无法使用鼠标或键盘控制VNC实例。

vncserver通过创建默认配置文件和连接信息来完成VNC的安装,以便我们的服务器使用。

第二步:配置 VNC 服务器

首先,我们需要告诉我们的VNC服务器在启动时要执行哪些命令. 这些命令位于名为xstartup的配置文件中. 我们的VNC服务器已经预加载了xstartup文件,但我们需要为我们的XFCE桌面使用一些不同的命令。

当 VNC 首次设置时,它会在端口 5901 上启动默认服务器实例。该端口被称为显示端口,并且由 VNC 称为 :1. VNC 可以在其他显示端口上启动多个实例,如 :2:3 等。

由于我们将改变我们的VNC服务器的配置方式,我们需要先停止在端口5901上运行的VNC服务器实例:

1vncserver -kill :1

在我们开始配置我们的新xstartup文件之前,让我们在以后需要时备份原始文件:

1mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

现在我们可以用nano打开一个新的xstartup文件:

1nano ~/.vnc/xstartup

将这些命令插入文件中,以便每次启动或重新启动 VNC 服务器时自动执行:

1#!/bin/bash
2xrdb $HOME/.Xresources
3startxfce4 &

文件中的第一个命令,xrdb $HOME/.Xresources,告诉VNC的GUI框架读取服务器用户的.Xresources 文件。

第二个命令只是告诉服务器启动XFCE,这就是你所需要的所有图形软件以便舒适地管理你的服务器的地方。

为了确保VNC服务器能够正确使用这个新的启动文件,我们需要向它授予可执行的权限:

1sudo chmod +x ~/.vnc/xstartup

步骤三:创建 VNC 服务文件

为了轻松控制我们的新VNC服务器,我们应该将其设置为Ubuntu服务,这将使我们能够根据需要启动,停止和重新启动我们的VNC服务器。

首先,在 /etc/init.d 中打开一个新的服务文件,并使用 nano:

1sudo nano /etc/init.d/vncserver

数据的第一个块将是我们宣布一些常见的设置,VNC将引用很多,例如我们的用户名和显示分辨率。

1#!/bin/bash
2PATH="$PATH:/usr/bin/"
3export USER="user"
4DISPLAY="1"
5DEPTH="16"
6GEOMETRY="1024x768"
7OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
8. /lib/lsb/init-functions

请确保将用户替换为您已设置的非根用户,并更改1024x768,如果您想为虚拟显示器使用另一个屏幕分辨率。

接下来,我们可以开始插入允许我们管理新服务的命令命令. 下一个区块将启动VNC服务器所需的命令,以及正在启动的反馈,绑定到命令关键字开始

1case "$1" in
2start)
3log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
4su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
5;;

下一个块会创建命令关键字停止,它会立即杀死现有的VNC服务器实例。

1stop)
2log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
3su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
4;;

最后的块是指命令关键字重启,这只是前两个命令(停止开始)合并成一个命令。

1restart)
2$0 stop
3$0 start
4;;
5esac
6exit 0

一旦所有这些块都在你的服务脚本中,你可以保存并关闭该文件. 使这个服务脚本可执行,这样你就可以使用你刚刚设置的命令:

1sudo chmod +x /etc/init.d/vncserver

现在尝试使用服务和命令启动新的 VNC 服务器实例:

1sudo service vncserver start

步骤四:连接到您的 VNC 桌面

要测试 VNC 服务器,您需要使用支持 SSH 隧道 VNC 连接的客户端。如果您使用的是 Windows,您可以使用 TightVNC、RealVNC 或 UltraVNC。

首先,我们需要在本地计算机上创建一个SSH连接,该连接可以安全地向VNC的本地最强连接。

(请记住,用您通过SSH连接到服务器的用户名和IP代替用户server_ip_address

1ssh -L 5901:127.0.0.1:5901 -N -f -l user server_ip_address

如果您正在使用图形 SSH 客户端,例如 PuTTY,请使用server_ip_address作为连接 IP,并在程序的 SSH 隧道设置中将localhost:5901设置为新的转发端口。

接下来,您可以使用 VNC 浏览器连接到localhost:5901的 VNC 服务器,请确保您不会忘记在末端的:5901,因为这是唯一可以访问 VNC 实例的端口。

一旦连接,你应该看到默认的XFCE桌面为配置和使用准备好了!它应该看起来像这样的东西:

【第一个VNC 连接】(资产/desktop_vnc_1404/first_vnc_connection.png)

一旦您确认 VNC 连接是有效的,请将 VNC 服务添加到默认服务中,以便每次启动服务器时自动启动:

1sudo update-rc.d vncserver defaults

结论

您现在应该在 Ubuntu 14.04 服务器上运行一个安全的 VNC 服务器,现在您可以使用易于使用的图形界面来管理服务器的文件、软件和设置。

Published At
Categories with 技术
comments powered by Disqus