转过来过几天试试。


前言:

  在很多场景下,我们需要远程连接到Linux服务器(本文是Ubuntu),传统的连接主要分为两种。

  第一种:通过SSH服务(使用xshell等工具)来远程访问,编写终端命令,不过这个是无界面的,很多人也喜欢这种方式,因为快(xian)捷(de)方(niu)便(bi)。

  第二种:通过可视化界面远程访问,像Windows下的自带的远程工具一样,能够以图形化的界面远程操作(很多人还是因为习惯问题,喜欢这种方式,毕竟有界面显示还是赏心悦目的)。

最常见的是通过xrdp和vnc这两种远程桌面协议来进行可视化远程操作。

一、介绍xrdp和vnc之间区别

 通过一张表格来展示xdrp和vnc的主要区别

 

xrdp

vnc

BIOS屏幕显示


不能

全彩支持



更改分辨率



多显示器

只有一个屏幕

多显示器支持

图像传输

图像传输

图像和图形传输

视频播放支持

不能

GPU加速支持

音频传输

不能

双向语音可以控制

鼠标控制

服务器端控制

服务器端控制

USB传输 

不能

USB可以通过网络传输

1、xrdp

  rdp有两种,remote,remotefx
  适用系统:windows、linux
  网络流量:较小,正常使用100-200k左右
  适用场景:由于在色彩、音频、usb及本地磁盘映射方面较好,非常适用于虚拟桌面

2、vnc

  适用系统:windows、linux
  网络流量:较小,常用100k左右
  适用场景:主要用于linux的服务器的管理,由于无声音和usb传输,不满足于虚拟桌面的使用

并且vnc只支持一个桌面,xrdp可以支持多个桌面,所有如果存在多人同时连接Linux的话,xrdp完全是可以支持的,vnc则不行。


 

二、如何通过XDRP实现Windows远程访问

下面才是本文的重点,本文主要是讲xrdp在目前最新版Ubuntu 16.04下,如果实现Windows远程访问。网上也很多相关教程,但是都需要安装xfac4或者xubuntu桌面系统才能实现远程连接。那是因为xrdp支持在13.10之后版本就已经不支持的Gnome了和原生Unity桌面,所以网上很多方法都是安装能够被xdrp支持的第三方xfac4或者xubuntu桌面系统,类似“曲线救国”的方式,间距达到远程控制Ubuntu。但是相信大多数人还是蛮喜欢Ubuntu的原生界面,不太喜欢其他第三方的桌面系统,那可能有人会问,就没有什么办法支持原生的Unity桌面吗?答案其实是有的,这就是本文要讲到的如何通过xrdp支持原生Ubuntu桌面远程访问。

  我们先来看看大多数情况下,通过安装第三方xfac4或者xubuntu桌面系统达到远程访问的功能的,这里简单说明下,毕竟这不是本文的重点(ヾ(◍°∇°◍)ノ゙)。通过以下命令直接安装,然后通过Windows自带的远程访问工具就可以直接访问了。


ubuntu unity 远程连接 ubuntu自带远程连接_ubuntu unity 远程连接



1  #安装xrdp 
 2  sudo apt-get install xrdp 
 3  #安装vnc4server 
 4  sudo apt-get install vnc4server tightvncserver
 5  #安装xubuntu-desktop 
 6  sudo apt-get install xubuntu-desktop 
 7  #向xsession中写入xfce4-session 
 8  echo “xfce4-session” >~/.xsession 
 9  #开启xrdp服务 
10  sudo service xrdp restart



ubuntu unity 远程连接 ubuntu自带远程连接_ubuntu unity 远程连接


  上面是网上大多数示例所展示的,都是依靠第三方桌面系统实现远程访问,下面讲解的是如何直接访问原生系统。

步骤一、下载TigerVNC Server软件包

下载地址:Tigervnc Deb软件包(适用于Ubuntu 16.04.1 - 64位)

步骤二、 安装TigerVNC Server软件包

 1、打开终端,进入到刚刚你你下载TigerVNC Server的存放目录,我是直接下载到默认的DownLoads下的,因为下载的是zip文件,记得解压出来,得到deb安装文件。


cd Downloads


  如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_Windows_03

 2、再输入一下安装命令进行安装(需要su密码)


sudo dpkg -i tigervncserver_1.6.80-4_amd64.deb
或者
sudo apt-get install tightvncserver (使用在线安装,后面第3小步就可以直接跳过了)


如图所示:可能你会看到一些警告信息和错误信息,暂时忽略这些信息,主要是没有相对应的依赖包。

ubuntu unity 远程连接 ubuntu自带远程连接_ubuntu unity 远程连接_04

3、上面才错误信息是因为没有安装对应的依赖,我们可以通过下面命令进行安装,再重复第2个的命令


sudo apt-get install -f


  如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_ubuntu unity 远程连接_05

步骤三、安装xrdp

打开终端,输入一下命令(需要su密码)


sudo apt-get install xrdp -y



ubuntu unity 远程连接 ubuntu自带远程连接_远程访问_06

步骤四、配置xrdp设置

 需要通过xrdp连接到桌面,需要正确配置相关信息并填充到.xsession文件(针对每个用户)或/etc/startwm.sh(针对所有用户),输入如下命令


echo unity>~/.xsession

或者

sudo sed -i.bak '/fi/a #xrdp multi-users \n unity \n' /etc/xrdp/startwm.sh


步骤五、重启xrdp 


sudo service xrdp restart


 步骤六、开启桌面共享功能

  进入系统-》首选项-》桌面共享,或者直接搜索桌面共享,如图所示

ubuntu unity 远程连接 ubuntu自带远程连接_远程访问_07

  将【允许其他人查看您的桌面】这一项勾上,如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_Ubuntu_08

到这一步基本上已经完成了,接下来就是来测试是否能正常连接到Ubuntu了

三、xrdp测试连接到Ubuntu

1、查看Ubuntu服务器的IP地址,如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_ubuntu unity 远程连接_09

 2、启动Windows远程桌面工具(mstc),输入Ubuntu的IP地址(192.168.226.131),如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_Windows_10

  3、点击连接之后,正常情况会自动跳出xrdp的登录界面,需要我们输入用户名和密码即可,模式选择默认就行,如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_ubuntu unity 远程连接_11

   4、我们可以看到xrdp的实时日志,如图所示:

ubuntu unity 远程连接 ubuntu自带远程连接_远程访问_12

  5、最终我们连接到上了Ubuntu,是不是很熟悉的界面~~(ヾ(๑╹◡╹)ノ")

ubuntu unity 远程连接 ubuntu自带远程连接_远程访问_13

  至此,xrdp连接Ubuntu 16.04的所有步骤已完成