RDP客户端能否启动远程应用程序而不是桌面?

109

远程桌面协议客户端是否能够启动远程应用程序并仅显示该应用程序(而不是桌面)?应用程序将在客户端内全屏显示,如果应用程序关闭,则会话将结束。


3
正是我在寻找的东西...谢谢你的询问! - Gishu
1
@user172681的回答提供了最新的链接。现在还有一个很棒的工具叫做“RemoteApp Tool”(请参见页面顶部的更新部分中的链接),用于配置远程应用程序并生成RDP文件... 在Win7上完美运行。 - John Rix
11个回答

49

"alternate shell" {备用外壳} 在最近的Windows版本中 似乎不再起作用RemoteApp 是一种更好的选择。

remoteapplicationmode:i:1
remoteapplicationname:s:Purpose of the app shown to user...
remoteapplicationprogram:s:C:\...\some.exe
remoteapplicationcmdline:s:

为了在 Windows 10 专业版等操作系统下使其正常工作,需要启用某些策略
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]
"fAllowUnlistedRemotePrograms"=dword:00000001

7
需要翻译的内容:Just to add some precision: the above changes (from the first section) have to be made in the .rdp file itself, and the registry on the server.为了更准确地说明,上述更改(来自第一部分)必须在.rdp文件本身和服务器的注册表中进行。 - picrap
记录一下,有两个名字类似的RDP键:remoteapplicationfile:sremoteapplicationprogram:s*file键指定本地(主机)计算机上可执行文件的完整路径,而*program键指定远程计算机上的可执行文件。 - Moshe Rubin

24

这是非常容易实现的。

  1. 我们需要允许任何未列出的程序从RDP启动。
    1.1 将下面的脚本保存在桌面上,扩展名必须以.reg结尾。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList] "fDisabledAllowList"=dword:00000001


       1.2 右键单击文件,然后单击 Merge, Yes, Ok.

  1. 修改我们的 .rdp 文件。
    2.1 在文件末尾添加以下代码:
remoteapplicationmode:i:1
remoteapplicationname:s:这将是应用程序的可选描述
remoteapplicationprogram:s:应用程序的相对或绝对路径
                           (例如:taskmgr 或 C:\Windows\system32\taskmgr.exe)
remoteapplicationcmdline:s:在此处放置任何可选的应用程序参数


或者只需使用此代码以确保其有效:

remoteapplicationmode:i:1
remoteapplicationname:s:
remoteapplicationprogram:s:mspaint
remoteapplicationcmdline:s:

2.2 输入您的用户名和密码并连接。


    3. 现在,您可以像在本地计算机上运行一样使用您的远程应用程序,而不会遇到任何问题。


上面的优秀答案使用了 remoteapplicationprogram:s 键来指定位于远程计算机上的应用程序。如果要在远程计算机上运行本地主机端的应用程序,请改用 remoteapplicationfile:s 键。 - Moshe Rubin
2
这个完美地运作,唯一不太清楚的是 reg 必须在远程机器上运行。 - David Wilton

24

通过使用 RDP 连接文件,您可以将替代 Shell 设置为您的应用程序;文件语法如下:

alternate shell:s:c:\winnt\system32\notepad.exe

你可以将mstsc.exe的路径作为命令行参数传递;这与chrissr的解决方案类似,但不会影响您启动的每个RDP会话。 这里提供了更详细的设置摘要


6
对我没起作用... 我在.rdp文件中看到了这个属性,但是进行更改(看起来应该有效),但是当我启动连接时没有任何变化。从vista x64远程连接到win 7 x64。 - sonjz
3
很抱歉,链接已失效。 - Nikola Malešević
1
你能否更新这个内容,加入更多细节,或者至少修复一下链接? - WhiteHotLoveTiger
请使用此链接:http://web.archive.org/web/20130127155938/http://coe.uncc.edu/mosaic/remote_desk/RDP%20File%20Settings.htm - lynx_74
1
在Windows 10上对我不起作用。他们是否删除了此功能? - مسعود
它在我的Windows 10 20H2(19042.928)上仍然可以工作! - LinuxLuigi

12
这被称为“无缝”模式。Unix上的RDP客户端rdesktop可以实现这一点。从man页中可以看到:
   -A     Enable SeamlessRDP. In this mode, rdesktop creates a X11 window for each window on the server
          side.  This  mode  requires  the  SeamlessRDP  server side component, which is available from
          http://www.cendio.com/seamlessrdp/.  When using this option, you  should  specify  a  startup
          shell which launches the desired application through SeamlessRDP.
请参见Cendio网站了解更多信息。

2
在Windows上有类似的东西可用吗? - ScottC

6

是的,您可以将默认外壳从Explorer.exe更改为特定应用程序。

在Regedit中导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon。 当前的外壳应该是Explorer.exe。 将其更改为YourApp.exe。 这将更改所有登录到计算机的用户的外壳。 如果您只想更改特定用户的外壳,请转到HKEY_CURRENT_USER中的相同键。


注意:用户仍然可以使用CTRL-Alt-Del并访问其他应用程序。您可能希望为通过RDP登录的帐户或组禁用CTRL-Alt-Del。 - chrissr
5
这实际上使用户无法正常登录。 - ypnos

3

2

我认为Citrix可以做到这种事情。虽然我只用过几次,对细节不是很确定。我想我使用的那个叫做XenApp,但我不确定那是否是你需要的。


XenApp似乎更多关注应用程序虚拟化而非远程访问(尽管我看到它有远程选项)。我还在寻找开源阵营中的某些东西(例如rdesktop)。 - Richard Dorman
3
在底层,XenApp 的关键组件仍然是基于服务器的计算(就像十年前该产品被称为 MetaFrame 时一样)。只是营销风格已经改变,该产品已经扩展到包含不仅仅是应用程序远程核心。 - Steve Gilham
据我所知,微软使用来自 Citrix 的技术进一步开发/升级了他们的终端服务器服务,因为在这方面它要好得多。 - Sam Sirry

2

搜索RemoteApp,只有Windows Server 2016及以上版本提供此功能。还有一个名为“RemoteApp Tool”的黑客工具可以在Windows Pro版本中启用RemoteApp支持。


在 Windows 11 上运行得非常完美。我还同时使用了 "RDP Wrapper"。 - paul-2011
这是托管在GitHub上的存储库的直接链接:https://github.com/kimmknight/remoteapptool - Sam Sirry

1

0

至少在2008R2上,如果帐户仅用于RDP而不用于本地登录,则可以按帐户设置此项。这对于瘦客户端应该有效。如果这些帐户也用于本地桌面,则这也会影响到这些登录。

在AD用户和计算机中,打开帐户属性并转到环境选项卡。在该选项卡上,勾选“在登录时启动以下程序”,并指定程序的路径和可执行文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接