1. 前言

本文主要讲解如何在ubuntu 20.04系统上安装和配置xrdp远程桌面。

xrdp是微软的远程桌面协议(remote desktop protocol, rdp)的开源版本。在linux系统上安装xrdp后,用户可以使用rdp客户端远程访问linux桌面。

现在我们来一起看看如何在ubuntu桌面20.04和18.04上安装xrdp吧。

目标:在ubuntu 20.04系统上安装和配置xrdp,远程windows用户可以使用系统自带的远程桌面工具连接ubuntu 20.04桌面。

实施前提:

  • 1. 带图形界面的ubuntu 20.04系统
  • 2. 具有root权限或者sudo权限
  • 3. 熟悉linux基本命令行操作,比如apt命令

软件工具清单:

  • 1. xrdp:基于微软rdp协议的开源套件。

2. 在ubuntu系统上安装xrdp套件

如果您现在的ubuntu版本是server版,还没有安装桌面环境,那么您需要先安装图形桌面环境。

要安装ubuntu桌面环境,运行以下命令:

sudo apt install ubuntu-desktop

2.1 在ubuntu 20.04系统上安装xrdp

执行以下命令开始安装xrdp:

sudo apt install xrdp -y

在ubuntu 20.04系统上安装xrdp

xrdp服务安装后自动启动。你可以通过运行下面的命令来验证这一点:

sudo systemctl status xrdp

在ubuntu 20.04系统上检查xrdp运行状态

从上图中可以看出,xrdp守护进程处于正在运行的状态并设置了开机自启动。

2.2 在ubuntu 20.04上配置xrdp

当安装xrdp时,它会自动生产一个ssl证书的密钥文件ssl-cert-snakeoil.key,它位于/etc/ssl/private/目录中。我们需要将xrdp用户添加到ssl-cert组,以使该文件对用户可读。

sudo adduser xrdp ssl-cert

在ubuntu 20.04上配置xrdp

xrdp监听tcp端口3389,如果你开启了ufw防火墙,你需要开放这个端口,允许其它客户端远程连接到该服务器上。在这个例子中,我将允许从我的整个子网ip远程连接到ubuntu系统的rdp服务。

sudo ufw allow from 192.168.2.0/24 to any port 3389

执行完之后,需要重新加载防火墙,并确认端口是否已经打开。

sudo ufw reload
sudo ufw status

2.3: 使用rdp客户端访问远程ubuntu桌面

接下来,我们将在windows 10中使用远程桌面客户端访问ubuntu桌面系统。但在此之前,请确保您首先退出ubuntu 20.04。这是因为xrdp只支持一个x会话。

接下来,启动客户机并输入远程系统的ip地址,然后单击“连接”按钮。

在windows系统上启动rdp远程桌面客户端,连接ubuntu服务器

在windows系统上启动rdp远程桌面客户端,连接ubuntu服务器

rdp连接安全警告,点击“是”

rdp连接安全警告

输入正确的用户名和密码后,xrdp提示错误:

输入正确的用户名和密码后,xrdp提示错误

xrdp远程桌面报错

xrdp远程桌面报错

注意:你可能会遇到错误提示,而不是直接进入ubuntu桌面。事实上,我自己也遇到过这种情况,经过一番研究,我发现了一个解决办法。

解决方法很简单。回到命令行界面,编辑/etc/xrdp/startwm.sh脚本。

sudo vim /etc/xrdp/startwm.sh

在2个unset后面添加以下2行:

unset dbus_session_bus_address
unset xdg_runtime_dir

按下图修改xrdp配置文件

修改xrdp配置文件

重启xrdp协议:

sudo systemctl restart xrdp

2.4 再次使用rdp客户端访问远程ubuntu桌面

正确输入用户名和密码后,即可成功进入ubuntu桌面。

通过xrdp服务成功进入ubuntu桌面

3. 结论

通过本文,您应该可以学习到如何在ubuntu系统中配置基于rdp协议的远程桌面了吧?rdp是微软公司的标准,好处在于与windows自带的rdp客户端完全兼容,并且不需要安装第三方软件。如果你有更好的用法,请留言。