如何从主机获取Parallels VM使用的IP地址?

时间:2013-07-27 10:54:28

标签: parallels

Parallels有一个命令行API,记录在案here

>prlctl list
UUID                                    STATUS       IP_ADDR         NAME
{ca50aac6-caa6-47a6-9bfe-e38f6261cb8d}  running      -               win7

尽管如此,即使机器正在运行,因为报告的IP_ADDR始终为空。

如何从客人那里找到机器的IP?我需要一种通过使用域名或IP连接到访客的方法。

3 个答案:

答案 0 :(得分:14)

如果是Windows VM,您可以使用以下命令从主机获取IP:

prlctl exec "VM Name" ipconfig | grep "IPv4" | grep -o '\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}'

对于* nix VM:

prlctl exec "VM Name" ifconfig eth1 | grep "inet " | grep -o 'addr:\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}' | grep -o '\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}'

答案 1 :(得分:10)

如果您想使用SSH访问该计算机,则可以使用内置命令来帮助解决此问题。

prlctl enter <VM_ID|VM_NAME>

这将以root身份向VM打开提示 如果您因任何其他原因想要IP,还有另一种方法可以获得它

prlctl exec <VM_ID|VM_NAME> ifconfig

来自exec的{​​{1}}命令将在主机linux机器上执行prlctl命令(如果使用windows ifconfig而不是ipconfig

ifconfig的所有输出都将打印在您的终端上,输出中的ip将清晰可见

答案 2 :(得分:0)

我今天偶然发现了这个问题,发现list命令显示一个IP_ADDR却没有显示IP令人怀疑。我检查了最新文档中的prlctl命令及其状态:

  

-f,--full

     

显示正在运行的虚拟机的真实IP地址。

提供此标志将显示我的IP地址

prlctl list -f