- 1. 应用场景
当需要远程控制Ubuntu服务器,并且需要使用图形界面的时候,可以采用该方案。
为什么不用VNC方案?
VNC方案在画面质量,相应速度,资源占用等方面都很优秀,无奈其不支持音频的传输。有一些解决方案,都有失复杂,适合动手能力强的朋友折腾,不适合作为一般性的方案。
- 2. xrdp介绍
XRDP是微软远程桌面协议的一个开源实现,使用户能够以图形方式控制远程系统。XRDP协议使微软视窗以外的操作系统能够提供无缝的、功能全面的RDP兼容的远程桌面体验。使用XRDP的主要工作原理是桥接来自X Windows系统的图形,然后将控制权从客户端转回给X Windows系统。
- 3. 部署
- 3.1. 安装xrdp
sudo apt install xrdp
- 3.2. 启动服务器
systemctl start xrdp
默认监听端口:3389
- 3.3. 性能优化
- 3.3.1. 优化xrdp读写缓存参数
sudo vim /etc/xrdp/xrdp.ini
...
; set tcp send/recv buffer (for experts)
tcp_send_buffer_bytes=4194304
tcp_recv_buffer_bytes=6291456
...
注意修改后需要重启xrdp服务。
- 3.3.2. 优化Linux内核参数
sudo vim /etc/sysctl.conf
...
net.core.rmem_max = 12582912
net.core.wmem_max = 8388608
...
修改后,运行下面命令使其生效:
sudo sysctl -p
- 4. 客户端连接
- 4.1. windows客户端连接
使用windows系统的“远程桌面”工具。
- 4.2. Linux客户端连接
- 4.2.1. 安装remmina
sudo apt install remmina
- 4.2.1. 运行remmina连接xrdp
配置提示:
1)“基本->网络连接类型”选择“LAN”
2)“高级->音频输出模式”选择“本地”
- 5. 问题
- 5.1. 远程桌面没有声音
在远程桌面上,打开终端,执行下面的命令:
pulseaudio --kill
pulseaudio --start
- 5.2. 黑屏
如果连接后黑屏,可能是缺少.xsessionrc配置文件
vim ~/.xsessionrc
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
保存后重启xrdp服务
本文暂时没有评论,来添加一个吧(●'◡'●)