将多台计算机连接到Java中的一个大脑

问题描述:

我想知道哪些库或API在这方面会有用。我的目标是能够将命令输入到提示符中,然后指定哪台计算机(联网在一起的所有计算机)执行该命令。第二部分是我希望能够看到该命令执行和计算机上指定的结果。将多台计算机连接到Java中的一个大脑

例如,如果我输入“firefox www.google.com,desktop2”我希望能够看到在该计算机的显示器上打开的窗口。你明白我想做什么?任何帮助表示赞赏。

谢谢,莫菲

+1

*?“你明白我尝试做” * - 我是这样认为的,但我不明白为什么你认为它是做一个明智的做法。也许你一直在观看太多的SF电影? [顺便说 - 这是speffled睡眠:-)] – 2010-05-23 23:19:51

+0

我会问是否适合做这个编程。使用VNC,远程桌面或基于SSH的X远远好于哪个操作系统?特别是在安全性方面。 – Catchwa 2010-05-23 23:22:26

+0

我看了很多科幻电影,但没有什么不可能的。另外,我更喜欢口头禅,:)。嗯,我明白,VNC是更好的,但我不能整合一个人的VNC到一个更大的程序,我也不需要它那么复杂。 – Gabe 2010-05-23 23:51:32

我认为我这样做,但不是为什么。例如,现有的机制可以做到这一点。如果你有sshd的每个你的“多台计算机”的运行,你可以简单地说,从“控制”,运行:

ssh -X [email protected] firefox www.google.com 

,你会使用远程X转发火狐回本地桌面(实际上在桌面上执行2)。如果您想了解更多信息,请尝试man ssh以获取更多信息并在serverfault上询问。

如果你正在寻找能够实现这种想法的东西,那是另外一回事了,我会质疑Java是否是最好的方法(意见有所不同,但它不是“系统语言”)。同样,现有的解决方案也存在,例如用于Fedora等项目的构建系统(请参阅Koji)。

我的建议是研究大量现有的代码,只有当这不能解决您的问题,或者如果您想要一个挑战,写一些新的东西。

+0

我意识到有这样做的现有方法,但我正在研究这个特别是一个更大的项目的方式,这是它的一部分,谢谢你,我会在做任务时记住ssh。 :) – Gabe 2010-05-23 23:22:08

在Windows上,PSEXEC会做到这一点:

的命令行是

Usage: psexec [\\computer[,computer2[,...] | @file] 
       [-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]] 
       [-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,... ] 
       cmd [arguments] 

例如:

psexec \\computer2 -i firefox.exe www.google.com 

将在远程计算机上执行交互的Firefox。

见 - PSExec, Microsoft PStools

+0

可以把psexec组合成一个更大的java程序吗?你知道任何在Linux上都一样吗? – Gabe 2010-05-24 00:32:19

+0

我建议你在堆栈溢出的其他地方搜索,以了解如何在Java中执行shell命令(已经多次回答)。通过SSH进行X转发(即Ninefingers的答案)是你希望在Linux中完成的(理想情况下,使用证书而不是密码)。 – Catchwa 2010-05-24 02:49:37