そういう訳で,次は巷で人気らしいManjaroを試してみます.最初は,AMD64 (x86_64)の仮想マシンとして仕立てて,MOZCが使えるか試してみます.
それでOKとなれば,今度はRaspberry Pi 4 Model BにARM64 (aarch64)版をインストールしてみます.
横断歩道での一時停止は善意ではなく義務 (Powered by WordPress)
そういう訳で,次は巷で人気らしいManjaroを試してみます.最初は,AMD64 (x86_64)の仮想マシンとして仕立てて,MOZCが使えるか試してみます.
それでOKとなれば,今度はRaspberry Pi 4 Model BにARM64 (aarch64)版をインストールしてみます.
libvirt(d)のドキュメントなどを少し読んでます.
もともとlibvirtdは,1つのデーモンで何でもこなすようになっていたようですが,最近では,機能別にモジュール化したデーモンを使う方向に移行しているそうです.
QEMUをhypervisorとするときの担当daemonは,virtqemudだということです.Gentoo(AMD64)の/usr/sbinを覗くと,
ls -l /usr/sbin/virt* -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtinterfaced -rwxr-xr-x 1 root root 81272 Feb 7 09:09 /usr/sbin/virtlockd -rwxr-xr-x 1 root root 81080 Feb 7 09:09 /usr/sbin/virtlogd -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtnetworkd -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtnodedevd -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtnwfilterd -rwxr-xr-x 1 root root 486616 Feb 7 09:09 /usr/sbin/virtproxyd -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtqemud -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtsecretd -rwxr-xr-x 1 root root 482520 Feb 7 09:09 /usr/sbin/virtstoraged
てな具合です.一方,macOSでは,
ls -l /opt/local/sbin/virt*
-rwxr-xr-x 1 root admin 79152 8 4 2020 /opt/local/sbin/virtlockd
-rwxr-xr-x 1 root admin 80424 8 4 2020 /opt/local/sbin/virtlogd
-rwxr-xr-x 1 root admin 439400 8 4 2020 /opt/local/sbin/virtproxyd
-rwxr-xr-x 1 root admin 434832 8 4 2020 /opt/local/sbin/virtsecretd
-rwxr-xr-x 1 root admin 434832 8 4 2020 /opt/local/sbin/virtstoraged
-rwxr-xr-x 1 root admin 434832 8 4 2020 /opt/local/sbin/virtvboxd
です.virtqemudやvirtnetworkdなどがありません.当然,同時にbuildされた,monolithicなlibvirtdにも,virtqemudなどの機能は含まれていないと想像できます.
macOSで,KVMが機能しないのは解りますが,QEMUも動かないんでしょうか.かつて,Qという,QEMUのアプリがありましたからそうではないと思います.が,MacPortsの中身がさっぱり解らないので,お手上げです.
ちなみに,VirtualBoxで動くGentooは,あいかわらずSegfault乱発で,まともに動いてくれないので,削除しました.
MacPortsもなんにも知らないで使ってきたのですが,GentooのUSEflagに似たような,Variantというのがあるのを知りました.
MacPortsでは,理由は知りませんが,Apple謹製のXQuartzに変えて,MacPortsによるXorgの移植品を使う方向に切り替えつつあるようです(当社調べ).
で,どうも,Virt-Managerに関連したソフトの一つが,もはやXQuartzをサポートせず,Xorgのみに対応しているようです.そこで,
/opt/local/etc/macports/variants.conf
に,なんやかんや書くようなのですが,どうしたわけか,記憶と実態とが違っているので,中身を掲載するのはやめます(あとで,はっきり理由がわかったら掲載します).
で,なんやかんや書いて,virt-managerまでbuildできて動くのですが,libvirtdを動かしているにもかかわらず,virt-managerで接続しようとしても,繋がりません.
macOSで,virsh uriをroot権限で実行すると,
virsh uri
error: failed to connect to the hypervisor
error: internal error: Failed to create vbox driver object.
という具合にエラーになります.Gentooの実マシンで同様にvirsh uriを実行すると,
virsh uri
qemu:///system
と,教科書通りに出ます.
virsh -Vは,macOSでは,
virsh -V
Virsh command line tool of libvirt 6.6.0
See web site at https://libvirt.org/
Compiled with support for:
Hypervisors: VMware VirtualBox ESX Test
Networking: Remote
Storage: Dir
Miscellaneous: Daemon Secrets Debug Readline
となり,一方Gentooの実マシンは,
virsh -V
Virsh command line tool of libvirt 6.8.0
See web site at https://libvirt.org/
Compiled with support for:
Hypervisors: QEMU/KVM VMware ESX Test
Networking: Remote Network Bridging Interface udev Nwfilter VirtualPort
Storage: Dir Filesystem SCSI
Miscellaneous: Daemon Nodedev Secrets Debug Readline
大きな違いは,MacPort (macOS)のほうは,HypervisorsにQEMUが含まれていないことでしょう.
これが,virsh uriでエラーになり,virt-managerが接続できない原因でしょう.
さて,どうしていいか,さっぱりわからない😥
具体的には,virt-mangerを英語で走らせたいのです.
そもそも,コンピューターであれスマホであれ,アプリケーションのメニューやダイアログは英語で表示してほしいと常々感じています.英語版のMac OS 7に,GomTalkを使って日本語化して使った快適さが忘れられません.
日本語は必要だけど,それは,日本語のドキュメントが読み書きできる環境のみで十分です.十分というか私にとってはむしろ必要十分条件です.
特に,トラブったときに,日本語のエラーメッセージが吐き出されても,なかなか解決のいとぐちにたどり着けません.
で,今取り組んでいるMacPortsのQEMU/virt-mangerの取り組みのリファレンス用に,Gentooで走っているvirt-managerをpureな英語環境で走らせたいのですが,日本語リソースを組み込んだまま完全な英語環境で走らせるのはGentoo初心者にはなかなかハードルが高くて,それならいっそ日本語なしのアプリを構築してしまえと,調べること数時間😥,ようやくわかりました.
lightdm, libvirtとvirt-mangerに,-linguas_ja というUSEflagを設定してbuildし直すことでできたようです.これも,Gentooの習熟者には簡単なことなのでしょうけど,見つけ出すのに苦労しました.それで,今後も同じことで悩むでしょうから書いてます.
System wideに-linguas_jaというわけには行かないので,/etc/portage/package.useの中に,アプリを指定してフラグを立てました.
仮想マシンのほうがなかなからちがあきません.まともに動くのがありません.
仮想マシン自体の動作には全く問題がありませんが,Virt-mangerのバグのため,スナップショットのマネージメントができません.
画面の解像度が800×600でしか動きません.
CPUの温度が上がったり,全く原因不明だったりしますが,segmentation fault (segfault)が頻発して,使い物になりません.
そこで考えたのですが,macOSでQEMU,libvirt,Virt-Mangerをインストールできないかということです.利用しているMacPortsには,一通りそろっています.
QEMUとlibvirtは問題なくintallできましたが,Virt-mangerはNGです.バグのようです.
virt-manager @2.2.1_3+x11 Configure error – build failure: “gtksourceview4 must be installed with +x11 and without +quartz”
このバグか解消されるのを気長に待ちましょう.