基于Ubuntu 搭建 VNC 远程桌面服务
系统要求:Ubuntu 16.04.1 LTS 64 位操作系统
安装、启动 VNC
VNC 远程桌面原理
注:本小节内容旨在帮助您更好地了解 Xorg、X11、VNC 等概念和原理,如果你不想了解原理部分,只想快速搭建起 VNC 服务,可以跳过本节内容。
名词解释:
Xorg:在 Linux 用户中非常流行,已经成为图形用户程序的必备条件,所以大部分发行版都提供了它。
X11:X Window 系统(X Window System,也常称为 X11 或 X )是一种以位图方式显示的软件窗口系统。
VNC:VNC(Virtual Network Computing),为一种使用RFB协议的显示屏画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的显示屏画面。
x11vnc:轻量级 VNC 服务程序。
Xvfb:轻量级 Xorg 服务程序。
在 Linux 中显示窗口,首先要创建一个 display 服务。而 Xvfb 就是一个轻量级的,不产生实际屏幕输出的虚拟 display 服务程序。 Xvfb 创建 display 后, x11vnc 连上去并转换成 VNC 协议。 优点是整个系统按需开启,非常轻量,不会影响服务器性能。
安装 VNC 远程桌面
首先,通过以下命令安装必要的系统库
sudo apt-get install -y xauth xterm x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
然后,通过以下命令安装 Xvfb
sudo apt-get install -y xvfb
最后,通过以下命令安装 x11vnc
sudo apt-get install -y x11vnc
启动 VNC 远程桌面
启动 VNC 远程桌面命令如下,其中 12345 为端口号(如果已占用需要换另外的端口号,记得在腾讯云管理页面添加端口放行规则),CrekeNet 为 VNC 远程桌面连接密码:
x11vnc -rfbport -passwd CrekeNet -create -forever //12345 为端口号,CrekeNet 密码
出现以下输出则启动成功 VNC 远程桌面

连接 VNC 远程桌面
下载 VNC Viewer
点击这里下载 VNC Viewer ,软件支持多平台。
注意选择您的电脑的操作系统对应链接进行下载,本教程以 Windows 为例
使用 VNC Viewer
下载安装后,首次运行 VNC Viewer ,会出现用户协议确认,如图勾选同意协议

接着是介绍 VNC Viewer 的新功能,如图点击 “GOT IT” 确认

选择 “File” —— “New Connection” ,新建 VNC 远程桌面连接

“VNC Server” 填写腾讯云服务器IP和端口号,格式如 118.89.65.22:12345 (服务器ip:端口号); “Name” 是连接的名字,可随意填,如 Tencent Cloud

点击 “OK” ,完成连接的新建,这时面板上多了我们刚刚新建的名叫 Tencent Cloud 的连接

右击这个连接,选择 “Connect”

开始连接 VNC 远程桌面,此时会出现安全提示,点击 “Continue” 即可继续

出现密码输入框,如果您是按照前文的默认密码启动 x11vnc ,则填入 CrekeNet 即可;如果您用了自己的密码,则需要输入您设置的正确密码

成功连接后,出现 Linux 远程桌面

VNC 远程桌面简单应用
安装 xview
以下命令在VNC 内的命令行窗口输入(在SSH 窗口无法显示)
sudo apt-get install -y xloadimage
下载图片用以显示
wget http://mat1.gtimg.com/www/images/qq2012/qqlogo_1x.png
在 VNC 远程桌面显示图片
以下命令必须在 VNC 内的命令行窗口输入
xview qqlogo_1x.png
在 VNC 远程桌面窗口左上方,成功显示图片!

基于Ubuntu 搭建 VNC 远程桌面服务的更多相关文章
- 腾讯云:基于 Ubuntu 搭建 VNC 远程桌面服务
基于 Ubuntu 搭建 VNC 远程桌面服务 前言 任务时间:5min ~ 10min 必要知识 本教程假设您已学习以下 Ubuntu 基本操作: 连接 SSH 执行命令 编辑文件 如果还没有掌握 ...
- 基于CentOS搭建VNC远程桌面服务
系统要求:CentOS 7.2 64 位操作系统 安装.启动 VNC VNC 远程桌面原理 名词解释: Xorg:在 Linux 用户中非常流行,已经成为图形用户程序的必备条件,所以大部分发行版都提供 ...
- 多人VNC远程桌面服务配置
博主前篇博客里面已经讲过VNC的配置,为了方便查看,单独拿出来写一下. (1) 搜索可以用来安装vncserver的软件包: sudo apt-cache search vncserver (2) 安 ...
- 给ubuntu安装VNC远程桌面
(只有背景,没有菜单栏问题没有解决)Virtual Network Computing(VNC)是进行远程桌面控制的一个软件.客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作.服务 ...
- Centos7 VNC远程桌面服务安装配置
1.服务器版本 CentOS Linux release 7.7.1908 (Core) 首先系统安装了GUI界面 # ln -sf /lib/systemd/system/graphical.tar ...
- macOS 开启 VNC 远程桌面和 SSH 服务
macOS 开启 VNC 远程桌面和 SSH 服务 准备用 macOS 来做为服务器,既然是服务器,那不可缺少的是远程管理,实际上 macOS 自带 VNC 远程桌面和 SSH 服务,只是默认没有开启 ...
- 用Powershell启用Windows Azure上的远程桌面服务
[题外话] 某天不小心点了XX管家的自动修复,虽然及时点了取消也看到了远程桌面服务成功被关闭,但是忙完该干的事以后竟然忘记了这件事,在断开远程桌面服务之前也忘记再次打开.以至于之后几天一直以为Azur ...
- Windows Server 2012 R2超级虚拟化之七 远程桌面服务的增强
Windows Server 2012 R2超级虚拟化之七 远程桌面服务的增强 在Windows Server 2012提供的远程桌面服务角色,使用户能够连接到虚拟桌面. RemoteApp程序.基 ...
- [转载]CentOS6 快速搭建轻量级远程桌面 Xfce&nb
原文地址:CentOS6 快速搭建轻量级远程桌面 Xfce & VNC & Firefox作者:哈囉健一 0.系统信息 CentOS Linux release 6.0 (Final) ...
随机推荐
- Spring的控制反转和依赖注入
Spring的官网:https://spring.io/ Struts与Hibernate可以做什么事? Struts, Mvc中控制层解决方案 可以进行请求数据自动封装.类型转换.文件上传.效验… ...
- android 换行符(\n) 在TextView中显示不正常的问题
问题描述 在Android开发,使用TextView设置换行的时候,会有这种情况: 1.如果直接在XML文件中写入"aaaaa\nbbbb"可以换行,显示为: aaaaabbbbb ...
- sublime断点调试
系统重装了之后以前装好的zendstudio的xDebug又不能用了 搞了一天,放弃了 看到sublime也能调试,我就用sublime了 首先要下sublime插件 链接:http://pan.ba ...
- Python 时间复杂度
引用自:https://www.cnblogs.com/sch01ar/p/8552295.html
- 【Java】 剑指offer(25) 合并两个排序的链表
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照 ...
- 017 SpringMVC中CRUD实例
一:新建项目(下面的几乎属于公共的方法,不需要改动) 1.结构 2.添加lib 3.配置web.xml <?xml version="1.0" encoding=" ...
- 浮点数在计算机中的表示(IEEE浮点数标准)
转载自:https://wdxtub.com/2016/04/16/thin-csapp-1/
- android studio 汉化
the modules below are not imported from Gradle anymore. Check those to be removed from the ide proje ...
- Python图形编程探索系列-05-用控制变量构建对话程序
跳转到自己的博客 控制变量 变量 符号 意义 默认值 1 var = tk.BooleanVar() 布尔型 0 2 var = tk.StringVar() 字符串控制变量 空字符串 3 var = ...
- 理清cordova插件的调用流程
从调用的角度看流程 前端调用(clobbers)——>cordova_plugins.js(clobbers对应插件id和插件文件所在的路径)—–>js部分(配置着插件的名字,已经插件里 ...