![两台 Windows 10 计算机之间的远程桌面,如何禁用 DPI 同步](https://linux22.com/image/1612625/%E4%B8%A4%E5%8F%B0%20Windows%2010%20%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B9%8B%E9%97%B4%E7%9A%84%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%EF%BC%8C%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8%20DPI%20%E5%90%8C%E6%AD%A5.png)
我在 Windows 10 笔记本电脑上工作,使用远程桌面进入其他地方的另一台 Windows 10 机器。
我在本地机器上所做的事情(个人事务:电子邮件、浏览、Excel)和在远程机器上所做的事情(工作事务:Visual Studio 开发、各种内部应用程序)在理想显示比例方面有非常不同的需求。
我所说的“比例”是指设置->系统->显示->比例和布局->更改文本、应用程序和其他项目的大小。
对于我的个人机器来说,最佳显示比例是 Windows 10 默认的 125%,但对于工作机器来说,最佳显示比例是 100%。
不幸的是,远程桌面会自动使用客户端比例来确定远程比例。如果客户端为 125%,则远程计算机的比例为 125%。如果我想在远程计算机上使用 100%,我必须先将本地计算机设置为 100%。
有什么方法可以断开这两者之间的联系,使它们可以独立存在吗?配置设置?注册表设置?其他方法都可以吗?
我找到了一个针对此确切问题的解决方案,但它仅适用于 2012 服务器。正在寻找一个适用于 Windows 10 的解决方案。搜索了很多次,如果这是重复的并且我错过了,请原谅。
而且因为这是连接到办公室的工作机器,所以我没有选择使用其他远程客户端,必须是 RDC。
稍后补充说明:我在远程机器上运行的应用程序都是为最低 1920 X 1080 编写的,因此由于我的笔记本电脑也是 1920 X 1080,因此我无法以低于全屏的任何方式运行远程会话。而且我在那种环境中生活了好几个小时,因此需要 Windows 键(如 Alt-Tab)才能工作。因此 - 必须是全屏。我意识到,如果我以较小的分辨率打开远程会话,则无论客户端上的缩放比例如何,缩放比例都将是 100%,但 - 这不是选项。
答案1
我找到了最好的解决方案相似(但相反?)问题是使用 UWP 远程桌面应用(通过 MS Store)。它仍然使用相同的 RDP 协议,因此应该能够连接到经典远程桌面客户端可以连接到的任何机器。
在特定于连接的设置中,您可以选择指定精确的分辨率和DPI 缩放 - 后者无法通过经典远程桌面客户端实现:
如果你指定固定大小,则 UWP 远程桌面应用将在你进入全屏模式时在本地拉伸显示。这可以通过应用全局设置进行控制:
答案2
我找到了一个有效的答案。将其发布在这里,以防将来其他人遇到此问题并且不熟悉以下内容。
显然(我不知道这一点),Windows 10 中有两个不同的远程桌面应用程序。有“远程桌面连接”和“远程桌面应用程序”。如果您搜索“远程”,就可以看到它们:
这些是不一样的。
远程桌面连接是我一直使用的经典连接(并且认为是唯一的连接),如下所示:
远程桌面应用程序是一个 Windows 10 应用程序,如下所示:
远程桌面连接读取和写入 .rdp 文件,并且不提供调整目标缩放因子的选项。
远程桌面应用程序不读取 .rdp 文件,您可以在其中将目标计算机设置为“已保存的桌面”,但它确实提供了调整目标缩放系数的选项。事实上,显示设置与 Bob 发布的 UWP 远程桌面使用的设置完全相同,如果 UWP 使用相同的 RDP 协议,那么它可能使用相同的应用程序,这是有道理的。但是远程桌面应用程序是免费的,并且随 Windows 一起提供。
由于我同时连接到 Windows 10 机器和 Windows 7 机器,因此我针对两台目标机器测试了连接和应用程序版本,以比较行为和性能。
该应用程序连接到 Windows 7 计算机时速度明显较慢。但考虑到 Windows 7 本来就没有“125% 缩放”的概念,我不需要该功能,因此我继续使用 Connection 版本。
连接到 Windows 10 机器时,应用程序和连接版本的速度几乎相同,因此我切换到了应用程序。
最终结果:我使用远程桌面连接与 Windows 7 通信,使用远程桌面应用程序与 Windows 10 通信。我的客户端计算机的缩放比例为 125%。目标计算机的缩放比例为 100%。全部全屏运行。
问题现已解决,感谢大家的帮助。
答案3
如果我正确理解了您的目标,那么有一个名为“IgnoreClientDesktopScaleFactor”的注册表项可能会满足您的需要。它记录在此处,作为 RemoteApp 问题知识库的一部分:https://support.microsoft.com/en-us/help/3026738/remoteapp-window-is-too-large-or-too-small-when-you-use-rdp-to-run-ar
基本上,您可以通过将 IgnoreClientDesktopScaleFactor 设置为零来禁用 DPI 同步(编辑:但这必须在服务器上完成 - 客户端计算机不会读取此键)。虽然 KB 文章是关于 RemoteApp 的,但注册表项没有只是适用于 RemoteApp - 它也应该在完整桌面会话中工作。值得注意的是,禁用同步并不会自动使远程 DPI 可配置 - 它显然只是恢复到 100%,尽管这恰好是您想要的。
经过快速检查后,看起来此密钥在 Windows Server 2019(大致相当于 Windows 10 1809)中仍然有效。
答案4
在 Windows RDP 中,打开选项(左下角),然后打开显示选项卡,并设置远程计算机分辨率。这可能与本地计算机不同。
我的本地计算机是 Windows 10 Pro 1920 x 1080 125% 比例。我已通过 RDP 连接到客户端 Windows 10 Pro 计算机,并将其设置为 1366x768(因此我不必滚动它)。但机器分辨率和比例没有关联。
您尝试过这些设置吗?