赞
踩
在很多场景下,我们需要远程连接到Linux服务器(本文是Ubuntu),传统的连接主要分为两种。
第一种:通过SSH服务(使用xshell等工具)来远程访问,编写终端命令,不过这个是无界面的,很多人也喜欢这种方式,因为快(xian)捷(de)方(niu)便(bi)。
第二种:通过可视化界面远程访问,像Windows下的自带的远程工具一样,能够以图形化的界面远程操作(很多人还是因为习惯问题,喜欢这种方式,毕竟有界面显示还是赏心悦目的)。
本文主要是介绍第二种方式。最常见的是通过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是大部分Linux发行版默认的基于RFB协议的远程桌面程序,但对于普通用户来说,vnc的用户体验并不好,比较慢,还需要安装客户端。个人推荐使用xrdp,并且Windows的远程桌面也是基于RDP协议,兼容性也很好。并且vnc只支持一个桌面,xrdp可以支持多个桌面,所有如果存在多人同时连接Linux的话,xrdp完全是可以支持的,vnc则不行。
下面才是本文的重点,本文主要是讲xrdp在目前最新版Ubuntu 16.04下,如果实现Windows远程访问。网上也很多相关教程,但是都需要安装xfac4或者xubuntu桌面系统才能实现远程连接。那是因为xrdp支持在13.10之后版本就已经不支持的Gnome了和原生Unity桌面,所以网上很多方法都是安装能够被xdrp支持的第三方xfac4或者xubuntu桌面系统,类似“曲线救国”的方式,间距达到远程控制Ubuntu。但是相信大多数人还是蛮喜欢Ubuntu的原生界面,不太喜欢其他第三方的桌面系统,那可能有人会问,就没有什么办法支持原生的Unity桌面吗?答案其实是有的,这就是本文要讲到的如何通过xrdp支持原生Ubuntu桌面远程访问。
我们先来看看大多数情况下,通过安装第三方xfac4或者xubuntu桌面系统达到远程访问的功能的,这里简单说明下,毕竟这不是本文的重点(ヾ(◍°∇°◍)ノ゙)。通过以下命令直接安装,然后通过Windows自带的远程访问工具就可以直接访问了。
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
上面是网上大多数示例所展示的,都是依靠第三方桌面系统实现远程访问,下面讲解的是如何直接访问原生系统。
【多人桌面】
1、安装xrdp
sudo apt-get install xrdp
2、安装vnc4server
我这里是安装xrdp的时候自动安装的。我看网上很多说是需要单独安装的。
3、安装xfce4
sudo apt-get install xubuntu-desktop
这个软件比较大,总计需要260M。
4、配置xfce4
echo "xfce4-session" >~/.xsession
创建.xsession文件并写入内容。
这样之后,网上很多做法就已经结束了,但是我使用远程桌面连接mstsc.exe连接的时候,仅仅显示connecting to sesman ip127.0.0.1之后就没有反映了,应该继续连接ok才对。这样,继续:
5、继续配置xfce4
sudo vi /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前一行插入
xfce4-session
6、重启xrdp
sudo service xrdp restart
7、使用远程桌面连接mstsc.exe,连接之后类型选择sesman-xvnc
填写用户名和密码之后就好了
注意,第4步和第5步,两个配置xfce的步骤,缺一不可。
8、修改tab键自动补全功能
至此为止,远程登录可以正常使用了,但是在终端中无法使用tab的自动补全功能,使用起来甚是不便,使用如下方法修改:
此法不需要重启系统,可以直接在远程桌面中设置,打开菜单->设置->窗口管理器,或者在终端中输入xfwm4-settings打开(xfwm4就是xfce4 window manger的缩写)
选择键盘,可以看到窗口快捷键中动作一列有“切换同一应用程序的窗口”选项,将该选项的快捷键清除后关闭窗口即可。
缺省的设置,该项的值为“super+制表”,制表键就是tab键。这样修改后马上可以使用了。
参考网址:https://blog.csdn.net/zz_1215/article/details/77921405
【多人桌面可能会遇到的错误更新于2019年1月10号】
xrdp 报 password failed错误
这个错误非常坑爹,主要源于系统自动更新了xrdp
Check /var/log/apt/history.log, this was part of the upgrade from this morning (2019-01-10)
xrdp:amd64 (0.6.1-2, 0.6.1-2ubuntu0.1)
I then downgraded ...
sudo apt-get install xrdp=0.6.1-2
It now works
附上原回答链接
【单人桌面】
下载地址:Tigervnc Deb软件包(适用于Ubuntu 16.04.1 - 64位)
1、打开终端,进入到刚刚你你下载TigerVNC Server的存放目录,我是直接下载到默认的DownLoads下的,因为下载的是zip文件,记得解压出来,得到deb安装文件。
cd Downloads
如图所示:
2、再输入一下安装命令进行安装(需要su密码)
sudo dpkg -i tigervncserver_1.6.80-4_amd64.deb
或者
sudo apt-get install tightvncserver (使用在线安装,后面第3小步就可以直接跳过了)
如图所示:可能你会看到一些警告信息和错误信息,暂时忽略这些信息,主要是没有相对应的依赖包。
3、上面才错误信息是因为没有安装对应的依赖,我们可以通过下面命令进行安装,再重复第2个的命令
sudo apt-get install -f
如图所示:
打开终端,输入一下命令(需要su密码)
sudo apt-get install xrdp -y
需要通过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了
与多人桌面的开启方法相同,使用远程桌面连接mstsc.exe,连接之后类型选择sesman-xvnc
填写用户名和密码之后就好了
连接出现闪退请使用sudo apt-get install xfce4
echo xfce4-session > ~/.xsession
touch .session
sudo vim /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前面加
xfce4-session
然后重启 sudo service xrdp restart
安装第三方
————————————————
版权声明:本文为CSDN博主「周子青」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37674858/article/details/80931254
参考网址:http://www.cnblogs.com/xuliangxing/p/7560723.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。