前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Ubuntu 16.04上安装VNC

在Ubuntu 16.04上安装VNC

作者头像
苏易北
发布2018-09-11 10:43:14
6K0
发布2018-09-11 10:43:14
举报

虚拟网络计算( Virtual Network Computing ),或称作VNC,是一种图形桌面共享系统,允许您从一台计算机远程控制另一台计算机。VNC服务器传输键盘和鼠标事件,并通过网络连接显示远程主机的屏幕,从而允许您在Linode服务器上运行完整的桌面环境。

在Ubuntu 16.04上安装VNC
在Ubuntu 16.04上安装VNC

本指南将介绍如何在运行Ubuntu 16.04的服务器上安装图形桌面环境,以及如何使用VNC从本地计算机连接至该桌面。

开始前的准备

  1. 熟悉入门指南,并按正确步骤设置好Linode的主机名及时区。
  2. 请阅读文档中保护您的服务器安全章节,以创建标准用户账号,加强SSH访问并移除不必要的网络服务。
  3. 升级您的系统
sudo apt-get update && sudo apt-get upgrade

注意

本指南是为非root用户编写的,会在需要提升权限的命令之前加上sudo。如果您不熟悉sudo命令,请参阅Linux用户和用户组指南。

在Linode上安装桌面与VNC服务器

1.Ubuntu的软件库中有多个可用的桌面环境。以下命令将会安装Ubuntu系统的默认桌面Unity,以及图形界面正常工作所需的依赖项:

sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

注意

这将安装完整的Ubuntu桌面环境,包括办公软件和Web浏览器等工具。要只安装桌面而不安装这些软件包的话,请运行以下命令:

sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

在安装过程中,系统会询问您是否将系统文件更新为新版本:

Configuration file '/etc/init/tty1.conf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** tty1.conf (Y/I/N/O/D/Z) [default=N] ?

输入 y回车 确认更新。

2.安装VNC服务器:

sudo apt-get install vnc4server

保护VNC连接安全

VNC服务器生成 display (图形输出)编号,该编号在服务器启动时定义。如果未定义display编号,服务器将使用最小的可用编号。VNC连接使用的端口号是5900 + display。本指南将使用1作为display编号;因此,您将连接至远程的5901端口来使用VNC。

默认的VNC连接是非加密的。为了保护您密码和数据的安全,您需要借助SSH隧道将流量传输至本地端口。可以使用相同的本地端口来保持一致性。

Mac OS X和Linux

1.在您的桌面环境下,通过以下命令连接至Linode。请务必将user@example.com替换为您的用户名、Linode主机名或IP地址:

ssh -L 5901:127.0.0.1:5901 user@example.com

2.在您的Linode上启动VNC服务器并测试连接。系统将提示您设置密码:

vncserver :1

3.根据从您的桌面连接至VNC章节的步骤初始化连接。

Windows

1.打开PuTTY并导航至菜单中SSH下的Tunnels。按照下图所示新建一个转发端口,并将example.com替换为您Linode的IP地址或主机名:

2.点击 Add,之后返回Session(会话)界面。输入您Linode的主机名或IP地址,以及会话的标题。点击 Save 保存设置以供将来使用,之后点击 Open 初始化SSH隧道。

3.启动VNC服务器并测试连接。系统将提示您设置密码:

vncserver :1

4.根据从您的桌面连接至VNC章节的步骤初始化连接。

从您的桌面连接至VNC

在本章节中,您将使用VNC客户端或 查看器 连接至远程服务器。查看器是绘制VNC服务器生成的图形界面并在本地计算机输出显示的软件。

Mac OS X和Windows

在OS X和Windows上有很多查看器的选择,本指南将使用RealVNC Viewer

1.安装并打开VNC Viewer后,通过VNC客户端连接至本地主机。VNC服务器地址格式为localhost:#,其中#代表我们在保护VNC连接安全章节中使用的display编号:

2.系统会警告您连接未加密,但如果您已按照上述步骤确保了VNC连接的安全,则会话将安全的通过SSH隧道连接至您的Linode。点击 Continue 以继续:

3.系统将提示您输入首次启动VNC服务器时设定的密码。如果您尚未在Linode上启动VNC服务器,请参阅保护VNC连接安全章节。

连接后,您将看到一个空白的灰色屏幕,这是因为服务器的桌面进程尚未启动。在下一章节,我们将配置您的Linode以启动完整的桌面环境。

Linux

Ubuntu桌面环境下有多款可用的VNC客户端。您可以在这里找到可供Ubuntu使用的VNC客户端列表。本指南将使用Ubuntu默认安装的Remmina。

1.打开Remmina。

2.点击Create a new remote desktop profile按钮,新建一个远程桌面配置文件。为您的配置文件命名,指定VNC协议,并在服务器字段中输入localhost:1。服务器字段中的:1和display编号相对应。在密码设置中填写您在保护VNC连接安全章节中设定的密码:

3.点击 Connect

连接后,您将看到一个空白的灰色屏幕,这是因为服务器的桌面进程尚未启动。在下一章节,我们将配置您的Linode以启动完整的桌面环境。

配置VNC以启动完整桌面环境

本章节将配置VNC,使其在启动时启动完整的Unity桌面。

1.成功连接之后,再退出该连接。关闭VNC服务器:

vncserver -kill :1

2.根据以下配置编辑~/.vnc/xstartup文件的末尾部分。这将在启动VNC服务器时以后台进程的方式启动桌面依赖项:

#!/bin/sh

# 在常规模式下运行桌面时请取消掉以下两行的注释:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &

3.保存并退出文件。重新启动VNC会话:

vncserver :1

4.按照之前章节的相同步骤从您本地的VNC客户端连接至VNC服务器。现在您应该可以看见完整的Ubuntu桌面:

开机启动VNC服务器

此部分是可选操作。请按以下步骤配置VNC服务器,使其在系统重启后可以自动启动。

1.启动您的crontab。如果您之前从未编辑过crontab配置文件,系统会提示您从可用的文本编辑器中选择一个对该文件进行编辑:

crontab -e
no crontab for user - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [2]:

2.在文件的最后添加@reboot /usr/bin/vncserver :1。您的crontab配置文件应该与以下内容类似:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command

@reboot /usr/bin/vncserver :1

3.保存并退出文件。您可以通过重启Linode服务器并连接VNC服务器来验证上述配置是否生效。

相关资料

有关此主题的其他信息,您可能需要参考以下资源。虽然我们出于帮助您的目的提供了这些资料,但请注意我们无法保证这些站外资源的准确性与时效性。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始前的准备
  • 在Linode上安装桌面与VNC服务器
  • 保护VNC连接安全
    • Mac OS X和Linux
      • Windows
      • 从您的桌面连接至VNC
        • Mac OS X和Windows
          • Linux
          • 配置VNC以启动完整桌面环境
          • 开机启动VNC服务器
          • 相关资料
          相关产品与服务
          主机安全
          主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档