前回は、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 に接続された状態になっている。
どおりで traceroute しても通らない訳だ。Host 側から Guest 側へも接続できない。
これだと不便なので、なんとなくオススメされている virtio を試してみる。network だけではなく、storage にも使える模様。今回はここまで。