hiroの長い冒険日記

主にコンピュータ周辺の興味を持った内容を綴ります

qemu (kvm) に Ubuntu 18.04 minimal install その2

前回は、qemu (kvm) に Ubuntu 18.04 を minimal install し起動、Window Manager を入れ、中身を少し調べた所まで進めた。
hiro20180901.hatenablog.com
cut & paste が出来ない、network の設定がよく分からない状態なので、順次調査、設定してみた。

qemu 画面表示方法の変更 (std -> qxl)

ArchLinux の文章は良い物が多い。
qemu の項目:
wiki.archlinux.jp
「7. グラフィック」の項に、qemu で使用できる graphic の種類が書かれている。通常は std だが、qxl だと体感が速くなった。ついでに CPU 2個に変更した。

$ kvm -vga qxl -hda ./qemu_image/ubuntu_test_minimal -m 2048 -smp 2 &

Cut & Paste (SPICE, spicy)

graphic を qxl に変更して、SPICE を組み合わせると cut & paste が可能になった。kvm (qemu wrapper) で起動しただけでは画面表示しない。vnc のようにclient で接続して見えるようになる。今回は gtk base の spicy を使用した。
Host(debian):

$ kvm -vga qxl -spice port=5930,disable-ticketing -device virtio-serial-pci -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent -hda ./qemu_image/ubuntu_test_minimal -m 2048 -smp 2 &
$ sudo apt install spice-client-gtk
$ spicy -h 127.0.0.1 -p 5930

Guest(Ubuntu):

$ sudo apt install spice-vdagent

前回、guest に spice-vdagent を入れたが、これだけでは有効にならなかった。qemu (kvm) の起動 option を変更し、起動すれば Cut & Paste が使えるようになった。

spicy の解像度、表示修正

spicy で起動した直後は、文字が小さくて読みにくかった。解像度と画面表示が合っていない。

起動 option にはそのような項目はない。起動した後の window に menu があり、option の

  • Resize guest to match window size
  • Scale display

この2つのチェックを外したら、等倍で表示されるようになった。後は、guest 側の解像度を指定すれば良い。

spicy はちょっと不安定。qemu を起動し、spicy で接続すると、login 画面で password を入れた直後に落ちる事がある。もう一度繋ぐと login された状態で接続できる。それ以降は問題は出ない。様子を見てみる。

qemu monitor

satoru739.hatenadiary.com
port 指定で telnet するか、stdio を指定すれば起動した端末に prompt が表示される。

$ kvm -vga qxl -spice port=5930,disable-ticketing -device virtio-serial-pci -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 -chardev spicevmc,id=spicechannel0,name=vdagent -hda ./qemu_image/ubuntu_test_minimal -m 2048 -smp 2 -monitor stdio
QEMU 2.8.1 monitor - type 'help' for more information
(qemu) info kvm
kvm support: enabled

quit すると仮想マシンが終了するので注意。info で様々な情報が表示できる他、qemu の設定を変更する事も出来る...模様。

network

wiki.archlinux.jp
「6 ネットワーク」の項に記載がある。
初期状態では「ユーザーモードネットワーク」になっていて、qemu 内部で dhcp で private address (10.0.2.15) を受け取り、IP Masquerade (Wikpedia) で address 変換されて Host 側の network に接続された状態になっている。

TCPUDP プロトコルでしか動作しないので、ping を含む ICMP は動作しません。

どおりで traceroute しても通らない訳だ。Host 側から Guest 側へも接続できない。

これだと不便なので、なんとなくオススメされている virtio を試してみる。network だけではなく、storage にも使える模様。今回はここまで。