Rdesktop
注意: 上游 rdesktop 项目 正在寻找新的维护者。与此同时,建议使用该项目的另一个分支 freerdp,它正在积极维护中。一篇上游的 博客文章 解释了这两个项目的历史以及它们是如何联系在一起的。
rdesktop 是一个自由开源的客户端,用于 Microsoft 的专有 RDP 协议,并以 GNU 通用公共许可证发布。使用 rdesktop 连接到 Windows RDP 服务器以远程管理 Windows 计算机。
截至 2008 年 7 月,rdesktop 实现了 RDP 5 协议的很大一部分子集,包括
- 位图缓存
- 文件系统、音频、串口和打印机端口重定向
- 大多数国际键盘的映射
- 流压缩和加密
- 自动身份验证
- 智能卡支持
- 类似 RemoteApp 的支持,通过 SeamlessRDP 称为“无缝”模式
仍未实现的功能包括
- 远程协助请求
- USB 设备重定向
尚未实现对 RDP 5.1 和 RDP 6 中可用附加功能的支持(包括多显示器扩展和窗口合成)。
安装
用法
有关选项的完整列表,请参阅 rdesktop(1)。 这是一个典型的命令行:
$ rdesktop -g 1440x900 -P -z -x l -r sound:off -u windowsuser 98.180.102.33:3389
从左到右阅读
-g 1440x900 |
将显示分辨率设置为 1440x900 |
-P |
启用位图缓存/加速传输。 |
-z |
启用 RDP 数据流压缩 |
-x l |
使用 “lan” 质量体验级别,请参阅 rdesktop(1) § x |
-r sound:off |
将服务器上生成的声音重定向到 null |
-u windowsuser |
这定义了登录 Windows 计算机时要使用的用户名 |
98.180.102.33:3389 |
这是目标计算机的 IP 地址和端口号 |
技巧与提示
几何图形自动缩放
为了自动缩放几何图形以适应屏幕,可以使用 -g
命令行选项。 可以使用百分比
$ rdesktop -g 100% -P -z 98.180.102.33:3389
或使用数值
-g $(xrandr -q | awk '/Screen 0/ {print int($8/1.28) $9 int($10/1.2)}' | sed 's/,//g')
使用 NetBIOS 名称而非 IP 地址进行远程桌面
如果您不知道网络中 Windows 计算机的 IP 地址,则必须启用 wins 支持。为此,您必须安装 samba。 要在 samba 中启用 wins,请添加以下行
/etc/samba/smb.conf
wins support = yes
然后您必须安装 winbind,然后编辑 /etc/nsswitch.conf
并将 “wins” 添加到主机列表中。
重启 smb
和 nmb
服务,并通过 ping Windows NetBIOS 主机来测试是否成功。
提供缺失的光标
请参阅 Cursor themes#Supplying missing cursors。
故障排除
初始化 NLA 失败
当尝试远程桌面连接到 Windows 10 或 Windows 11 主机时,您可能会收到此错误
Failed to initialize NLA, do you have correct Kerberos TGT initialized ? Failed to connect, CredSSP required by server (check if server has disabled old TLS versions, if yes use -V option)
如果您拥有或具有主机的管理员访问权限,则可以通过允许客户端在没有 NLA 的情况下连接来解决此问题。 搜索 rdp disable nla
以获取说明。 请注意,这可能会在面向公众的主机上引入安全问题,因此请谨慎使用。
参见
- rdesktop 官方主页
- freerdp 是 rdesktop 的一个分支,它支持 RDP 7.1 功能,包括网络级别身份验证 (NLA)。 另请参阅 [1]。