FreeRDP是一个远程桌面协议(RDP)的实现,开源免费软件,在Apache许可下发布。要在MacOS系统下安装使用还是有些特别需要注意的地方,记录一下在Mac系统的安装具体步骤方便遇到类似问题的开发者进行参考。
Section1.安装openssl并配置环境变量
如果没有安装openssl请打开 terminal
或 item2
(以下统称终端)执行以下brew命令安装:
配置openssl库包配置路径环境变量
编辑 ~/.bashrc
或 ~/.zshrc
配置文件,导出PKG_CONFIG_PATH
环境变量,具体如下:
1
|
export PKG_CONFIG_PATH=$(brew --prefix)/opt/openssl/lib/pkgconfig
|
保存之后要记得source一下配置文件,否则在当前终端下不生效:
1
|
$ source ~/.bashrc // 或 source ~/.zshrc
|
Section2.安装X11及配置环境变量
在终端下执行如下命令,安装xquartz(X11):
设置X11的环境变量
在/tmp/com.apple.launchd.XXXXX目录下找到包含 org.xquartz:0
文件的具体路径。
1
2
|
$ ls /tmp/com.apple.launchd.7M2pVCoBMU/org.xquartz:0
/tmp/com.apple.launchd.7M2pVCoBMU/org.xquartz:0
|
将这个路径添加到 ~/.bashrc
或 ~/.zshrc
配置文件,具体如下:
1
|
export DISPLAY=/private/tmp/com.apple.launchd.7M2pVCoBMU/org.xquartz:0
|
保存之后记得source
一下,不然在当前终端下不生效。
1
|
$ source ~/.bashrc // 或 source ~/.zshrc
|
Section3.安装FreeRDP
FreeRDP项目网址为https://www.freerdp.com/,请点击链接打开项目官网。
打开后直接点击 Download Now!
进入下载页面,可以看到MacOS下安装FreeRDP,官方推荐使用 brew
进行安装,在终端下执行如下命令安装:
连接远程桌面
成功安装freerdp工具后可以在终端下通过命令连接到远程Windows桌面。注意:Windows系统必须要打开允许远程协助功能,也可是开启3389端口,否则连接不成功!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
$ xfreerdp /v:192.168.1.3:3389 /w:1520 /h:820 /u:PC +wallpaper /sec-rdp /sound +glyph-cache
[12:18:45:473] [83501:0e2fc000] [INFO][com.freerdp.core] - freerdp_connect:freerdp_set_last_error_ex resetting error state
[12:18:45:473] [83501:0e2fc000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[12:18:45:473] [83501:0e2fc000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[12:18:45:473] [83501:0e2fc000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[12:18:45:473] [83501:0e2fc000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx drdynvc
[12:18:45:492] [83501:0e2fc000] [INFO][com.freerdp.client.x11] - Property 352 does not exist
[12:18:45:828] [83501:0e2fc000] [INFO][com.freerdp.primitives] - primitives autodetect, using optimized
[12:18:45:833] [83501:0e2fc000] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[12:18:45:833] [83501:0e2fc000] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[12:18:45:920] [83501:0e2fc000] [WARN][com.freerdp.crypto] - Certificate verification failure 'self signed certificate (18)' at stack position 0
[12:18:45:920] [83501:0e2fc000] [WARN][com.freerdp.crypto] - CN = DESKTOP-6KIP342
Password:
[12:18:51:547] [83501:0e2fc000] [INFO][com.freerdp.gdi] - Local framebuffer format PIXEL_FORMAT_BGRX32
[12:18:51:547] [83501:0e2fc000] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_RGB16
[12:18:51:562] [83501:0e2fc000] [INFO][com.winpr.clipboard] - initialized POSIX local file subsystem
[12:18:51:751] [83501:0e2fc000] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded mac backend for rdpsnd
[12:18:51:751] [83501:0e2fc000] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpsnd
[12:18:52:415] [83501:0e9a3000] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded mac backend for rdpsnd
[12:18:57:626] [83501:0e2fc000] [INFO][com.freerdp.core] - rdp_set_error_info:freerdp_set_last_error_ex resetting error state
[12:18:57:689] [83501:0e9a3000] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded mac backend for rdpsnd
|
注意/size:"1520x820"
这个参数及值,它可以是这种方式设置本地桌面显示远程桌面的大小,还可以通过 /w:1520
或 /h:820
这种宽和高的方式指定。可以看到指定了一堆的参数,以下是这些具体的参数说明:
/v:IP:PORT
: 要连接的远程Windows电脑IP和端口号。
/size:"1520x820"
: 设置连接成功后展示的远程桌面的窗口大小。
/u:USERNAME
: 要连接到远程Windows电脑的用户名。
+wallpaper
: 使用远程桌面壁纸。
/sec-rdp
: 关闭RDP协议安全性。
/sound
: 指定远程连接成功后可以接收到音频输出。
+glyph-cache
: 开启Glyph缓存。
这些只是使用了一部分,更多FreeRDP命令行接口参数可以参考项目官方GithubWiki页面。
上面的启动过程也一并帖出来了,在加载到 Password:
时提示您输入远程Windows电脑的密码,输入密码后会启动 X11
并载入远程桌面:
这个时间你就可以远程操作连接到的Window系统了,它有很多功能,你可以去具体学习一下,如通过调用功能函数库实现不使用密码截图远程登录界面等等吧~
参考: