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

如何从主机获取Parallels VM使用的IP地址?,parallels,Parallels,Parallels有一个有文档记录的命令行API 尽管如此,即使这样,报告的IP_ADDR也始终为空,即使机器以internet连接的方式运行 如何从来宾处找到机器的IP?我需要一种使用域名或IP连接到来宾的方法。如果您想使用SSH访问机器,有一个内置命令可以帮助您实现这一点 prlctl输入 这将以root用户身份向VM打开提示 如果您出于任何其他原因想要IP,还有另一种方法可以获得它 prlctl exec ifconfig 来自prlctl的exec命令将在linux主机上执行ifconf

Parallels有一个有文档记录的命令行API

尽管如此,即使这样,报告的IP_ADDR也始终为空,即使机器以internet连接的方式运行


如何从来宾处找到机器的IP?我需要一种使用域名或IP连接到来宾的方法。

如果您想使用SSH访问机器,有一个内置命令可以帮助您实现这一点

prlctl输入

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

prlctl exec ifconfig

来自
prlctl
exec
命令将在linux主机上执行
ifconfig
命令(如果使用windows do
ipconfig
而不是
ifconfig


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

如果是Windows虚拟机,您可以通过以下命令从主机获取ip:

prlctl exec "VM Name" ipconfig | grep "IPv4" | grep -o '\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}'
对于*nix虚拟机:

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\}'

我今天偶然发现了这一点,并发现
list
命令显示的是
IP\u ADDR
,而不是IP。我检查了最近的文档中的
prlctl
命令及其状态:

-f、 --满的

显示运行虚拟机的实际IP地址

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


prlctl list-f

对SSH使用“回车”绝对是一个不错的选择。谢谢我已经找了好几天了。非常感谢。这个答案应该以“如果客户机上安装了Parallels工具…”开头,“enter”和“exec”命令仅适用于安装了工具的客户机。另外,“prlctl enter”不是SSH。它似乎直接连接到控制台,甚至通过parallels自己的协议绕过身份验证。这里举个例子:
prlctl exec'Windows 10'ipconfig | grep IP
,其中“Windows 10”是我的Windows虚拟机的名称,如
prlctl list
所示。这个答案应该从“如果来宾计算机上安装了Parallels工具…”exec“命令只适用于安装了工具的来宾。哇,有了它,我甚至不需要知道远程ssh到VM的ip地址,因为我可以直接运行命令-如果ssh/telnet连接被拒绝,这是一件好事。太好了。现在,为了弄清楚为什么它有一个默认地址,这表明它没有正确使用DHCP…这是我运行脚本时收到的消息:“该命令仅在Parallels Desktop for Mac Pro或Business Edition中可用。”不幸的是,
prlctl
现在是一个只支持专业人士的功能…@LarsBilke这意味着有更多的理由放弃VirtualBox的并行功能,即使它显然不那么酷,但对于9/10用户来说显然更合适。
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\}'