はじめに
DEXCSは仮想マシンで使われることが多いので、これを想定して、仮想マシン用の拡張機能も予め簡単にセットアップできるようになっている。具体的にVirtualBox用には、VBoxGuestAdditionsのisoイメージを同梱してあり、DEXCSセットアップした後にVirtualBox専用の簡単スクリプトでこれをインストールする仕組みになっている。
ただVirtualBoxはかなり頻繁に更新が行われている、DEXCS2023に同梱したVBoxGuestAdditionsのバージョンは7.0.8であったが、DEXCS2023をリリースした時点でも既にVirtualBox本体は7.0.10に更新されていたという記憶であった。それでも特に問題なく動いていたと思われたのでそのまま(7.0.8の同梱で)リリースした。
しかしながら本執筆時点では、7.0.18となって、いよいよ不具合らしき症状も出てきた。また、VirtualBoxでの動作検証も、これまではWindowsマシンでの検証しかしてこなかったが、ここで改めてLinux(ubuntu22.04)、M1マックでの動作検証も実施したので、ここにとりまとめておく。
Table of Contents
Windowsの場合
VirtualBox最新版(7.0.18)で、新規にDEXCS2023をインストールした場合に、画面が乱れたり、カーソルの形がおかしくなってしまったり、との報告があった。結論から云うとVBoxGuestAdditionsをアップデートすれば良いだけの事であったが、仮想マシンそのものの構築にも手間取ったので、備忘録として記しておく。
仮想環境セットアップの問題点
DEXCSセットアップだけでは、画面サイズが変更できなく共有ファイルも使えないので、デスクトップ上のDEXCSフォルダを開いて、setupVBox.shをプログラムとして実行(下図)
すれば良いのだが、端末画面が現れて、パスワード入力の後、実行ログが表示されるが、下図の状態から、なかなか終了しない。
また、この画面の待ち状態で、以下のように画面が乱れたりする。
ここを待ちきれなくて仮想マシンそのものを再起動しても何とかなる場合もあるが、ここは待つことをお勧めしたい。筆者のノートパソコンでは、10分ほど待った後、自動的に再起動されることになった。但し、画面状態の乱れは変わらず、アイコンもおかしくなっていた(下図)。
上の図は、常時こうなっているというものではなく、マウスの位置や画面サイズを変更した時に現れるもので、画面の乱れはそれら(マウスや画面サイズ)の調整次第で収まってくれるので、このままでも使えないことはないが、やはり何とかしたい。
解決策
問題の根本原因は、VBoxGuestAdditionsのバージョンが合わないことにあるようで、解決策はこれをアップグレードするだけの事であった。
これも少々時間がかかるが(といっても数分)
上図のような状態になって、右側のタスク画面を閉じても、画面やマウスの状態に変化はないかもしれないが、仮想マシンを再起動すれば、正常な状態に戻るはずである。
例外
前々項(問題点)の説明で、同梱VBoxGuestAdditionsのインストール待ち時間が長くて、待ちきれずに仮想マシンを再起動しても立ち上がるとした。この場合、運が良ければ前項の解決策で画面やマウスカーソルの問題は解決される場合もあるようだが、そうでない場合もあり、後者の場合は最初からやり直すしかなさそうである。
運が良くて表示問題は解決されたとしても、共有フォルダの中身が見えないという状況になるのは必至である、しかし、これは解決可能である。端末を開いて、以下のコマンドを入力して、再起動すれば良い。
sudo gpasswd -a vboxsf
なお、ここで<user>の部分にはログインユーザー名を入れるということである。
新規作成トラブル
今回の検証作業では、新しく仮想マシンを作成しようとする際にVirtualBox本体の動作がフリーズしてしまい、タスクマネージャーを使って強制終了せざるを得ない状況によく陥った。具体的には、下図の「新規」ボタンを押して、
以下、マシン名、isoイメージディスク指定から、メモリー、ハードディスクの容量を指定した後に、「概要」画面(下図)が現れて、
ここで「完了」ボタンを押せば、マシン一覧画面に戻っていたのだが、今回は、確実にこの時点でフリーズしてしまった(後術するLinux版の検証でわかった事であるが、この段階でisoイメージを指定している点が問題であった。ここが空欄であれば、すんなり次のステップに進むことができる)。
それでも基本的にタスクマネージャーで、
①「VirtualBox Manager」を選択して②「タスクの終了ボタン」を押せば良いのだが、実はVirtualBoxに関しては、アプリ本体のタスクと、バックグラウンド プロセスとしてのタスクが別に2つ存在し、これらを先に「タスク終了」してしまうと、これまでの作業履歴まで消えてしまうことがある。
これまでの作業履歴というのは仮想マシンの収納場所として指定したフォルダ中に、右に示す3つのファイルである。場合によってはフォルダそのものが消えてしまう場合もあるようだ。①「VirtualBox Manager」を「タスク終了」して、これらのファイルが残っておれば、VirtualBoxを起動し直せば、仮想マシンの一覧画面で、新規マシンがリストアップされているので、以下「設定」作業に進むことができる。
但し、場合によっては、以下のような一覧画面になることもある。
この場合は、経験上、ストレージの割当画面(下図)でコントローラの下に何も存在しない。
そこで追加ボタン(赤矢印)をクリックして指定済のisoやディスクイメージを選択し直すことで先に進むことができる。
なお、作業履歴として3つのファイルが残ると記したが、拡張子が.vdiのディスクイメージファイルしか出来ない場合があって、この場合にはVirtualBox再起動時の仮想マシンの一覧リストにも出てこない。同じフォルダで作り直そうとするとエラーになるといった具合であった。
Linuxの場合
実は、Linux上のVirtualBoxは、昨年バージョンが7系になって以降、著者の環境でちゃんと動作しなくなってしまい、バージョン6系での動作検証しか出来ていなかった。今回ようやく最新版(7.0.18)上での動作検証である。
最新版のインストールについて
基本的にはVirtualBoxのダウンロードサイトから、自分の環境に合致したバイナリパッケージ(ここでは virtualbox-7.0_7.0.18-162988~Ubuntu~jammy_amd64 .deb)をダウンロードしてインストールするだけ
sudo dpkg -i chrome-remote-desktop_current_amd64.deb
なんであるが、依存関係の問題だとか、パッケージ***はまだインストールされてませんとかメッセージが出てくる。そのうちの一つ(ここでは xvfb)をインストールしようとすると
sudo apt install xvfb
E: 未解決の依存関係です。’apt –fix-broken install’ を実行してみてください (または解法を明示してください)。とか言ってくるので、云われるままに
sudo apt --fix-broken install
これにて、めでたしインストール完了であった。VirtualBoxに限らず、.debファイルをインストールする際によくあるパターンであるが、最後のコマンド(sudo apt –fix-broken install)を覚えきれないので、ここに備忘録としておいた。
Ver.6系で構築した仮想マシンの動作
筆者の環境には、これまでにVer.6系で構築した仮想マシンが約10個存在していた。これらについて全て確認した訳ではないが、確認したものについてはちゃんと動作している。DEXCS2023をリリースした当初に作成したものも、ちゃんと動作した。ここでは画面の乱れなどは気にならなかったが、念の為にとVBoxGuestAdditionsのアップデートも実施できている。
新規作成トラブル
当初は、新規に仮想マシンを作成しようとして、一番最初の画面で躓いた。isoイメージファイルを指定すると、以下のエラーが出て、
しばらくすると、VirtualBox本体が落ちてしまうという症状であった。色々調べても解決策が見つからず、暫定方法としてWindowsマシンで作成した仮想アプライアンス(odaファイル)をインポートして使うことは出来たので、それでやるしかないか・・・と諦めかけていたのであるが、ひょんな事から解決策が見つかった。
解決策は、新規作成時の最初の画面で、isoイメージは選択しないで先へ進めるということであった。ハードウェア、ハードディスクの設定が終わったら
isoイメージの欄は空白のままで良いので「完了」ボタンを押す。
仮想マシンの一覧画面に戻るので、今度は「設定」ボタンを押して共有フォルダ等の設定することになるが、ここで「ストレージ」の設定画面で、
①の光学ディスクが「空」となっているので、これを選択し、②をクリック、そうすると以下のプルダウンメニューが現れる。
ここで、使用したいisoイメージファイルがリストアップされておれば、それを選択すれば良い。リストアップされていない場合には、一番上の「仮想光学ディスクの選択/作成…」を選択。そうすると以下の画面が現れる。
ここで①「追加」ボタンを押して出てくるファイルマネージャから必要なisoイメージを探し出して、下欄にリストアップされたものを②選択して③「選択」ボタンを押せば良い。
つまり、isoイメージを選択する場合に、ファイルマネージャーから直接選択するのでなく、上述のインターフェースを介して選択しなければならないということである。因みに「ディスクファイルを選択…」を選択するとファイルマネージャーが現れ、ここから選択すると、「設定」画面が落ちてしまう。
DEXCS2023新規インストールの結果
Windows版と同様、setupVBox.shを実行した後、画面の乱れやカーソルの表示がおかしくなったが、「デバイス」⇒「VBoxGuestAdditionsのアップデート」⇒「再起動」にて正常に動作するようになった。
但し、インストールそのものに要する時間は、Windows(で数10分)に比べると、かなり長く(1〜数時間)かかってしまっているが、これはVirtualBoxのVer.6系から変わっていない。
M1 Macの場合
M1 Mac ではCPUアーキテクチャーが違うので諦めていたのだが、市販ソフトを使えば仮想マシンの代替方法はあるようなので、そのうち何とかなるかも?とも思っていた。今回ようやくVirtualBox本体をインストールし、起動画面を立ち上げるところまでは出来るようになったが、その先に進めていないという状況である。
インストール方法
基本的に、こちらの記事を参考にさせていただいた。要は、Rosetta を使用してインストールせよということ。ただ、拙宅のMacもこの2年近くホコリをかぶったままだったので、OSの更新からやり直したら、参考記事が書かれた時期の状況も少し古くなっていたのか、その通りにはいかなかた。
MacBook-Pro:DEXCSOF enjum$ brew install --cask virtualbox
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################### 100.0%
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-cask/7a2b56e
######################################################################### 100.0%
==> Downloading https://download.virtualbox.org/virtualbox/7.0.18/VirtualBox-7.0
Already downloaded: /Users/enjum/Library/Caches/Homebrew/downloads/bf934fc1d504c9560595ff7176266b077294c4fa05bcdef3af686107952bc73b--VirtualBox-7.0.18-162988-OSX.dmg
==> Installing Cask virtualbox
==> Running installer for virtualbox with sudo; the password may be necessary.
installer: Package name is Oracle VM VirtualBox
installer: choices changes file '/private/tmp/choices20240625-19698-7byqhw.xml' applied
installer: Installing at base path /
installer: The install was successful.
==> Changing ownership of paths required by virtualbox with sudo; the password m
🍺 virtualbox was successfully installed!
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.
15行目で、virtuauboxのインストールに成功したとあるが、その下のErrorが気にかかったところである。しかし以下の検証記事はこのErrorはスルーして実施したものである。
新規作成トラブル
これもLinuxと同じであった。
新規作成時に、isoイメージファイルを直接選択すると、同じようなエラーでしばらくするとVirtualBoxが落ちた。
とはいえ、(後からわかった事であるが)これもLinuxと同じで、最初の仮想マシンを作成する段階でisoイメージを直接指定するでなく、その後の「設定」メニューから、所定のGUIメニューを使って指定すれば、仮想マシンリストとして作成するところまでは、無事クリアー出来た。
仮想マシンの設定ファイルは出来たが動かない・・・
右上の「起動」ボタンを押すと・・・
一瞬、黒い画面が現れるが、すぐに消えた。「・・更新」、「再読込」ボタンを押すと・・・
ワケワカメの状態である。
あと、因みに、マシンリストの最上段は、単純にubuntuの公開イメージを使ったもの。2番目(DEXCSOF)は、Windowsマシンで作成した仮想アプライアンスをインポートしたものであるが、全て同じエラーで止まっているようであった。
2年前の状況に比べれば進歩しているが、まだまだ・・・といったところか。
まとめ(VirtualBox最新版の注意事項)
- 新規仮想マシン作成時の初期画面で、isoイメージを選択してはいけない、仮想マシン作成後の「設定」画面で実施すること。
- DEXCS2023のsetupVBox.shを実行すると、画面やマウスカーソル表示が乱れるので、「デバイス」⇒「Guest Additionsのアップグレード」を実行して、再起動してから使用する。
(注)最新版というのは、あくまで本執筆時点でのVer.7.0.18 でのことであり、7.0.10ではそうでなかったはず。その後の7.0.1# 以降のどのバージョン以降であるかは不明。また、将来的に第1項は解消されるかもしれない。