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桌面。

实施前提:

软件工具清单:

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

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

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

sudo apt install ubuntu-desktop

2.1 在Ubuntu 20.04系统上安装Xrdp

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

sudo apt install xrdp -y

windows远程ubuntu桌面空白(ubuntu重启命令)(1)

在Ubuntu 20.04系统上安装Xrdp

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

sudo systemctl status xrdp

windows远程ubuntu桌面空白(ubuntu重启命令)(2)

在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

windows远程ubuntu桌面空白(ubuntu重启命令)(3)

在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 reloadsudo ufw status

2.3: 使用RDP客户端访问远程Ubuntu桌面

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

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

在Windows系统上启动RDP远程桌面客户端,连接Ubuntu服务器windows远程ubuntu桌面空白(ubuntu重启命令)(4)

在Windows系统上启动RDP远程桌面客户端,连接Ubuntu服务器

RDP连接安全警告,点击“是”windows远程ubuntu桌面空白(ubuntu重启命令)(5)

RDP连接安全警告

输入正确的用户名和密码后,Xrdp提示错误:windows远程ubuntu桌面空白(ubuntu重启命令)(6)

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

xrdp远程桌面报错windows远程ubuntu桌面空白(ubuntu重启命令)(7)

xrdp远程桌面报错

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

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

sudo vim /etc/xrdp/startwm.sh

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

unset DBUS_SESSION_BUS_ADDRESSunset XDG_RUNTIME_DIR

按下图修改xrdp配置文件windows远程ubuntu桌面空白(ubuntu重启命令)(8)

修改xrdp配置文件

重启Xrdp协议:

sudo systemctl restart xrdp

2.4 再次使用RDP客户端访问远程Ubuntu桌面

正确输入用户名和密码后,即可成功进入Ubuntu桌面。windows远程ubuntu桌面空白(ubuntu重启命令)(9)

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

3. 结论

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