1. 前言
因为远程工作的原因,同时Ubuntu上有需要GUI界面启动的程序,所以研究了一下如何远程桌面登录。
网上已经有一些教程指导该如何登录,但是我按照那些文章并不能实现登录,其中出现了
- connection problem,giving up问题
- No configured security type is supported 问题
- 安装xrdp 后,鼠标和键盘无法使用的问题
经过查找各种教程,在反复试验之后,终于找到了一种方法(但并不算完美,后面会详说不完美之处),算是解决了上面的那些问题。
我这里用到的Ubuntu和Windows的版本如下:
Ubuntu18.04 LTS
Windows10 Pro
下面就开始介绍我的做法。
2. Ubuntu侧的准备
2.1 从 [设定] 工具 开启 屏幕 共享
打开Unbuntu的 [设定] 工具,找到 [Sharing] 页面
![74af3e5326911ce192b5068cf90fbe9c.png](https://img-blog.csdnimg.cn/img_convert/74af3e5326911ce192b5068cf90fbe9c.png)
将 [Screen Sharing] ([屏幕共享] )设定打开(下面页面左上角的按钮设置为 [ON] )
如果需要设置密码,在[Password]栏里设置密码
![7181be9793043c4639509ec5bd4f7889.png](https://img-blog.csdnimg.cn/img_convert/7181be9793043c4639509ec5bd4f7889.png)
2.2 设置防火墙
通过以下命令可以查看防火墙的启动情况
$ sudo ufw status
如果是 inactive的话,可以不需要任何设置。
如果需要开启防火墙的话,那需要打开5900端口
5900
$ sudo ufw reload
$ sudo ufw status
2.3 设置Gsettings
通过Windows连接的时候,需要将通信的加密处理关掉。关于Vino的说明[1]请看注释。
(这里是不完美之处之一,因为远程桌面之间的通信内容没有加密,在security方面是有瑕疵的。当然,如果是公司内的局域网,则没有这个问题)
set org.gnome.Vino require-encryption false
2.4 安装 xdrp
xrdp[2]是Microsoft RDP服务器的免费开源实现,可以通过以下命令安装
sudo apt-get install xrdp
sudo systemctl restart xrdp
但是,在实际的连接过程中,我的电脑会报如下的错误
- connection problem,giving up问题
![b6f3e579d67fe52ff71ab84ec9db73d2.png](https://img-blog.csdnimg.cn/img_convert/b6f3e579d67fe52ff71ab84ec9db73d2.png)
通过如这个文章中[3]提到的方法,也许可以解决该问题。
这个问题的原因是在安装xrdp的时候,xorgxrdp这个包并没有被完美安装进去[4]。
但是我是按照如下方法解决的。但是请注意,这个方法会更换内核,有一定风险!(不完美之处二)
2.5 切换HWE内核到GE内核
HWE(Hardware Enablement)[5]和xrdp的匹配并不好,所以需要将HWE切换到GE(Generic)内核。
- 查看HWE的状态
hwe-support-status
- 卸载HWE
3
- 重新安装xorg,以及桌面相关
3
sudo apt purge xserver-xorg-core-hwe-18.04 xserver-xorg-input-all-hwe-18.04 xserver-xorg-legacy-hwe-18.04 linux-headers-generic-hwe-18.04 linux-image-generic-hwe-18.04
重启后,再通过命令hwe-support-status命令查看,如果什么都不输出,说明切换完成
3 Windows侧的准备
3.1 使用自带的远程登录工具
在Windows自带的远程工具中输入要远程登录的PC的名字(或者IP)后,会出现如下的画面。
![7f0c7816153125f6e6f4639ba3082fe5.png](https://img-blog.csdnimg.cn/img_convert/7f0c7816153125f6e6f4639ba3082fe5.png)
将登录模式改为[console], 并输入你在Ubuntu侧设置的密码,即可登录了。
![bc783026bb4889ddbc06522071e014ff.png](https://img-blog.csdnimg.cn/img_convert/bc783026bb4889ddbc06522071e014ff.png)
登录后的画面如下。
![29e0b4138ba8c29bd8dffefce59eef08.png](https://img-blog.csdnimg.cn/img_convert/29e0b4138ba8c29bd8dffefce59eef08.png)
3.2 使用VNC工具登录
VNC的工具有很多,我使用的TightVNC[6]是一个开源的软件。
下载安装以后,打开[TightVNC Viewer],会出现如下画面
![bae198e8f384762f2973d55db10f0578.png](https://img-blog.csdnimg.cn/img_convert/bae198e8f384762f2973d55db10f0578.png)
按照提示输入密码
![394c0267520b2a2725cf550c9191b4f6.png](https://img-blog.csdnimg.cn/img_convert/394c0267520b2a2725cf550c9191b4f6.png)
同样可以连接上去。
4 后记
我在实现Ubuntu远程登录的过程中,还遇到过,TightViewer报错到的下面问题
- No configured security type is supported 问题
以及以下的问题
- 安装xrdp 后,鼠标和键盘无法使用的问题
这两个问题,都在我安装本文的【切换HWE内核到GE内核】的步骤,将HWE切换到GE以后,就不再发生。其中原因并没有深究。
参考
- ^Vino https://en.wikipedia.org/wiki/Vino_(VNC_server)
- ^Xrdp https://en.wikipedia.org/wiki/Xrdp
- ^connection problem https://zhuanlan.zhihu.com/p/93438433
- ^xorgxrdp安装error https://bugs.launchpad.net/ubuntu/+source/xorgxrdp/+bug/1816253
- ^关于HWE的说明 https://wiki.ubuntu.com/Kernel/LTSEnablementStack
- ^tightvnc https://www.tightvnc.com/