如何在 Ubuntu 18.04 上安装和配置 VNC如何在 Ubuntu 18.04 上安装和配置 VNC如何在 Ubuntu 18.04 上安装和配置 VNC如何在 Ubuntu 18.04 上安装和配置 VNC
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

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

介绍

虚拟网络计算 或 VNC 是一种连接系统,允许您使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。对于还不熟悉命令行的用户,它可以更轻松地管理远程服务器上的文件、软件和设置。

在本指南中,您将在 Ubuntu 18.04 服务器上设置 VNC 服务器并通过 SSH 隧道安全地连接到它。您将使用 TightVNC,这是一种快速且轻量级的远程控制包。这个选择将确保我们的 VNC 连接即使在较慢的互联网连接上也能流畅稳定。

先决条件

要完成本教程,您需要:

  • 按照 Ubuntu 18.04 初始服务器设置指南设置一台 Ubuntu 18.04 服务器,包括 sudo 非根用户和防火墙。
  • 安装了支持通过 SSH 隧道进行 VNC 连接的 VNC 客户端的本地计算机。
    • 在 Windows 上,您可以使用 UltraVNC。
    • 在 macOS 上,您可以使用内置的 RealVNC。
    • 在 Linux 上,您可以从许多选项中进行选择,包括 vinagre、krdc、TightVNC。

    第 1 步 — 安装桌面环境和 VNC 服务器

    默认情况下,Ubuntu 18.04 服务器没有安装图形桌面环境或 VNC 服务器,因此我们将从安装这些开始。具体来说,我们将为最新的 Xfce 桌面环境和官方 Ubuntu 存储库中提供的 TightVNC 软件包安装软件包。

    在您的服务器上,更新您的软件包列表:

    1. sudo apt update

    现在在你的服务器上安装 Xfce 桌面环境:

    1. sudo apt install xfce4 xfce4-goodies

    安装完成后,安装 TightVNC 服务器:

    1. sudo apt install tightvncserver

    安装后要完成 VNC 服务器的初始配置,请使用 vncserver 命令设置安全密码并创建初始配置文件:

    1. vncserver

    系统将提示您输入并验证密码以远程访问您的机器:

    Output
    You will require a password to access your desktops. Password: Verify:

    密码的长度必须介于六到八个字符之间。超过 8 个字符的密码将被自动截断。

    验证密码后,您可以选择创建一个仅供查看的密码。使用仅查看密码登录的用户将无法使用鼠标或键盘控制 VNC 实例。如果您想向使用 VNC 服务器的其他人演示某些内容,这是一个有用的选项,但这不是必需的。

    该过程然后为服务器创建必要的默认配置文件和连接信息:

    Output
    Would you like to enter a view-only password (y/n)? n xauth: file /home/sammy/.Xauthority does not exist New 'X' desktop is your_hostname:1 Creating default startup script /home/sammy/.vnc/xstartup Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log

    现在让我们配置 VNC 服务器。

    第 2 步 — 配置 VNC 服务器

    VNC 服务器需要知道在启动时要执行哪些命令。具体来说,VNC 需要知道它应该连接到哪个图形桌面。

    这些命令位于主目录下 .vnc 文件夹中名为 xstartup 的配置文件中。启动脚本是在上一步运行 vncserver 时创建的,但我们将创建自己的脚本来启动 Xfce 桌面。

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

    因为我们要更改 VNC 服务器的配置方式,所以首先使用以下命令停止在端口 5901 上运行的 VNC 服务器实例:

    1. vncserver -kill :1

    输出应如下所示,但您会看到不同的 PID:

    Output
    Killing Xtightvnc process ID 17648

    在修改 xstartup 文件之前,请备份原始文件:

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

    现在创建一个新的 xstartup 文件并在文本编辑器中打开它:

    1. nano ~/.vnc/xstartup

    每当您启动或重新启动 VNC 服务器时,都会自动执行此文件中的命令。如果尚未启动,我们需要 VNC 来启动我们的桌面环境。将这些命令添加到文件中:

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

    文件中的第一个命令 xrdb $HOME/.Xresources 告诉 VNC 的 GUI 框架读取服务器用户的 .Xresources 文件。 .Xresources 是用户可以更改图形桌面的某些设置的地方,例如终端颜色、光标主题和字体渲染。第二个命令告诉服务器启动 Xfce,您可以在其中找到轻松管理服务器所需的所有图形软件。

    保存并关闭文件。

    为确保 VNC 服务器能够正确使用这个新的启动文件,我们需要使其可执行。

    1. sudo chmod +x ~/.vnc/xstartup

    现在,重新启动 VNC 服务器。

    1. vncserver

    你会看到类似这样的输出:

    Output
    New 'X' desktop is your_hostname:1 Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/your_hostname:1.log

    配置到位后,让我们从本地计算机连接到服务器。

    第 3 步 — 安全连接 VNC 桌面

    VNC 本身在连接时不使用安全协议。我们将使用 SSH 隧道安全地连接到我们的服务器,然后告诉我们的 VNC 客户端使用该隧道而不是直接连接。

    在您的本地计算机上创建 SSH 连接,安全地转发到 VNC 的 localhost 连接。您可以使用以下命令通过 Linux 或 macOS 上的终端执行此操作:

    1. ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

    -L 开关指定端口绑定。在这种情况下,我们将远程连接的端口 5901 绑定到本地计算机上的端口 5901。 -C 开关启用压缩,而 -N 开关告诉 ssh 我们不想执行远程命令。 -l 开关指定远程登录名。

    请记住将 sammy 和 your_server_ip 替换为您服务器的 sudo 非根用户名和 IP 地址。

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

    隧道运行后,使用 VNC 客户端连接到 localhost:5901。系统将提示您使用在步骤 1 中设置的密码进行身份验证。

    连接后,您将看到默认的 Xfce 桌面。它应该看起来像这样:

    您可以使用文件管理器或从命令行访问主目录中的文件,如下所示:

    在您的终端中按 CTRL+C 停止 SSH 隧道并返回到您的提示符。这也会断开您的 VNC 会话。

    接下来让我们将 VNC 服务器设置为服务。

    第 4 步 — 将 VNC 作为系统服务运行

    接下来,我们将 VNC 服务器设置为 systemd 服务,以便我们可以根据需要启动、停止和重新启动它,就像任何其他服务一样。这也将确保 VNC 在您的服务器重新启动时启动。

    首先,使用您喜欢的文本编辑器创建一个名为 /etc/systemd/system/vncserver@.service 的新单元文件:

    1. sudo nano /etc/systemd/system/vncserver@.service

    名称末尾的 @ 符号可以让我们传入一个可以在服务配置中使用的参数。我们将使用它来指定我们在管理服务时要使用的 VNC 显示端口。

    将以下行添加到文件中。请务必更改 User、Group、WorkingDirectory 的值以及 PIDFILE 值中的用户名以匹配您的用户名:

    [Unit]
    Description=Start TightVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=sammy
    Group=sammy
    WorkingDirectory=/home/sammy
    
    PIDFile=/home/sammy/.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
    

    如果 VNC 已经在运行,ExecStartPre 命令会停止它。 ExecStart 命令启动 VNC 并将颜色深度设置为 24 位颜色,分辨率为 1280x800。您也可以修改这些启动选项以满足您的需要。

    保存并关闭文件。

    接下来,让系统知道新的单元文件。

    1. sudo systemctl daemon-reload

    启用单元文件。

    1. sudo systemctl enable vncserver@1.service

    @ 符号后的 1 表示服务应显示在哪个显示编号上,在本例中为默认 :1,如第 2 步中所述……

    如果 VNC 服务器的当前实例仍在运行,请停止它。

    1. vncserver -kill :1

    然后像启动任何其他 systemd 服务一样启动它。

    1. sudo systemctl start vncserver@1

    您可以验证它是否使用此命令启动:

    1. sudo systemctl status vncserver@1

    如果启动正确,输出应该如下所示:

    Output
    ● vncserver@1.service - Start TightVNC server at startup Loaded: loaded (/etc/systemd/system/vncserver@.service; indirect; vendor preset: enabled) Active: active (running) since Mon 2018-07-09 18:13:53 UTC; 2min 14s ago Process: 22322 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS) Process: 22316 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=0/SUCCESS) Main PID: 22330 (Xtightvnc) ...

    当您重新启动计算机时,您的 VNC 服务器现在将可用。

    再次启动 SSH 隧道:

    1. ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

    然后使用您的 VNC 客户端软件建立一个到 localhost:5901 的新连接以连接到您的机器。

    结论

    您现在已经在 Ubuntu 18.04 服务器上启动并运行了一个安全的 VNC 服务器。现在,您将能够使用易于使用且熟悉的图形界面来管理您的文件、软件和设置,并且您将能够远程运行网络浏览器等图形软件。

©2015-2025 艾丽卡 support@alaica.com