像每个人和他们的狗一样,我正在运行Windows VM以在Linux装备上进行游戏。
现在,我想共享键盘和鼠标,因此我制作了两个脚本,我们称它们为Attach_usb.sh和detach_usb.sh。它们都可以按预期工作,即使通过plink控制台调用到主机(如此远程)时也是如此。 detach_usb.sh使用以下命令:
#!/bin/bash
virsh detach-device winVM --file /home/user/mouse.xml> --current
在通过腻子或plink控制台执行时有效。
现在,我在Windows guest虚拟机上有一个bat文件,当我想切换回主机时,该文件会调用detach_usb.sh。
.bat文件的内容
plink.exe -batch user@1.2.3.4 -i "privatekey.ppk" /home/user/detach_usb.sh
执行此操作会产生以下错误:
error: failed to get domain 'winVM'
这是virsh生成的错误。
仅运行:
plink.exe -batch user@1.2.3.4 -i "privatekey.ppk"
通过执行.bat文件,它会打开一个控制台,然后手动执行/home/user/detach_usb.sh可以正常工作。
我以前从未使用过这种组合,而且我对为什么键入命令并按Enter时该命令起作用的原因感到困惑,但是当我通过批处理文件调用相同的.sh时却给出了以上错误。
我尝试在plink中使用-m选项,仅将命令保存在Windows guest虚拟机上的.txt文件中,但这会产生相同的错误。
不知道我在想什么。一定很傻,但是我没看到。