Byt*_*der 9 kvm launcher virt-manager
我virt-manager
用于 Qemu/KVM 虚拟机。引导 VM 当前意味着启动virt-manager
、选择 VM 以在 VM 查看器中打开它,然后最后打开 VM。
我想为其添加一个启动器上下文菜单选项,以直接打开 VM 查看器窗口并启动 VM。
复制和编辑virt-manager.desktop
文件以添加上下文菜单操作没有问题,但我不知道一个合适的命令来使virt-manager
行为如我所愿。我怎样才能做到这一点?
小智 6
使用 virt-manager 找到“Libvirt URI”(选择虚拟机,Edit -> Connection Details
),然后是虚拟机的名称(选择虚拟机,Edit -> Virtual Machine Details
-如果你打开了机器,你必须确保它没有最大化,然后View -> Details
,完成后返回控制台。)
然后使用(不要输入前导 $)
$ virt-manager --connect <<URI>> --show-domain-console <<NAME>>
URI 和名称是您从上面获得它们的地方。例如,我的看起来像:
$ virt-manager --connect qemu:///system --show-domain-console win7
从命令行运行它。如果可行,您应该能够将其放入一个简单的脚本中
$ cat > ~/bin/run-vm
#!/bin/bash
virt-manager --connect qemu:///system --show-domain-console win7
^D
Run Code Online (Sandbox Code Playgroud)
(其中 ^D 是控制 + D)。
$ chmod u+x ~/bin/run-vm
Run Code Online (Sandbox Code Playgroud)
然后,您应该能够将此命令添加到您的菜单中 - 例如参见Unix 和 Linux Stackoverflow 站点上的答案。
您也可以将命令直接添加到带有参数的菜单中,但通常将命令作为脚本在命令行中运行更容易调试问题。
我写了一个小脚本“~/scripts/StartVirtDomain.sh”
#!/bin/sh
# call this script with domainname as parameter
# to start domain and open viewer
/usr/bin/virsh start $1 # domain must be known to virsh
/usr/bin/virt-viewer -w $1 # -w to wait until domain is running.
Run Code Online (Sandbox Code Playgroud)
virt-viewer 应与 virt-manager 一起安装;如果不,sudo apt-get install virt-viewer
。
您可以使用域名作为参数来调用它。它将启动域(如果尚未启动),然后启动 virt-viewer 来连接该域。
示例桌面文件 (W7Pro.desktop)
[Desktop Entry]
Version=1.0
Type=Application
Name=W7Pro
Comment=Start Windows VM
Exec=~/scripts/StartVirtDomain.sh Win7Pro
Icon=
Path=~/scripts
Terminal=false
StartupNotify=false
Run Code Online (Sandbox Code Playgroud)
完成了工作(域名是Win7Pro)。脚本中没有错误处理;如果需要的话你可以添加一些。特别是,如果 virsh 不知道该域或无法启动,virt-viewer 可能会永远等待。
编辑:
如果你确实需要 virt-manager 的控制台窗口,只需这样调用即可
virt-manager --connect=<URI> --show-domain-console <domain>
Run Code Online (Sandbox Code Playgroud)
例如在我的脚本中这将是
/usr/bin/virt-manager --connect=qemu:///system --show-domain-console $1
Run Code Online (Sandbox Code Playgroud)
通过选择相应的连接(例如 QEMU/KVM),然后使用上下文菜单中的“详细信息”,可以在 virt-manager 主窗口中找到连接 URI。
您甚至可以删除调用 virsh 的行,因为域可以从 virt-manager 控制台启动。
归档时间: |
|
查看次数: |
8508 次 |
最近记录: |