xfreerdp详解

发布时间:2023-05-18

一、xfreerdp参数

xfreerdp作为一款命令行远程桌面客户端,使用参数可以灵活掌控其行为。以下是常用的参数:

/h <hostname>             远程主机名或IP地址
/u:<username>             用户名
/p:<password>             密码
/domain:<domain>          域名
/authonly                 认证但不连接远程桌面
/v:<desktop>              连接到指定桌面,替代默认连接

其中,参数/h/u/p常用于用户和密码认证,参数/domain常用于连接特定域名下的远程桌面机器。参数/authonly可用于认证检查,在确认能够通过认证后再实际连接远程桌面,避免了浪费时间和资源。

二、xfreerdp分辨率

远程桌面连接支持调整屏幕分辨率,目前xfreerdp支持的分辨率格式有:

/W:<width>                宽度
/H:<height>               高度

仅使用参数/W/H只会改变宽度或高度。如果需要同时调整宽度和高度,则需要用到两个参数。例如/W:1280 /H:768

三、xfreerdp画面卡

对于一些硬件性能较弱的终端设备,远程连接可能会出现卡顿的情况。此时,可以通过调整画面参数来解决。xfreerdp支持如下参数:

/bitmap-cache:<enable|disable>       启用或禁用位图缓存
/desktop-composition:<enable|disable> 启用或禁用桌面组合
/async-update                        启用异步更新

其中,参数/bitmap-cache用于启用或禁用位图缓存,这个缓存能够减少网络通信,提高更新速度。参数/desktop-composition用于启用或禁用桌面组合,这个组合也是需要终端硬件支持,但是能够显著提升图片更新速度。参数/async-update则用于启用异步更新,即服务器更新图片时不会阻塞客户端。

四、xfreerdp退出全屏

如果xfreerdp处于全屏状态,需要使用快捷键Ctrl+Alt+Enter实现退出操作。除此之外,也可以使用xfreerdp支持的参数来进行控制。

/control:<code>                  Ctrl+code

其中,参数/control可以执行需要Ctrl按键辅助的操作,包括退出全屏、复制内容等。使用方法比较简单,例如使用/control:Break退出全屏。

五、xfreerdp详细用法

作为一款命令行工具,使用文档比较重要。下面是一些常见的使用说明:

  1. 远程连接到指定IP:
    xfreerdp /u:<user> /p:<password> /v:<ip>
    
  2. 启用位图缓存:
    xfreerdp /bitmap-cache:enable /u:<user> /p:<password> /v:<ip>
    
  3. 退出全屏:
    xfreerdp /control:Break /u:<user> /p:<password> /v:<ip>
    

六、xfreerdp调用Windows脚本

为了方便控制远程桌面,可以利用脚本实现复杂操作。下面是一个例子,使用Windows批处理打印当前时间并退出远程桌面:

@echo off
echo 当前时间:%time%
exit

将上述代码保存为1.bat文件,使用xfreerdp执行以下命令:

xfreerdp /u:<user> /p:<password> /v:<ip> +auto-reconnect +home-drive +fonts +clipboard /app:"||1.bat"

其中,/app:参数用于指定执行的程序,+auto-reconnect表示断开连接不退出程序,+home-drive表示共享家目录,+fonts表示共享字库,+clipboard表示共享剪贴板。

七、xfreerdp远程执行Windows脚本

有时候需要在远程桌面中执行脚本,而不是本地执行。可以使用xfreerdp/p参数结合PowerShell来实现:

xfreerdp /u:<user> /p:<password> /v:<ip> /app:"powershell.exe -NoExit -Command Invoke-WebRequest -UseBasicParsing -Uri http://download.server/script.ps1 -OutFile c:\script.ps1"

此命令会从http://download.server/script.ps1下载脚本文件到远程桌面的C:盘,使用PowerShell在远程桌面中执行该脚本。