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

使用这个ubuntu作为服务器,我希望我也能通过ssh运行QEMU。我知道可以通过ssh运行bochs,但是用QEMU也可以吗?
我假设一定有一种方法可以将qemu作为命令行界面运行(就像bochs一样)。

实际上,以下是在pintos脚本中运行qemu的脚本。我假设pintos应该在ssh上使用$vga eq 'none‘运行,但似乎不是。
# 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);
}任何帮助都将不胜感激。
发布于 2016-01-26 02:58:46
我找到了解决我自己问题的办法。不管$vga变量是什么,你只需要给-nographic选项。$vga变量可以是“none”、“terminal”或“window”之一。因此可以将push (@cmd, '-nographic') if $vga eq 'window';添加到pintos perl脚本中。
我仍然想知道他们是如何确定我是否在终端上运行的,以及为什么他们会弄错。如果你有什么想法,请告诉我。
https://stackoverflow.com/questions/34999678
复制相似问题