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 reloadsudo 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_ADDRESSunset XDG_RUNTIME_DIR
按下图修改xrdp配置文件
修改xrdp配置文件
重启Xrdp协议:
sudo systemctl restart xrdp
2.4 再次使用RDP客户端访问远程Ubuntu桌面
正确输入用户名和密码后,即可成功进入Ubuntu桌面。
通过xrdp服务成功进入ubuntu桌面
3. 结论
通过本文,您应该可以学习到如何在Ubuntu系统中配置基于RDP协议的远程桌面了吧?RDP是微软公司的标准,好处在于与Windows自带的RDP客户端完全兼容,并且不需要安装第三方软件。如果你有更好的用法,请留言。