Rdesktop

来自 ArchWiki
注意: 上游 rdesktop 项目 正在寻找新的维护者。与此同时,建议使用该项目的另一个分支 freerdp,它正在积极维护中。一篇上游的 博客文章 解释了这两个项目的历史以及它们是如何联系在一起的。

rdesktop 是一个自由开源的客户端,用于 Microsoft 的专有 RDP 协议,并以 GNU 通用公共许可证发布。使用 rdesktop 连接到 Windows RDP 服务器以远程管理 Windows 计算机。

截至 2008 年 7 月,rdesktop 实现了 RDP 5 协议的很大一部分子集,包括

  • 位图缓存
  • 文件系统、音频、串口和打印机端口重定向
  • 大多数国际键盘的映射
  • 流压缩和加密
  • 自动身份验证
  • 智能卡支持
  • 类似 RemoteApp 的支持,通过 SeamlessRDP 称为“无缝”模式

仍未实现的功能包括

  • 远程协助请求
  • USB 设备重定向

尚未实现对 RDP 5.1 和 RDP 6 中可用附加功能的支持(包括多显示器扩展和窗口合成)。

安装

安装 rdesktop 软件包。

用法

有关选项的完整列表,请参阅 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” 添加到主机列表中。

重启 smbnmb 服务,并通过 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 以获取说明。 请注意,这可能会在面向公众的主机上引入安全问题,因此请谨慎使用。

参见