首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在带有ssh的ubuntu QEMU上运行pintos,因为它“无法初始化SDL (没有可用的视频设备)”

无法在带有ssh的ubuntu QEMU上运行pintos,因为它“无法初始化SDL (没有可用的视频设备)”
EN

Stack Overflow用户
提问于 2016-01-26 02:28:35
回答 1查看 870关注 0票数 0

我已经设置在我自己的ubuntu桌面14.04上运行pintos。现在,它可以在桌面上完美运行,如下图所示。

使用这个ubuntu作为服务器,我希望我也能通过ssh运行QEMU。我知道可以通过ssh运行bochs,但是用QEMU也可以吗?

我假设一定有一种方法可以将qemu作为命令行界面运行(就像bochs一样)。

实际上,以下是在pintos脚本中运行qemu的脚本。我假设pintos应该在ssh上使用$vga eq 'none‘运行,但似乎不是。

代码语言:javascript
复制
# Runs QEMU.
sub run_qemu {
    print "warning: qemu doesn't support --terminal\n"
      if $vga eq 'terminal';
    print "warning: qemu doesn't support jitter\n"
      if defined $jitter;
    my (@cmd) = ('qemu');
    for my $iface (0...3) {
    my ($option) = ('-hda', '-hdb', '-hdc', '-hdd')[$iface];
    push (@cmd, $option, $disks_by_iface[$iface]{FILE_NAME})
      if defined $disks_by_iface[$iface]{FILE_NAME};
    }
    push (@cmd, '-m', $mem);
    push (@cmd, '-net', 'none');
    push (@cmd, '-nographic') if $vga eq 'none';
    push (@cmd, '-serial', 'stdio') if $serial && $vga ne 'none';
    push (@cmd, '-S') if $debug eq 'monitor';
    push (@cmd, '-s', '-S') if $debug eq 'gdb';
    push (@cmd, '-monitor', 'null') if $vga eq 'none' && $debug eq 'none';
    run_command (@cmd);
}

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-01-26 02:58:46

我找到了解决我自己问题的办法。不管$vga变量是什么,你只需要给-nographic选项。$vga变量可以是“none”、“terminal”或“window”之一。因此可以将push (@cmd, '-nographic') if $vga eq 'window';添加到pintos perl脚本中。

我仍然想知道他们是如何确定我是否在终端上运行的,以及为什么他们会弄错。如果你有什么想法,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34999678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档