阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu16.04 用VNC链接 XFCE4 桌面

50次阅读
没有评论

共计 3925 个字符,预计需要花费 10 分钟才能阅读完成。

导读 在本指南中,我们将是一个 Ubuntu 的 16.04 服务器上设置 VNC 和通过 SSH 隧道连接到其牢固。我们将使用 VNC 服务器是 TightVNC 的,一个快速,轻量级的遥控器包。这个选择将确保我们的 VNC 连接将是顺利和稳定的甚至在互联网连接速度较慢。
介绍

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

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

先决条件

要完成本教程,您需要:

  • 1. 一个 Ubuntu 16.04Droplet 通过设立的 Ubuntu 16.04 的初始服务器设置教程,其中包括具有 Sudo 非 root 用户
  • 2. 安装了支持通过 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 install xfce4 xfce4-goodies tightvncserver

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

vncserver

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

运行 vncserver 完成通过创建默认的配置文件和连接信息为我们的服务器使用安装 VNC 的。安装这些软件包后,现在可以配置 VNC 服务器了。

第 2 步 – 配置 VNC 服务器

首先,我们需要告诉我们的 VNC 服务器启动时要执行什么命令。这些命令位于被称为一个配置文件 xstartup.vnc你的 home 目录下的文件夹中。当您运行的启动脚本创建 vncserver 在上一步,但我们需要修改一些针对 Xfce 桌面的命令。

VNC 时首次设置,它在端口 5901 启动一个默认的服务器实例此端口被称为显示器端口,并通过 VNC 所提到的 :1。VNC 可以在其他显示器端口启动多个实例,如:2:3,等等。当使用 VNC 服务器时,请记住:X 是指显示器端口5900+X

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

vncserver -kill :1

输出应该看起来像这样,有一个不同的 PID:

Output
Killing Xtightvnc process ID 17648

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

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

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

nano ~/.vnc/xstartup

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

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

该文件中的第一个命令,xrdb $HOME/.Xresources,讲述了 VNC 的 GUI 框架读取服务器用户 .Xresources 文件。.Xresources是用户可以更改图形化桌面的某些设置,如终端的颜色,光标主题,和字体呈现。第二个命令简单地告诉服务器启动 Xfce,在这里你会找到所有的图形软件,你需要舒适地管理你的服务器。

为确保 VNC 服务器能够正确使用此新启动文件,我们需要向其授予可执行权限。

sudo chmod +x ~/.vnc/xstartup

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

vncserver

服务器应该使用类似于以下内容的输出启动:

Output
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
第 3 步 – 测试 VNC 桌面

在此步骤中,我们将测试 VNC 服务器的连接性。

首先,我们需要创建本地计算机上的 SSH 连接,能够安全地转发到 localhost 的 VNC 连接。您可以通过以下命令在 Linux 或 OS X 上的终端执行此操作。记得替换 userserver_ip_address您的服务器的 Sudo 非 root 用户名和 IP 地址。

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

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

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

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

Ubuntu16.04 用 VNC 链接 XFCE4 桌面

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

Ubuntu16.04 用 VNC 链接 XFCE4 桌面

第 4 步 – 创建 VNC 服务文件

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

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

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

将以下内容复制并粘贴到其中。一定要改变 PIDFILE 的值 用户 的价值和用户名,以配合您的用户名。

/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

停止 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.
结论

您现在应该有一个安全的 VNC 服务器启动并运行在您的 Ubuntu 16.04 服务器上。现在,您将能够使用易于使用和熟悉的图形界面管理您的文件,软件和设置。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计3925字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中