当前位置: 代码网 > it编程>软件设计>交互 > 在Ubuntu 16.04上安装和配置VNC的方法

在Ubuntu 16.04上安装和配置VNC的方法

2024年07月31日 交互 我要评论
VNC,即“Virtual Network Computing”,是一种连接系统,允许您使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。如果您想要使用 VNC 服务器向其他人演示某些内容,这是一个有用的选项,但不是必需的。您现在应该在您的 Ubuntu 16.04 服务器上拥有一个安全的 VNC 服务器,并且它正在运行。现在,您将能够使用易于使用和熟悉的图形界面管理您的文件、软件和设置。因为我们将要更改 VNC 服务器的配置,所以我们需要先停止在端口 5901 上运行的 VNC 服务器实例。

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

###介绍

vnc,即“virtual network computing”,是一种连接系统,允许您使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。对于尚未熟悉命令行的用户来说,它使得在远程服务器上管理文件、软件和设置变得更加容易。

在本指南中,我们将在 ubuntu 16.04 服务器上设置 vnc,并通过 ssh 隧道安全地连接到它。我们将使用的 vnc 服务器是 tightvnc,这是一个快速且轻量级的远程控制软件包。选择 tightvnc 将确保即使在较慢的互联网连接上,我们的 vnc 连接也能保持流畅和稳定。

##先决条件

要完成本教程,您需要:

  • 通过 ubuntu 16.04 初始服务器设置教程设置了 sudo 非根用户的 ubuntu 16.04 droplet。请注意,本教程可以在任何大小的 droplet 上完成,但是在较小的 droplet 上构建 vnc 可能会比较受功能限制。

  • 安装了支持通过 ssh 隧道进行 vnc 连接的 vnc 客户端的本地计算机。如果您使用 windows,可以使用 tightvnc、realvnc 或 ultravnc。mac os x 用户可以使用内置的屏幕共享程序,或者使用跨平台应用程序如 realvnc。linux 用户可以选择多种选项:vinagrekrdc、realvnc、tightvnc 等。

##步骤 1 — 安装桌面环境和 vnc 服务器

默认情况下,ubuntu 16.04 droplet 不会安装图形桌面环境或 vnc 服务器,因此我们将从安装这些开始。具体来说,我们将安装最新的 xfce 桌面环境和官方 ubuntu 仓库中提供的 tightvnc 软件包。

在您的服务器上,安装 xfce 和 tightvnc 软件包。

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

安装完成后,使用 vncserver 命令设置安全密码来完成 vnc 服务器的初始配置。

vncserver

系统会提示您输入和验证密码,以及一个只读密码。使用只读密码登录的用户将无法使用鼠标或键盘控制 vnc 实例。如果您想要使用 vnc 服务器向其他人演示某些内容,这是一个有用的选项,但不是必需的。

运行 vncserver 命令会通过创建默认配置文件和连接信息来完成 vnc 的安装。安装了这些软件包后,您现在已经准备好配置 vnc 服务器了。

##步骤 2 — 配置 vnc 服务器

首先,我们需要告诉 vnc 服务器在启动时执行哪些命令。这些命令位于家目录下的 .vnc 文件夹中的名为 xstartup 的配置文件中。在上一步中运行 vncserver 时,启动脚本已经创建好了,但我们需要修改一些命令以适配 xfce 桌面环境。

当 vnc 首次设置时,它会在端口 5901 上启动默认服务器实例。这个端口称为显示端口,并被 vnc 称为 :1。vnc 可以在其他显示端口上启动多个实例,如 :2:3 等。在使用 vnc 服务器时,请记住 :x 是一个显示端口,指的是 5900+x

因为我们将要更改 vnc 服务器的配置,所以我们需要先停止在端口 5901 上运行的 vnc 服务器实例。

vncserver -kill :1

输出应该类似于以下内容,pid 可能不同:

killing xtightvnc process id 17648

在开始配置新的 xstartup 文件之前,让我们先备份原始文件。

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

现在使用 nano 或您喜欢的文本编辑器创建一个新的 xstartup 文件。

nano ~/.vnc/xstartup

将以下命令粘贴到文件中,以便在启动或重新启动 vnc 服务器时自动执行这些命令,然后保存并关闭文件。

[secondary_label ~/.vnc/xstartup]
#!/bin/bash
xrdb $home/.xresources
startxfce4 &

文件中的第一个命令 xrdb $home/.xresources 告诉 vnc 的 gui 框架读取服务器用户的 .xresources 文件。.xresources 是用户可以对图形桌面的某些设置进行更改的地方,比如终端颜色、光标主题和字体渲染。第二个命令简单地告诉服务器启动 xfce,您将在其中找到所有您需要舒适地管理服务器的图形软件。

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

sudo chmod +x ~/.vnc/xstartup

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

vncserver

服务器应该启动,并输出类似于以下内容:

new 'x' desktop is your_server_name.com:1

starting applications specified in /home/sammy/.vnc/xstartup
log file is /home/sammy/.vnc/liniverse.com:1.log

##第三步 —— 测试 vnc 桌面

在这一步中,我们将测试您的 vnc 服务器的连接性。

首先,我们需要在本地计算机上创建一个安全地转发到 vnc 的 localhost 连接的 ssh 连接。您可以通过 linux 或 os x 终端使用以下命令来完成。记得将 userserver_ip_address 替换为您服务器的 sudo 非根用户名和 ip 地址。

ssh -l 5901:127.0.0.1:5901 -n -f -l username server_ip_address

如果您使用图形化 ssh 客户端,如 putty,在程序的 ssh 隧道设置中,将 server_ip_address 作为连接 ip,并设置 localhost:5901 为新的转发端口。

接下来,您可以使用 vnc 客户端尝试连接到 localhost:5901 的 vnc 服务器。您将被提示进行身份验证。要使用的正确密码是您在第一步中设置的密码。

连接成功后,您应该会看到默认的 xfce 桌面。它应该看起来像这样:

!vnc connection to ubuntu 16.04 server

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

!files via vnc connection to ubuntu 16.04

##第四步 —— 创建 vnc 服务文件

接下来,我们将把 vnc 服务器设置为一个 systemd 服务。这将使它可以像任何其他 systemd 服务一样根据需要启动、停止和重新启动。

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

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

将以下内容复制并粘贴到其中。确保更改 user 的值和 pidfile 中的用户名的值以匹配您的用户名。

[secondary_label /etc/systemd/system/vncserver@.service ]
[unit]
description=start tightvnc server at startup
after=syslog.target network.target

[service]
type=forking
user=sammy
pamname=login
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

保存并关闭文件。

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

sudo systemctl daemon-reload

启用单元文件。

sudo systemctl enable vncserver@1.service

@ 符号后面的 1 表示服务应该出现在哪个显示编号上,本例中为默认的 :1,如上所述。

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

vncserver -kill :1

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

sudo systemctl start vncserver@1

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

sudo systemctl status vncserver@1

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

vncserver@1.service - tightvnc server on ubuntu 16.04
   loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
   active: active (running) since mon 2016-04-25 03:21:34 edt; 6s ago
  process: 2924 execstop=/usr/bin/vncserver -kill :%i (code=exited, status=0/success)

...

 systemd[1]: starting tightvnc server on ubuntu 16.04...
 systemd[2938]: pam_unix(login:session): session opened for user finid by (uid=0)
 systemd[2949]: pam_unix(login:session): session opened for user finid by (uid=0)
 systemd[1]: started tightvnc server on ubuntu 16.04.

##结论

您现在应该在您的 ubuntu 16.04 服务器上拥有一个安全的 vnc 服务器,并且它正在运行。现在,您将能够使用易于使用和熟悉的图形界面管理您的文件、软件和设置。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com