演示:
在Linux上远程登录winodws,运行java程序。
实验环境:
主机:win7x64 + WMare9.0
两台在WMare9.0上的虚拟机。
虚拟机A:初始安装的win7x64
虚拟机B:ubuntu-13.04-desktop-amd64
注意:
虚拟机A与虚拟机B需要以桥接的方式接在主机上。
(更多虚拟机链接方式见:http://www.slyar.com/blog/vmware-bridged-nat-hostonly.html)
虚拟机部署好之后,IP分配如下(实际情况可能不同):
主机IP:192.168.1.100
虚拟机A:192.168.1.105
虚拟机B:192.168.1.106
windows虚拟机A上配置环境:
1,安装telnet客户端和服务器端。
win7出于安全性考虑,默认是关闭了telnet的。所以需要手动打开。
控制面板>>程序>>打开或关闭windows应用程序,勾选telnet客户端和服务器。
2,配置telnet用户权限
可以选择新建一个帐户做为telent的帐号。
在这里我就是用管理员来配置权限。
win+R>>输入compmgmt.msc>>调用计算机管理>>进入本地用户和组>>组
选中TelnetClients>>添加到组>>添加>>高级>>立即查找>>先中Administrator点击确定。
3,打开Telnet服务。
默认安装好Telnet服务后,telnet服务是关闭的。需要手动的打开。
win+R>>输入services.msc>>找到Telnet>>调整到自动>>启动>>确定。
4,测试是否安装成功
在主机上,打开命令行,输入telnet [虚拟机A的IP]。
安提示输入帐号,密码。正常,登录成功后会显示下面第四张图。
就算是测试成功了。
windows虚拟机A上的准备工作
1,写一个简单的Hello world放桌面上。(之前需要安装jdk,配置java环境变量)
2,试下能不能运行。
虚拟机B不需要准备工作,直接进入正题。
1,打开终端启动telnet命令,输入帐号,密码。
2,进入虚拟机桌面目录
3,编译Demo.java
4,运行Demo
直接看图:
由于字符集问题,出现了乱码。
cd :进入目录
dir:列出当前目录的文件
终端上正常显示了Demo的输出,调用成功。
总结:
1,原理上就是它们共同遵循telnet协议,有共同语言,可以相与沟通。
2,虚拟机是独立,平等的,但它们都是有着很多权限控制。
3,这个是演示,可以根据实际工作中的复杂程度,用python写一个脚本,完成相应的工作。
(python封装了一个telnet类,直接登录telnet。详见https://docs.python.org/2/library/telnetlib.html)
4,这种基础功能,有很多高效的工具可以替代。可能蕴藏在某个你未发现的角落。