0

自分のubuntuデスクトップ14.04でpintosを実行するように設定しました。今のところ、下の画像に示すように、デスクトップ上で完全に実行されます。

ubuntuデスクトップで動作するqemu

このubuntuをサーバーとしても使って、QEMUもssh経由で動かせたらいいなと思っています。ssh経由でbochsを実行できることは知っていますが、QEMUでも実行できますか?

qemu をコマンド ライン インターフェイス (bochs など) として実行する方法が必要だと思います。

qemu が ssh 端末で動作しない

実際、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);
}

どんな助けでも大歓迎です。

4

1 に答える 1

0

私は自分の問題の解決策を見つけました。$vga 変数が何であれ、 -nographic オプションを指定するだけです。$vga 変数は、'none'、'terminal'、'window' のいずれかです。push (@cmd, '-nographic') if $vga eq 'window';したがって、pintos perl スクリプトに追加できます。

私が端末で実行しているかどうかを彼らがどのように判断するのか、そしてなぜ彼らがそれを間違えるのか、私はまだ疑問に思っています. ご意見がありましたらお知らせください。

于 2016-01-25T18:58:45.630 に答える