FreeRDP 3.15.0版本发布:SDL3客户端改进与相对鼠标输入支持
FreeRDP是一个开源的远程桌面协议(RDP)实现,允许用户在各种操作系统上连接到Windows远程桌面服务。作为微软远程桌面协议的一个自由开源实现,FreeRDP为Linux、macOS、Android等平台提供了高质量的远程桌面体验。
3.15.0版本主要改进
最新发布的FreeRDP 3.15.0版本是一个以错误修复为主的版本,重点改进了SDL3客户端和增加了相对鼠标输入支持。SDL(Simple DirectMedia Layer)是一个跨平台的多媒体库,FreeRDP使用它来实现跨平台的图形渲染。
SDL3客户端重大改进
3.15.0版本对SDL3客户端进行了多项重要修复和改进:
- 崩溃修复:解决了在抑制输出(suppress output)时的崩溃问题,提高了客户端的稳定性。
- 多显示器支持:修复了多显示器全屏模式下的问题,现在可以更好地支持多显示器环境。
- 剪贴板功能增强:改进了剪贴板处理逻辑,特别是在macOS平台上现在会优先使用Unicode格式的剪贴板内容。
- 显示更新重构:对显示更新机制进行了重构,提高了渲染效率。
- 窗口关闭处理:现在当用户关闭窗口时会正确退出程序,而不是继续在后台运行。
- 连接对话框封装:改进了连接对话框的实现,提升了用户体验。
相对鼠标输入支持
3.15.0版本引入了相对鼠标输入支持,这对于某些特定应用场景(如游戏、CAD设计等)非常重要。相对鼠标输入与绝对鼠标输入不同,它报告的是鼠标移动的相对变化量,而不是屏幕上的绝对位置。这种输入模式在某些专业应用中能提供更好的用户体验。
其他重要修复
除了上述主要改进外,3.15.0版本还包含了许多其他修复和优化:
- 智能卡登录改进:修复了服务器端智能卡登录相关的多个问题,现在会正确发送用户和域提示信息。
- RDP核心协议修复:修正了RDP协议中OrderSupportFlags的处理逻辑,确保正确应用订单能力集。
- 网络代理兼容性:调整了代理设置处理,使其与curl的行为保持一致。
- 线程处理优化:在RDPEI(远程桌面协议输入虚拟通道)服务器端增加了可选的线程消息处理机制,提高了输入处理效率。
- 时区定义更新:更新了时区定义数据,确保远程会话中的时间显示准确。
开发者相关改进
对于开发者而言,这个版本也包含了一些值得注意的变化:
- 构建系统简化:移除了遗留和未使用的CMake策略,简化了构建过程。
- 代码质量提升:进行了多项代码重构和警告修复,提高了代码质量。
- 日志增强:增加了服务器格式列表的日志记录,便于调试。
总结
FreeRDP 3.15.0虽然是一个以错误修复为主的版本,但其对SDL3客户端的重大改进和相对鼠标输入的支持为用户带来了更稳定、功能更完善的远程桌面体验。特别是对于使用多显示器环境或需要相对鼠标输入的专业用户来说,这个版本提供了显著的改进。
随着远程办公和专业应用的普及,FreeRDP作为一个成熟的开源RDP实现,继续在跨平台远程桌面领域发挥着重要作用。3.15.0版本的发布进一步巩固了其在这一领域的地位。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考