java开发中存在部分场景需要通过java进行远程连接windows主机。
1.下载源码:
官网地址:/projects/properjavardp/files/properjavardp/1.1/
只需要下载以下4个jar包:
properJavaRDP-1.1.jar
下载地址:properJavaRDP-1.1.jar
properJavaRDP14-1.1.jar
下载地址:properJavaRDP14-1.1.jar
java-getopt-1.0.14.jar
下载地址:java-getopt-1.0.14.jar
log4j-java1.1.jar
下载地址:log4j-java1.1.jar
备注:在连接部分windows版本主机时,可能会出现以下问题:
Wrong modulus size! Expected 64+8got:264!
官方已经给出了解决方案:将jar包中原有的Secure.class替换成官方提供的新的补丁包,以下是官方补丁包的下载链接:
/p/properjavardp/patches/1/
但官方提供的是.java文件,因此我们仅需将.java文件转成.class文件。
2.新建项目:
新建一个普通java项目,并添加properJava依赖jar包。
3.添加启动类:
这里我使用的是idea。
①选择Edit Configurations…对启动类进行配置
②完成设置后,点击ok保存设置。
官方也给出了相应参数的解释如下:
链接:/
用法:java net.propero.rdp.Rdesktop [options] server[:port]示例:java net.propero.rdp.Rdesktop -g 800x600 -l WARN appserver选项:-b节省带宽(适用于56k调制解调器,但延迟更高)。此选项取消设置TCP“无延迟”标志。-d您要连接的Windows域-F全屏显示窗口(需要Java 1.4才能正常运行)-g WIDTHxHEIGHT桌面大小(以像素为单位)-k终端服务器上的键盘布局(例如,en-us)-l {调试,信息,警告,错误,致命}调试输出量(也称为日志记录级别)-lclog4j配置文件的路径-n覆盖客户端计算机的名称-u连接的用户名-p上述用户的密码-s启动会话时启动的shell-t要连接的端口(例如,在使用SSH隧道时很有用)-T覆盖窗口标题调试选项:-调试键显示每次按键发送的扫描代码--debug-hex显示发送和接收的原始字节-无粘贴黑客禁用Ctrl +鼠标中键粘贴/键盘快捷键:Ctrl + Alt + End打开Windows NT安全对话框Alt + Page Up从左到右在窗口之间切换Alt + Page Down从右向左在Windows窗体之间切换Alt + Insert 循环浏览最近使用过的窗口Alt + Home 显示开始菜单Alt + Del 显示弹出上下文菜单Ctrl + Alt + Minus拍摄活动窗口的快照Ctrl + Alt + Plus快速浏览整个屏幕Ctrl + Middle Button(粘贴hack)从本地剪贴板粘贴到远程会话中注:不支持从远程会话的剪贴板粘贴到本地桌面中
4.登录远程
启动项目后,输入远程登录的账号密码,则可成功登录到远程windows主机