马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
前些天发现了一个巨牛的人工智能学习网站,平常易懂,风趣幽默,不由得分享一下给各人。点击跳转到网站。
###先容
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 用户可以选择多种选项:vinagre、krdc、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 服务器的初始设置。
体系会提示您输入和验证暗码,以及一个只读暗码。使用只读暗码登录的用户将无法使用鼠标或键盘控制 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 服务器实例。
输出应该类似于以下内容,PID 大概差别:
- Killing Xtightvnc process ID 17648
复制代码 在开始设置新的 xstartup 文件之前,让我们先备份原始文件。
- mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
复制代码 现在使用 nano 或您喜欢的文本编辑器创建一个新的 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 服务器。
服务器应该启动,并输出类似于以下内容:
- 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 终端使用以下下令来完成。记得将 user 和 server_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 startupAfter=syslog.target network.target[Service]Type=forkingUser=sammyPAMName=loginPIDFile=/home/sammy/.vnc/%H:%i.pidExecStartPre=-/usr/bin/vncserver
- -kill :%i > /dev/null 2>&1ExecStart=/usr/bin/vncserver
- -depth 24 -geometry 1280x800 :%iExecStop=/usr/bin/vncserver
- -kill :%i[Install]WantedBy=multi-user.target
复制代码 生存并关闭文件。
接下来,让体系知道新的单元文件。
- sudo systemctl daemon-reload
复制代码 启用单元文件。
- sudo systemctl enable vncserver
- @1.service
复制代码 @ 符号背面的 1 表现服务应该出现在哪个表现编号上,本例中为默认的 :1,如上所述。
如果当前实例的 VNC 服务器仍在运行,请制止它。
然后像启动任何其他 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 服务器,而且它正在运行。现在,您将可以大概使用易于使用和认识的图形界面管理您的文件、软件和设置。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |