远程运行 qemu(通过 ssh)

Posted

技术标签:

【中文标题】远程运行 qemu(通过 ssh)【英文标题】:Running qemu remotely (via ssh) 【发布时间】:2014-05-22 23:20:25 【问题描述】:

我有一台正在试验的服务器,有时我想在家工作,所以我安装了“ssh daemon”(即“sshd”),我可以通过 ssh 连接到服务器。这工作正常。但是当我尝试使用 'qemu' 在服务器上运行虚拟机时,我收到以下错误 Could not initialize SDL(No available video device) - exiting

是否可以通过 ssh 连接运行 qemu?

注意,我不想看到我正在启动的虚拟机的可视界面。我只想跑。

【问题讨论】:

【参考方案1】:

试试qemu -cursesqemu -nographic 绕过 SDL

【讨论】:

怎么退出curses界面? @k4rtik 如果是-curses:Alt-1 打开 qemu 监视器,然后键入“quit”,然后返回。如果是-nographic:按 ctrl-a 后跟 x 退出(或 h 寻求帮助)。【参考方案2】:

解决此问题的最佳方法是将-X 添加到您的 ssh 参数中。

例如ssh -X user@server

这将允许 QEMU 创建的窗口通过 SSH X 转发给您。不管你想不想查看窗口,如果QEMU不能打开它,它会认为这是一个致命错误,你会得到你描述的错误。

【讨论】:

这个解决方案帮助了我。我在 AWS 的 EC2 上使用 ubuntu 16.04。【参考方案3】:

您可以禁用显卡:

qemu -vga none (...options...)

您还可以将屏幕通过管道传输到 VNC 而不是 SDL - 以下将在端口 5901 上提供 VNC 服务器:

qemu -vnc :1 (...options...)

【讨论】:

-vnc :1 是我的解决方案(不需要-curses 也不需要-nographic)。稍后与vncviewer QEMU_SERVER_IP:5901 (tigervnc) 连接【参考方案4】:

qemu-system-i386 -curses 就像魅力一样..

要退出,请使用ESC + 2,然后使用q + ENTER

【讨论】:

【参考方案5】:

我也有这个问题。 我认为按位无法像 qemu 那样打开新的终端窗口。 您可以在终端中编写 make clean qemu-nox,而不是仅仅 make clean qemu,它会在同一个窗口中启动它。 这对我有用

【讨论】:

以上是关于远程运行 qemu(通过 ssh)的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 SSH 远程自动运行命令到并行的多个服务器?

通过 ssh 连接到远程并使用 expect 运行 git 命令

在远程服务器上通过ssh运行sudo

从 Jenkins 管道运行脚本时,如何通过 ssh 在远程 AIX 机器中加载环境变量?

通过 ssh 在远程服务器上执行命令

有没有办法让我的笔记本电脑通过 SSH 从远程服务器上运行的 bash 脚本中发出哔哔声?