TightVNC实现Ubuntu远程虚拟桌面
本文主要介绍Ubuntu下TightVNC Server的安装与X虚拟桌面的配置,并结合Windows端的TightVNC Viewer实现Linux桌面的远程访问和控制,主要包括以下几个方面:
- VNC概述
- TightVNC Server的安装
- 初次运行vncserver
- TighVNC Viewer的安装
- X桌面启动配置
本文使用的软件版本:
- Ubuntu 20.04(focal)
- TightVNC Server 1.3.10-0ubuntu5
- TightVNC Viewer 2.8.63(Windows 64-bit)
- GNOME 3.36.5(flashback)
1 VNC概述
VNC(Virtual Network Computing)是一种使用RFB协议的桌面共享及远端操作软件,可通过计算机网络传送键盘与鼠标的动作及实时的屏幕画面。VNC是一种C/S结构的远程控制软件,其Server端一般安装在需要控制的服务器或计算机上,Client端安装在用户自己的电脑上。用户通过客户端(Viewer)连接到服务器(Server)上,服务器就会将其屏幕显示画面实时的传送到客户端,在客户端浏览器上显示远程屏幕画面。用户还可以通过客户端将本地键盘和鼠标事件发送到远端的服务器上,服务器通过执行接收到的事件和命令完成指定的任务,并通过屏幕画面实时返回结果,就像在Windows远程桌面或QQ的远程协助中看到的那样。
2 TightVNC Server的安装
TightVNC是一个免费的远程桌面应用程序,是VNC的一种实现,由于在传输过程中采用了所谓的“紧凑编码”(tight encoding)技术,可以使用JPEG和zlib的联合压缩机制,将远程控制变得跟使用自己的电脑一样简单。使用TightVNC,你可以看到远程机器的桌面,并使用本地鼠标和键盘来控制它,就像你坐在电脑前面做它一样。
在Ubuntu上安装TightVNC Server非常简单,APT高级包技术中早就已经有了tightvncserver程序包,只用输入如下命令即可安装:
apt install tighevncserver
tightvncserver安装包中包含tightvncserver、tightvncconnect、tightvncpasswd等常用命令,这些命令又被Ubuntu链接为统一的 vncserver、vncconnectt和vncpasswd命令,实际使用时用哪个命令都可以。
3 初次运行vncserver
初次运行vncserver,会自动调用vncpasswd命令设置客户端访问此服务器时的密码,并询问是否要设置一个“只看”密码。如果只想观看而不进行远程控制的话就可以设置这个“view only”密码,用“只看”密码登录后就只有看的份了。
设置完密码后,vncserver会自动选择一个空闲的显示器编号来启动桌面。对于已经安装并启动了GNOME图形桌面的服务器来说,这个编号通常会为2。如果还没有GNOME桌面,那就赶快安装吧。
4 TighVNC Viewer的安装
在Windows端安装TightVNC Viewer非常简单,从TightVNC官网上载回来安装包,双击安装即可。安装好后在“开始”菜单中找到“TightVNC Viewer”打开后即可启动VNC Viewer。
Viewer运行后首先会弹出“创建一个新的TightVNC连接”对话框如下:
默认情况下,只需在“远程主机”栏中输入刚才安装并启动了TightVNC Server的计算机的IP地址和端口号。此处的端口号为VNC Server启动时设置的显示器识别符加上5900。如使用的是显示器2此端口号就为5902等。
然后点击“连接”按钮,在输入连接密码后即可连接远程VNC服务器并打开设定的显示器。如果按照第1步的操作设置并启动了VNC Server,那么此时的显示界面会是这样:
此时,可以看到远程桌面只是一个灰色的背景,上面有一个x形的鼠标可以移动,其他的什么也做不了。这就是vncserver的全部吗?虚拟出来的桌面在哪里啊?
5 X桌面启动配置
VNC Viewer连接服务器以后,出现灰色的背景表明远程服务器上的X服务已经启动起来了,只不过桌面上什么应用也没有,因此也就什么也看不见。在启动了X服务以后,还需要再启动X窗口管理器和X应用程序,这样才可以通过VNC Viewerr看到虚拟出来的远程桌面。接下来,通过配置TightVNC Server的启动参数来说明实现远程桌面的过程。
首先,使用如下命令停止vncserver服务。
vncserver -kill :2
然后,进入用户家目录下的.vnc检查其配置文件。这个文件夹就是存放vncserver配置文件的地方。在这个文件夹下,有一个xstartup脚本文件,这里记载着vncserver启动后所要执行的命令。显然,这里就是启动图形桌面的最佳位置了。修改后的xstartup脚本如下:
#!/bin/shxrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsessionexport XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
gnome-terminal &
nautilus &
在这个文件里,可以把想要初始启动的应用程序全部写上,当然,gnome-serrsion是千万不能忘记的。修改完后保存,重新启动服务器如下:
vncserver -geometry 1024x768
这里的“-geometry”参数用来设定虚拟屏幕的分辨率。再次启动viewer连接服务器,可以看到桌面上有了一个终端窗口(terminal)和一个文件管理器(nautilus),并且在屏幕顶部和底部出现了GNOME的工具栏和任务栏。试着在终端窗口中输入firefox命令启动火狐浏览器,再在地址栏中输入TigheVNC的官网看看,是不是很神奇!
TightVNC实现Ubuntu远程虚拟桌面相关推荐
- 如何实现一个简单的Ubuntu远程虚拟桌面
文章目录 前言 一.什么是noVNC? 二.如何部署 1.安装VNC服务端 1.1 安装tigervnc-standalone-server 1.2 安装tigervnc-standalone-ser ...
- TigerVNC实现GNOME全功能远程虚拟桌面
本文主要介绍专注于Unix-like操作系统远程虚拟桌面的TigerVNC,以Ubuntu为例介绍了TigerVNC服务器的安装与GNOME虚拟桌面的配置,并结合Windows端的TigerVNC查看 ...
- ubuntu远程windows桌面
ubuntu远程windows桌面: applications-internet-terminal server client-computer:要远程的目标主机ip,protocol: RDPv5, ...
- linux远程虚拟桌面,2020-07-23 Linux 远程连接虚拟桌面
写在前面 我的服务器为Centos7,其他 Linux 发行版可能略有差异. 此方法不需要有物理显示屏. 可以多用户同时登录,同一用户可以开启多个虚拟桌面. TigerVNC 安装 使用这个软件提供 ...
- ubuntu远程接桌面控制ubuntu
第一步 sudo apt-get update sudo apt-get upgrade sudo apt-get update 第二步 云端安装语言包 $ apt-get install langu ...
- Ubuntu创建虚拟桌面
安装 sudo apt-get install xserver-xorg-core-hwe-18.04 sudo apt-get install xserver-xorg-video-dummy 添加 ...
- ubuntu远程桌面及VNC
一.Ubuntu16.04安装x11VNC远程桌面 2017年06月04日 11:44:39 小林书店副编集 阅读数 9249 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- VMware Horizon虚拟桌面工具箱之审计与远程协助
VMware Horizon产品提供了业界领先的虚拟桌面服务,安全.便利.高效,正逐渐成为下一代企业桌面的最佳选择.今天,我们向大家推荐一款由VMware公司开发的"Horizon工具箱&q ...
- 轻松搞定个人虚拟桌面部署之1-远程桌面服务概述
使用Windows Server 2008 R2部署虚拟桌面架构,你有两种方式可选:虚拟桌面池和个人虚拟桌面.这两种技术在构建上非常相似,因为它 们都基于远程桌面服务器(Remote Desktop ...
最新文章
- 徒手撸框架--实现 RPC 远程调用
- ELK结合logback搭建日志中心
- html里字号rem,html中的em和rem到底该如何使用,自适应效果中如何确定文字大小/字号?...
- python映射类型-python2.x学习笔记(8)-映射和集合类型
- Py之urllib2:Python库之urllib、urllib2、urllib3系列简介、安装、使用方法之详细攻略
- java 如何去掉http debug日志_你居然还去服务器上捞日志,搭个日志收集系统难道不香吗?...
- 第二十四期:面试问:Kafka为什么速度那么快?该怎么回答
- sql over函数_SQL 高级函数
- stm8s 时钟库函数选择内部RC初始化
- 触动精灵mysql用法_[触动精灵]触动精灵官方手册流水账2
- jack编译报错的问题
- html左边图片右边文字_有了这些网站,不用PS也可以做出文字云效果
- 【QT】提示框(消息盒子、文件对话框、颜色对话框、字体对话框、输入对话框、自定义对话框)
- day 0150面向对象-成员
- 软件开发沉思录读书笔记
- windows如何查看电脑开关机记录
- java $ 怎样用_jsp中$是什么意思?怎么用?
- 什么是新零售电商系统?
- OCT-模拟集成电路设计的九个境界
- 大型网站架构演化(一)——初始阶段的网站架构
热门文章
- 二分法----一看就会,一写就废
- ie7+ajax跨域,利用flash让IE7.8.9ajax支持跨域
- echarts饼图的白边
- 【考纲】2013年信息系统项目管理师(高级)考试大纲-刘俊平
- idea、webStorm怎么使用快捷键复制上一行
- PyRealsense开发心得总结(VScode+pyrs+PyQt5+OpenCV+Open3d)
- nancy 显示html网页,Nancy之基于Nancy.Hosting.Self的小Demo_html/css_WEB-ITnose
- 北京内推 | 微软亚洲研究院机器学习组招聘说话人脸生成方向研究实习生
- MPLS隧道——PE与CE之间运行不同路由协议的情况分析
- 成都课得在线|网络运营的运营流程是什么?