今回はもう1つのVirtualBoxフロントエンドであるRemoteBoxを紹介します。VirtualBoxデフォルトのフロントエンドであるVirtualBoxマネージャーとはどのような違いがあるのでしょうか。
VirtualBoxのフロントエンド
VirtualBoxのフロントエンドとして真っ先に思い浮かぶのは、VirtualBoxマネージャーでしょう。Qtで書かれたマルチプラットフォームなフロントエンドです。
VBoxManageというCLIフロントエンドもあります。GUIフロントエンドではできない設定にも対応していますが、マニュアルを見るとオプションが多すぎて使いこなせる気は全くしません。とはいえ、ピンポイントで使用するには非常に便利です。
なお、デフォルトでは有効になっていないのですが、実はSOAPに対応したWeb APIサーバー
今回取り上げるRemoteBoxはそのAPIに対応したGUIフロントエンドです。他にも似たような機能を提供するフロントエンドがありましたが、現在もメンテナンスされているのはこのRemoteBoxだけです。
VirtualBoxマネージャーはVirtualBoxが動作している環境でしか動作していませんが、RemoteBox
VirtualBoxのバージョン
VirtualBoxのバージョンは7.
今回VirtualBoxマネージャーはインストールせずUbuntu Serverにインストールします。したがってOracleが提供しているバイナリではなく、筆者のPPAを使用します。22.
Extension Packをインストールしていますが、VirtualBox側の問題なのかRemoteBox側の不具合なのかは不明なものの、Extension Packを認識しません。したがってパッケージに収録されているVNCプラグインを使用します[2]。
セットアップ作業 サーバー編
ではセットアップを開始しますが、8割くらいはVirtualBox
前述のとおり、VirtualBoxはVirtualBoxマネージャーなしでインストールします。次のコマンドを実行してください。
$ sudo add-apt-repository ppa:ikuya-fruitsbasket/virtualbox $ sudo apt install virtualbox virtualbox-ext-pack virtualbox-guest-additions-iso --no-install-recommends
Extension Packをインストールするので、ライセンスに同意するか質問されます。ライセンスを読んだ上で少し見にくいですが図1のように
続いてVirtualBoxを使用するユーザーを作成します。次のコマンドを実行してください。
$ sudo adduser vbox $ sudo adduser vbox vboxusers
VirtualBox Web Service自体はすでにインストールされているので、systemdのユニットを作成します。次のコマンドを実行してください。
$ sudo systemctl edit --force --full vboxweb-mod.service
内容は次のとおりにします。
[Unit]
Description=VirtualBox Web Service
After=network.target
[Service]
Type=forking
PIDFile=/run/vboxweb/vboxweb.pid
ExecStart=/usr/lib/virtualbox/vboxwebsrv --pidfile /run/vboxweb/vboxweb.pid --host (ホスト名) --background
User=vbox
Group=vboxusers
[Install]
WantedBy=multi-user.target
ホスト名の修正を忘れないでください。
/etc/
に以下3行を追記します。
VBOXWEB_USER="vbox"
VBOXWEB_TIMEOUT=0
VBOXWEB_HOST="(ホスト名)"
こちらもホスト名の修正を忘れないでください。
あとはひたすらコマンドを打ち込んでいきます。
$ sudo bash -c 'echo "d /run/vboxweb 0755 vbox vboxusers" > /etc/tmpfiles.d/vboxweb-mod.conf' $ sudo mkdir /run/vboxweb $ sudo chown vbox:vboxusers /run/vboxweb/ $ sudo chmod 755 /run/vboxweb/ $ sudo systemctl enable --now vboxweb-mod.service
vboxweb-mod.
が起動していれば成功です。起動しない場合、まずはホスト名あたりを見直してみるといいでしょう
セットアップ作業 RemoteBox編
まずはRemoteBoxの動作に必要なパッケージをインストールします。次のコマンドを実行してください。
$ sudo apt install libgtk3-perl libsoap-lite-perl freerdp2-x11 vinagre
RemoteBoxの動作に必要なのは最初の2つのパッケージで、あとは画面表示用のパッケージです。
もちろんRemoteBoxをダウンロードします。最新版の3.
ダウンロード後展開してインストールする必要がありますが、手動だとやや面倒なのでシェルスクリプトを用意しました。
#!/bin/sh
RBOX=RemoteBox-3.2
if [ ! -d ./${RBOX} ]; then
echo "${RBOX}をダウンロードし、このスクリプトと同じところに展開してください"
exit 1
fi
mkdir -p ~/.local/bin
mkdir -p ~/.local/share/appdata
mkdir -p ~/.local/share/applications
cd ${RBOX}
cp remotebox ~/.local/bin
cp -r share/remotebox/ ~/.local/share
cp packagers-readme/remotebox.appdata.xml ~/.local/share/appdata
sed -i "s|\$Bin/share/remotebox|${HOME}/.local/share/remotebox|" ~/.local/bin/remotebox
desktop-file-install --dir=${HOME}/.local/share/applications packagers-readme/remotebox.desktop
update-desktop-database ~/.local/share/applications
以上の内容をremotebox-install.
などとして保存し、実行するとユーザー権限でインストールされます。
一度ログアウトして再ログインすると、GNOME ShellにRemoteBoxのアイコンが表示され、起動できるようになります。
RemoteBoxの初期設定
RemoteBoxを起動します
「File」-
「File」-
最低限必要な設定はこのくらいで、あとは
ログを開いてみると
仮想マシンを作成してみる
試しに仮想マシンを作ってみましょう。VirtualBoxマネージャーを使用するのと違い、いくつかポイントがあります。
ゲストOSはUbuntu 23.
その上で
「New」
これでゲストOSが追加されます
VNCを使用する場合はパスワードの設定が必要です。VirtualBoxユーザー
$ vboxmanage modifyvm <guestname> --vrdeproperty VNCPassword=<vncpassword>
ゲストOSの名称
$ $ VBoxManage list vms
すると次のように表示されます。
"Ubuntu 23.04" {cf766aa4-b3d6-43bc-a33d-6d394593d84e}
ゲストOSの名称は表示されているUUIDでも構わないので、どちらか入力しやすいものを入力してください。
ここまで来てようやく