如何在 Ubuntu 20.04 LTS 上安装和配置 VNC 服务器

VNC 或 Virtual Network Computing 是一种图形桌面共享工具,可让您从另一台计算机(客户端)远程控制计算机(服务器或桌面)。 VNC 服务器将所有键盘和鼠标事件从客户端计算机传输到服务器计算机。 如果您还不熟悉终端等 CLI 命令,您可以使用 VNC 来帮助您管理远程计算机上的文件、软件和系统设置。

在本教程中,我们将指导您逐步设置 VNC 服务器 Ubuntu 20.04. 我们将在服务器上安装 Linux 桌面 XFCE,然后使用 TightVNC 安装和配置 VNC 服务器。

先决条件

  • Ubuntu 20.04
  • 根权限

我们要做什么

  1. 更新系统和创建用户
  2. 安装 XFCE 桌面和 TightVNC
  3. 初始 VNC 配置
  4. 配置 TightVNC
  5. 作为服务运行 TightVNC
  6. 通过SSH隧道连接到VNC服务器

步骤 1 – 更新系统并创建用户

更新您的 Ubuntu 存储库,然后使用下面的 apt 命令升级您的系统。

sudo apt update sudo apt upgrade

对于本指南,非 root 用户可以使用 VNC 桌面。 因此,我们需要创建一个新用户并将其添加到 sudo 用于 root 访问的组。

创建一个名为“edward”的新用户并为该用户提供密码。

useradd -m -s /bin/bash edward passwd edward

现在将用户“爱德华”添加到 sudo 用于 root 权限访问的组。

usermod -a -G sudo edward

已经创建了一个名为“edward”的用于 VNC 访问的新用户,该用户将能够访问 root 权限。

su - edward sudo su

步骤 2 – 安装 XFCE 桌面和 TightVNC

Linux 有多个桌面环境,例如 Gnome、Unity、KDE、LXDE、XFCE 等。在本教程中,我们将使用 XFCE 桌面作为我们的 VNC 桌面环境。

使用下面的 apt 命令安装 XFCE 桌面,包括所有依赖项。

sudo apt install xfce4 xfce4-goodies

如果 XFCE 桌面安装完成,请安装“tightvncserver”软件包。

运行下面的apt命令。

sudo apt install -y tightvncserver

XFCE桌面和tightvncserver已经安装在Ubuntu 16.04服务器上。

步骤 3 – 初始 VNC 配置

在这一步中,我们将为“edward”用户生成 VNC 配置。

以“爱德华”身份登录

su - edward

现在使用以下命令为“edward”用户启动 vnc 配置。

vncserver

系统将要求您输入 VNC 服务器密码 – 键入您的密码。 对于“仅查看”密码,您可以启用或禁用它。 使用“仅查看”密码登录服务器的用户将无法控制鼠标和键盘。

启动 VNC 服务器

我们第一次运行“vncserver”命令时,它会自动创建新的配置目录“.vnc”并运行第一个 VNC 会话。

使用下面的命令检查它。

ls -lah ~/.vnc/ ps -ef | grep Xtightvnc

你会得到如下所示的结果。

VNC 服务器工作正常

步骤 4 – 配置 TightVNC

在这一步中,我们将配置 VNC 服务器以使用 XFCE 桌面。 我们将编辑“.vnc”目录下的 VNC 配置文件“xstartup”。

在我们编辑配置之前,使用以下命令终止第一个 VNC 会话。

vncserver -kill :1

现在备份默认配置并使用创建一个新配置 vim.

mv ~/.vnc/xstartup ~/.vnc/xstartup.bekup vim ~/.vnc/xstartup

在那里粘贴以下配置。

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

Save 并退出。

现在使用 chmod 使脚本可执行并再次运行“vncserver”命令。

chmod +x ~/.vnc/xstartup vncserver

检查会话列表。

ps -ef | grep Xtightvnc

你会得到如下结果。

如何检查和终止 VNC 会话

第 5 步 – 将 TightVNC 作为服务运行

在本教程中,我们将 VNC 服务器作为服务运行。 所以我们需要为它创建一个新的服务文件。

转到’/etc/systemd/system’目录并创建一个新的服务文件'[email protected]’。

cd /etc/systemd/system vim [email protected]

将以下 vnc 服务脚本粘贴到那里。

[Unit]  Description=Remote desktop service (VNC)  After=syslog.target network.target  [Service]   Type=forking   User=edward   PIDFile=/home/edward/.vnc/%H:%i.pid   ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1   ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i   ExecStop=/usr/bin/vncserver -kill :%i  [Install]   WantedBy=multi-user.target

Save 文件并退出编辑器。

现在重新加载 systemd 服务并启动 VNC 服务器服务。

systemctl daemon-reload systemctl start [email protected]

假设一切正常,将服务添加到启动时间并使用 systemctl 检查服务状态。

systemctl enable [email protected] systemctl status [email protected]

以下是我们案例中的结果:

VNC 即服务

安装了 VNC 服务器,第一个会话现在在 ‘edward’ 用户下运行。

步骤 6 – 通过 SSH 隧道连接到 VNC 服务器

在这一步中,我们将通过 ssh 隧道连接到我们的 VNC 服务器。

打开您的终端并输入 ssh 命令,如下所示。

ssh -L 5901:127.0.0.1:5901 -N -f -l edward 192.168.33.10

输入您的 SSH 登录密码。

连接到 VNC trogh SSH 隧道

该命令将在您的本地主机和 VNC 服务器之间创建隧道。 本地主机上的端口 5901 将转发到端口 5901 上的 VNC 服务器“192.168.33.10”。

现在打开您的“vnc 查看器”应用程序,创建一个新连接,然后键入 VNC 服务器地址,其中 127.0.0.1 localhost IP 和端口 5901 如下所示。

VNC查看器

连接到 VNC 服务器,您将被要求输入 VNC 服务器密码。 输入您的密码,然后单击“确定”。

连接到 VNC 服务器

现在您将从您的服务器获得 XFCE 桌面。

第一次单击“使用默认配置”按钮,您将获得具有默认配置的 XFCE 桌面。

VNC 连接到服务器桌面

在 Ubuntu 20.04 上使用 TightVNC 安装 VNC 服务器已成功完成。

链接