Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

「VirtualBox 7.0.18」にて「Vagrant」で仮想マシンの「ubuntu-desktop-24.04」を作成〈H171-7〉

登録日: 2024-06-29 更新日: 2024-06-29

前回 は、「ミニPC」の「Xubuntu 24.04 LTS」に、仮想環境として「VirtualBox 7.0.18」をインストールしました。

-

今回は、その環境で、「Vagrant」の公式 Box の「ubuntu-desktop-24.04」を用い、(通常行う?やり方で)「仮想マシン」を作成して、動作を確認してみました。

-

今回使った Box は、(デスクトップ環境を含みますが)素のままだとGUI 画面は表示されませんでした。 なので、いつもは「ssh 接続」してコマンドで操作することになります。

ただし、「VirtualBox マネージャ」を起動して、「仮想マシン」のウィンドウを「表示」させれば、GUI で使えます。

その備忘録です。

-

-

使用したPC は、新しく購入した「Windows 11」のミニPC「MINISFORUM NAB5」です。
プロセッサは「Core i5-12450H」で、メモリ 16GB、SSD 512GB です。
最新のモデルではなく、1年落ちなので、安く買えました。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック
Android スマホであれば「ホーム」ボタン隣の「<」をタップ

-

-


目次

-

Vagrant」を使うときの参考:

  1.  修正版3: 使い回し可能な「Vagrantfile」:

  2. 「Vagrant」コマンドについて:

  3. 「Vagrant」コマンドの使用例:(目次)

  4. 「ssh 接続」でオススメのテキストエディタ「nano」:

  5.  もし、PC のディスクに余裕がない場合:

-

今回の作業:

  1.  目的の「Box」を検索:

  2. 「作業用ディレクトリ」を作成:

  3. 「Vagrantfile」を作成:

  4. 「仮想マシン」の(初回の作成と)立ち上げ:

  5. 「仮想マシン」の設定を「VirtualBox マネージャ」で変更:

-

任意の参考になる作業:

  1. 「仮想マシン」のウィンドウを常時表示に変更する場合:

  2. 「Vagrantfile」に、使い回し可能な「Vagrantfile」を使う場合:

  3. 「ログイン」画面を表示させる場合:

-

「まとめ へ」

「目次詳細 へ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu 24.04 LTS の立ち上げ:

-

Xubuntu(ホストOS)のデスクトップ画面:

→シンプルで、使い慣れた環境なので、個人的には使い勝手が良いです。

デフォルトではなく、 デスクトップの設定 で、壁紙を変え、パネルを下に移動、パネルにいくつかのアイテムを追加しています:

-

「端末」画面にて、「Vagrant」で仮想マシンの「ubuntu-desktop-24.04」を起動:

→すでに「仮想マシン」が起動していますが、通常のやり方だと、そのウィンドウは表示されません。

なので、ssh 接続してのコマンド操作になります。

-

VirtualBox マネージャ」を起動させて、「仮想マシン」のウィンドウを開けます:

→ただし、正常に動作させるには、「仮想マシン」の設定の修正が必要でした。

修正にて、マウスでの GUI 操作ができるようになりました。

-

ちなみに、デフォルトは「自動ログイン」されます。

また、起動した「Ubuntu 24.04」は日本語化されていません。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

VirtualBox」について:

-

VirtualBox 」は、Oracle が開発している「仮想マシン」を構築するためのソフトウェアです。

-

  • 「VirtalBox」は「仮想的なパソコン」(仮想デバイス)を実現するソフトウェアです。別のパソコンに「Linux」をインストールするのと変わりません。

  • 仮想マシンを使うことで、ハードウェアで問題となりそうなPC でも、最新のLinux ディストリビューションをインストールできる可能性が高くなります。

  • 問題があっても、Linux の情報をそのまま使えるのが強みです。

-

ホストOS とゲストOS でメモリを分け合って使うので、メモリのサイズと割当て方は重要です。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

Xubuntu」について:

-

Ubuntu の公式フレーバー(性格の違う兄弟?)です

Ubuntu ベースの、軽量な「Xfce」デスクトップ環境です。

個人的には使い慣れた環境です。
カスタマイズが色々とできるので、自分にとって使い勝手の良い環境を作れるのが利点です。

-


現在のバージョンを表示:

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

☆ ホストOS「Xubuntu 24.04 LTS」のバージョン:

2024-06-29 現在

カーネル:
$ uname -r
6.8.0-36-generic

→安定志向なので、更新は少なめです

-

リリース:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"

→小さな更新版であるポイントリリースは、ほぼ 6ヶ月ごと

-

x11」と「Wayland」のどちらで動作しているか、の確認:
$ echo $XDG_SESSION_TYPE
x11

→「Ubuntu」のデフォルトは、「Wayland」で動作しますが、「Xubuntu」のデフォルトは、「x11」で動作します。

-

-

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

仮想マシンubuntu-desktop-24.04」のバージョン:

2024-06-29 現在

カーネル:
$ uname -r
6.8.0-36-generic

-

リリース:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"

-

x11」と「Wayland」のどちらで動作しているか、の確認:
$ echo $XDG_SESSION_TYPE
wayland

→「Ubuntu」は、「Wayland」で動作しています。

-

ちなみに、ログイン画面にて、右下のボタンで「x11」に切り替えできます:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

1. 事前に、Vagrant で使う「Box」を検索:

-

vagrant box add」や「vagrant init」を実行する前に、検索しておきます:

-

公式のVagrant の「Box」の公開サイト:

Discover Vagrant Boxes

→公式の「Box」は「Vagrant cloud」で公開されています。

「Box」イメージは、「Vagrant cloud」に置いてある場合と、別のホストに置いて、そのURL が公開されている場合があります:

-

「Box」の公開時に、維持管理をどうするかで、これらは選ぶことになります:

Vagrant cloud」にBox を置くには有料でサイズ別の料金になります。
別のホストに置くときは、そのホストが「Vagrant」のBox の(自動の)ダウンロードに対応している必要がありますし、個人でサーバーを立ち上げるときは、セキュリティ面の保護が必要です。

ちなみに、無料のサイトが使えないか検索すると、(イメージはサイズが大きいし、パスワードが必要で誰でもは無理だし、自動でダウンロードができなかったりで)難しいです。使えるサイトは限られます。

-

「Box」の表示は、「ダウンロード数」でのソートがデフォルトです。なので、ダウンロードが 1番多い「Box」が 1番上に来ます:

ダウンロードが一番多いのが、検証されていて無難かと思いましたが(不具合があっても報告する機能がないので)それは関係なさそう。

-

個人的に使える「Box」かは、実際に試してみるしかありません:

→削除は簡単です。

「Box」と「仮想マシン」の削除のやり方は、 「項番 9-2. の11). 」を参照:

-


「検索キー」の入れ方で、微妙に、表示される「Box」が変わります:

-


1). 「ubuntu 24.04 desktop」で検索:

短めの単語で複数指定しました:

ヒットした、最初の 3つを抜粋:

-

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

(1). 参考:「gusztavvargadr/ubuntu-desktop-2404-lts」がヒット:(→エラーするので未使用)

通常のBox と違って、個人的な別のサイトに飛びました:

公式の「Box」に慣れていない人向けの、
仮想マシン」を作成するときのガイドが表示されました:

Virtualbox の場合:

-

ステップ 1:

オプション 1: 「vagrant init」を使い、自動で「Vagrantfile」を新規に作成する場合:

$ vagrant init gusztavvargadr/ubuntu-desktop-2404-lts --box-version 2404.0.2405

-

オプション 2: 「Vagrantfile」を手動で作成(置換)する場合:

Vagrant.configure("2") do |config|
  config.vm.box = "gusztavvargadr/ubuntu-desktop-2404-lts"
  config.vm.box_version = "2404.0.2405"
end

-

ステップ 2: 仮想マシンを(初回であれば作成して)起動:
$ vagrant up

-


→残念ながら、こちらのBox はダウンロードで失敗するので利用しませんでした:
$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant init gusztavvargadr/ubuntu-desktop-2404-lts --box-version 2404.0.2405
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'gusztavvargadr/ubuntu-desktop-2404-lts' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox         ←(プロバイダーの指定)
    default: Box Version: 2404.0.2405         ←(Box のバージョンの指定)
==> default: Loading metadata for box 'gusztavvargadr/ubuntu-desktop-2404-lts'
    default: URL: https://vagrantcloud.com/api/v2/vagrant/gusztavvargadr/ubuntu-desktop-2404-lts
==> default: Adding box 'gusztavvargadr/ubuntu-desktop-2404-lts' (v2404.0.2405) for provider: virtualbox (amd64)
    default: Downloading: https://api.hashicorp.cloud/vagrant/2022-08-01/gusztavvargadr/boxes/ubuntu-desktop-2404-lts/versions/2404.0.2405/providers/virtualbox/amd64/vagrant.box
Progress: 0% (Rate: 761k/s, Estimated time remaining: 1:32:08)

→初回のみ、Box イメージがダウンロードされ、

ダウンロードが完了すると、チェックサムが確認されます:

    default: Calculating and comparing box checksum...

↓ 赤字のエラーが表示して、終了しました:

The specified checksum type is not supported by Vagrant: SHA256.
Vagrant supports the following checksum types:

md5, sha1, sha256, sha384, sha512

チェックサムのタイプのエラーです:

サイトのデータが改ざんされているのか、Box の登録時に、チェックサムの指定のやり方を誤った(小文字の sha256 でなく大文字の SHA256 の指定にした?)だけなのか?

-

長い時間をかけてせっかくダウンロードが終わったのに、チェックサムの確認でエラーすると、ダウンロードしたイメージは削除され、時間とリソースのロスです:

-

三者からはサイトへの登録情報は見えないので、確認のしようがありません:

イメージを直接ダウンロードして利用することもできますが、ダウンロード時のチェックサム値の記述がないので、 セキュリティ上でのリスクがあります。

-

すでにローカルにあるBox はダウンロードされず、上書きされません。 Box の登録時の最終確認は、作業フォルダの削除だけでなく、ローカルに登録されたBox も削除して確認する必要があります。こちらはその確認で防げると思います。

作業フォルダは削除したので最初からやり直したつもりでも、すでに登録されているBox イメージの削除までは気付きにくいので注意です。

-

こちらもサイトにBox を登録した後の確認漏れ、だろうと思います。 せっかく公開しても、通常のやり方では使えない Box なのでもったいないです。

→手動でダウンロードすれば使えますが、ブログに参考として投稿したいので、こちらのBox の使用はあきらめました:

-

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

(2). 参考:「daimler/ubuntu-24.04-desktop」がヒット:(→エラーするので未使用)

こちらは、公式の「Box」のサイトに準じた、通常のサイトです:

-

「Vagrantfile」タブ:
Vagrant.configure("2") do |config|
  config.vm.box = "daimler/ubuntu-24.04-desktop"
  config.vm.box_version = "1.0"
end

-

「New」タブ:
vagrant init daimler/ubuntu-24.04-desktop \
  --box-version 1.0
vagrant up

-


→残念ながら、こちらのBox もダウンロードで失敗するので、利用しませんでした:
$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant init daimler/ubuntu-24.04-desktop --box-version 1.0
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'daimler/ubuntu-24.04-desktop' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox    ←(プロバイダーの指定)
    default: Box Version: 1.0            ←(Box のバージョンの指定)
==> default: Loading metadata for box 'daimler/ubuntu-24.04-desktop'
    default: URL: https://vagrantcloud.com/api/v2/vagrant/daimler/ubuntu-24.04-desktop
==> default: Adding box 'daimler/ubuntu-24.04-desktop' (v1.0) for provider: virtualbox (amd64)
    default: Downloading: https://vagrantcloud.com/daimler/boxes/ubuntu-24.04-desktop/versions/1.0/providers/virtualbox/amd64/vagrant.box
Progress: 2% (Rate: 11.1M/s, Estimated time remaining: 0:07:55)

→初回のみ、Box イメージがダウンロードされ、

ダウンロードが完了すると、チェックサムが確認されます:

    default: Calculating and comparing box checksum...

↓ 赤字のエラーが表示して、終了しました:

The checksum of the downloaded box did not match the expected
value. Please verify that you have the proper URL setup and that
you're downloading the proper file.

Expected: 86b5040d4e7a45d1345ae4d2954c3a94  ubuntu-24.04-desktop.box
Received: 86b5040d4e7a45d1345ae4d2954c3a94

和訳:

ダウンロードされたボックスのチェックサムが期待値と一致しませんでした。
URL が適切に設定されていること、および適切なファイルをダウンロード
していることを確認してください。

期待した値: 86b5040d4e7a45d1345ae4d2954c3a94  ubuntu-24.04-desktop.box
受信した値: 86b5040d4e7a45d1345ae4d2954c3a94

チェックサムを比較してのエラーです:

チェックサム値は同じですが、ファイル名が足りないみたいです。というか、設定値にファイル名まで登録している可能性があります。サイトにBox を登録するときの凡ミスかも。

-

すでにローカルにあるBox はダウンロードされず、上書きされません。 Box の登録時の最終確認は、作業フォルダの削除だけでなく、ローカルに登録されたBox も削除して確認する必要があります。こちらはその確認で防げると思います。

作業フォルダは削除したので最初からやり直したつもりでも、すでに登録されているBox イメージの削除までは気付きにくいので注意です。

-

こちらもサイトにBox を登録した後の確認漏れ、だろうと思います。 せっかく公開しても、通常のやり方では使えない Box なのでもったいないです。

→手動でダウンロードすれば使えますが、ブログに参考として投稿したいので、こちらのBox の使用はあきらめました:

-

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

(3). 「caspermeijn/ubuntu-desktop-24.04」がヒット:(今回は、こちらを使用)

こちらは、公式の「Box」のサイトに準じた、通常のサイトです:

-

「Vagrantfile」タブ:
Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

-

「New」タブ:
vagrant init caspermeijn/ubuntu-desktop-24.04 \
  --box-version 2024.05.08
vagrant up

-


→ダウンロード完了時の、チェックサムの確認メッセージが表示されません:

もしかしたら、「チェックサムの確認」が省略されているかもしれません:

-

エラーはしないけど、セキュリティ上、問題かも:

公開時に、イメージのチェックサムの確認をするように設定するのを忘れている可能性が高いです。

-


Box の削除は簡単なので、いろいろなBox を試してみると良いです:

「Box」と「仮想マシン」の削除のやり方は、 以前の投稿の「項番 9-2. の11). 」を参照:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

2. 「作業用ディレクトリ」を作成:

-


分かりやすい名前の「作業用ディレクトリ」を作成:

$ mkdir -p ~/ダウンロード/vm/ubn2404/
$ cd ~/ダウンロード/vm/ubn2404/

-

すでに使っているフォルダ名であれば、別の名前にしてください:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

3. 「Vagrantfile」を作成:

-

Box は、エラーのなかった「caspermeijn/ubuntu-desktop-24.04」を使用しました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

3-a. オプション 1: 「vagrant init」を使い、自動で「Vagrantfile」を作成する場合:

-


1). 「Box」をダウンロード、および「Vagrantfile」を新規に作成:

例: 公式サイトのBox「caspermeijn/ubuntu-desktop-24.04」を利用する場合:

$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant init caspermeijn/ubuntu-desktop-24.04 --box-version 2024.05.08
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

和訳:

「Vagrantfile」はこのディレクトリに配置されています。  
これで、最初の仮想環境を「vagrant up」する準備が整いました。  
Vagrant の使用方法の詳細は、Vagrantfile のコメントと「vagrantup.com」の
ドキュメントをお読みください。

→これは、いつもの表示です。すぐに完了しました。

-

参考: ちなみに、わざわざ「vagrant box add」を使って「Box 一覧」に追加する必要はありません:
「Box」のイメージがダウンロードされていなければ、初回に「vagrant up」したときにダウンロードされます:

-


3). 「作業フォルダ」の確認:

$ ls -lA ~/ダウンロード/vm/ubn2404
:
-rw-rw-r-- 1 ubn ubn 3445  6月 28 12:32 Vagrantfile
→「Vagrantfile」だけが作られました。

-


4). 「Vagrantfile」ファイルの確認:

$ cat ~/ダウンロード/vm/ubn2404/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Disable the default share of the current code directory. Doing this
  # provides improved isolation between the vagrant box and your host
  # by making sure your Vagrantfile isn't accessible to the vagrant box.
  # If you use this you may want to enable additional shared subfolders as
  # shown above.
  # config.vm.synced_folder ".", "/vagrant", disabled: true

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Enable provisioning with a shell script. Additional provisioners such as
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end

↓ 先頭 2行以外のコメント行を削除すれば、下記と同等です:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

→構文が入れ子になっているので、「end」の位置に注意:

-

ちなみに、下記のように「-m」を付加すれば、コメント行を削除して作成できます:

ただし、「Vagrantfile」の使い方に慣れないうちは、コメント行は残した方が無難です:

-

$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant init -m caspermeijn/ubuntu-desktop-24.04 --box-version 2024.05.08

-

確認:

$ cat ~/ダウンロード/vm/ubn2404/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

3-b. オプション 2: 「Vagrantfile」を手動で作成する場合:

-

すでに、「Vagrantfile」がある場合は、削除:

$ cd ~/ダウンロード/vm/ubn2404/
$ rm Vagrantfile

-


1). 「Vagrantfile」を手動で作成:

ブラウザに表示されている、下記のファイルの内容を選択して、マウスの中央ボタンで貼り付けると楽ができます:

-

$ cd ~/ダウンロード/vm/ubn2404/

-

$ nano Vagrantfile

↓ 下記を入力:

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

Ctrl+O(小文字のオー)で、ファイルを確認してEnter で、上書き保存:

Ctrl+X(小文字のエックス)で、終了:

-


2). 「Vagrantfile」ファイルの確認

$ ls -lA ~/ダウンロード/vm/ubn2404
:
-rw-rw-r-- 1 ubn ubn 132  6月 28 12:39 Vagrantfile
→「Vagrantfile」だけがあります。

-

ファイル内容の確認:

$ cat Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

-

下記のような「ruby」の構文にするのが正式な書き方ですが、使うには支障ありません:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

4. 「仮想マシン」の(初回の作成と)立ち上げ:

-


1). 「VirtualBox マネージャ」が使えるか確認:

バージョン表示を行い、エラーのメッセージが含まれていなければ OK:

$ VBoxManage --version
7.0.18r162988

-


2). 仮想マシンの(初回の作成と)立ち上げ:

ホストOS に「Vagrant」のプラグインをインストールしていて、「GuestAdditions」の更新は自動で行われるので、その成功率は高いです:

-

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant up

もしくは、

$ vagrant up --provider=virtualbox

→「--provider=virtualbox」のパラメータは「virtualbox」がデフォルトなので、省略できます。

-

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'caspermeijn/ubuntu-desktop-24.04' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox         ←(プロバイダーの指定)
    default: Box Version: 2024.05.08          ←(Box のバージョンの指定)
==> default: Loading metadata for box 'caspermeijn/ubuntu-desktop-24.04'
    default: URL: https://vagrantcloud.com/api/v2/vagrant/caspermeijn/ubuntu-desktop-24.04
==> default: Adding box 'caspermeijn/ubuntu-desktop-24.04' (v2024.05.08) for provider: virtualbox (amd64)
    default: Downloading: https://vagrantcloud.com/caspermeijn/boxes/ubuntu-desktop-24.04/versions/2024.05.08/providers/virtualbox/amd64/vagrant.box
Progress: 0% (Rate: 6855k/s, Estimated time remaining: 0:14:16)

→初回のみ、Box イメージがローカルの隠しフォルダにダウンロードされるので、時間がかかりました:

ちなみに、事前に「vagrant box add」を使ってダウンロードしておけば、ネットが混む時間帯を避けられます。

-

ダウンロードの完了後に、下記のメッセージが表示され、チェックサムが確認されるはずですが、

今回は下記の表示はありませんでした:

    default: Calculating and comparing box checksum...

-

続いて、以降のメッセージが表示:

==> default: Successfully added box 'caspermeijn/ubuntu-desktop-24.04' (v2024.05.08) for 'virtualbox (amd64)'!
==> default: Importing base box 'caspermeijn/ubuntu-desktop-24.04'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'caspermeijn/ubuntu-desktop-24.04' version '2024.05.08' is up to date...
==> default: Setting the name of the VM: ubn2404_default_1719546519873_52117
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

少し、時間がかかりました:

    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!

「GuestAdditions」の自動更新(7.0.16 →7.0.18)が行われました:

[default] GuestAdditions versions on your host (7.0.18) and guest (7.0.16) do not match.
Reading package lists...
Building dependency tree...
Reading state information...

「GuestAdditions」の自動更新に必要なパッケージがインストールされました:

The following additional packages will be installed:
  dpkg-dev fakeroot g++ g++-13 g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu
  gcc gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libasan8 libc-dev-bin libc-devtools libc6-dev libcc1-0 libcrypt-dev
  libdpkg-perl libfakeroot libfile-fcntllock-perl libgcc-13-dev libhwasan0
  libitm1 liblsan0 libquadmath0 libstdc++-13-dev libtsan2 libubsan1
  linux-headers-6.8.0-31 linux-libc-dev lto-disabled-list make manpages-dev
  rpcsvc-proto
Suggested packages:
  menu debian-keyring g++-multilib g++-13-multilib gcc-13-doc gcc-multilib
  autoconf automake libtool flex bison gcc-doc gcc-13-multilib gcc-13-locales
  gdb-x86-64-linux-gnu glibc-doc bzr libstdc++-13-doc make-doc

次の新しいパッケージがインストールされます:

The following NEW packages will be installed:
  build-essential dkms dpkg-dev fakeroot g++ g++-13 g++-13-x86-64-linux-gnu
  g++-x86-64-linux-gnu gcc gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libasan8 libc-dev-bin libc-devtools libc6-dev libcc1-0 libcrypt-dev
  libdpkg-perl libfakeroot libfile-fcntllock-perl libgcc-13-dev libhwasan0
  libitm1 liblsan0 libquadmath0 libstdc++-13-dev libtsan2 libubsan1
  linux-headers-6.8.0-31 linux-headers-6.8.0-31-generic linux-libc-dev
  lto-disabled-list make manpages-dev rpcsvc-proto
0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded.
Need to get 75.3 MB of archives.
After this operation, 329 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble/main amd64 libcc1-0 amd64 14-20240412-0ubuntu1 [47.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble/main amd64 libitm1 amd64 14-20240412-0ubuntu1 [28.9 kB]
: 省略

次の新しいパッケージがインストールされます:

The following NEW packages will be installed:
  build-essential dkms dpkg-dev fakeroot g++ g++-13 g++-13-x86-64-linux-gnu
  g++-x86-64-linux-gnu gcc gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libasan8 libc-dev-bin libc-devtools libc6-dev libcc1-0 libcrypt-dev
  libdpkg-perl libfakeroot libfile-fcntllock-perl libgcc-13-dev libhwasan0
  libitm1 liblsan0 libquadmath0 libstdc++-13-dev libtsan2 libubsan1
  linux-headers-6.8.0-31 linux-headers-6.8.0-31-generic linux-libc-dev
  lto-disabled-list make manpages-dev rpcsvc-proto
The following packages will be upgraded:
  libc-bin libc6 libc6:i386 libc6-dbg linux-tools-common locales
6 upgraded, 39 newly installed, 0 to remove and 192 not upgraded.
Need to get 22.9 MB/94.5 MB of archives.
After this operation, 329 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libc6-dbg amd64 2.39-0ubuntu8.2 [7,451 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble-updates/main i386 libc6 i386 2.39-0ubuntu8.2 [3,010 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libc6 amd64 2.39-0ubuntu8.2 [3,263 kB]
: 省略
Setting up linux-headers-6.8.0-31-generic (6.8.0-31.31) ...
/etc/kernel/header_postinst.d/dkms:
 * dkms: running auto installation service for kernel 6.8.0-31-generic
 * dkms: autoinstall for kernel 6.8.0-31-generic
   ...done.
Setting up libgcc-13-dev:amd64 (13.2.0-23ubuntu4) ...
Setting up libc6-dev:amd64 (2.39-0ubuntu8.2) ...
Setting up libstdc++-13-dev:amd64 (13.2.0-23ubuntu4) ...
Setting up gcc-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ...
Setting up gcc-13 (13.2.0-23ubuntu4) ...
Setting up g++-13-x86-64-linux-gnu (13.2.0-23ubuntu4) ...
Setting up gcc-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
Setting up gcc (4:13.2.0-7ubuntu1) ...
Setting up dkms (3.0.11-1ubuntu13) ...
Setting up g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
Setting up g++-13 (13.2.0-23ubuntu4) ...
Setting up g++ (4:13.2.0-7ubuntu1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (12.10ubuntu1) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.2) ...

Running kernel seems to be up-to-date.

サービスの再起動:

Restarting services...
 systemctl restart accounts-daemon.service anacron.service avahi-daemon.service colord.service cron.service cups-browsed.service cups.service geoclue.service gnome-remote-desktop.service kerneloops.service multipathd.service packagekit.service polkit.service power-profiles-daemon.service rsyslog.service rtkit-daemon.service snapd.service ssh.service switcheroo-control.service systemd-journald.service systemd-networkd.service systemd-oomd.service systemd-resolved.service systemd-udevd.service udisks2.service upower.service vboxadd-service.service

Service restarts being deferred:
 systemctl restart ModemManager.service
 systemctl restart NetworkManager.service
 /etc/needrestart/restart.d/dbus.service
 systemctl restart gdm.service
 systemctl restart systemd-logind.service
 systemctl restart wpa_supplicant.service

No containers need to be restarted.

User sessions running outdated binaries:
 vagrant @ session #2: gdm-session-wor[1389], gdm-wayland-ses[1455]
 vagrant @ session #4: sshd[2710]
 vagrant @ user manager service: at-spi-bus-laun[1647], gnome-session-b[1585], gnome-shell[1657], gvfsd[1548], ibus-daemon[1986], systemd[1398], xdg-document-po[2543]

No VM guests are running outdated hypervisor (qemu) binaries on this host.

Virtualbox Guest Additions ISO の準備:

Copy iso file /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
Mounting Virtualbox Guest Additions ISO to: /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.

Virtualbox Guest Additions 7.0.18 のインストール:

Installing Virtualbox Guest Additions 7.0.18 - guest version is 7.0.16
Verifying archive integrity...  100%   MD5 checksums are OK. All good.
Uncompressing VirtualBox 7.0.18 Guest Additions for Linux  100%  
VirtualBox Guest Additions installer
Removing installed version 7.0.16 of VirtualBox Guest Additions...
update-initramfs: Generating /boot/initrd.img-6.8.0-31-generic
Copying additional installer modules ...
Installing additional modules ...

「GuestAdditions」の開始:

VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Setting up modules
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel 
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 6.8.0-31-generic.
update-initramfs: Generating /boot/initrd.img-6.8.0-31-generic
VirtualBox Guest Additions: Running kernel modules will not be replaced until 
the system is restarted or 'rcvboxadd reload' triggered
VirtualBox Guest Additions: reloading kernel modules and services
VirtualBox Guest Additions: kernel modules and services 7.0.18 r162988 reloaded
VirtualBox Guest Additions: NOTE: you may still consider to re-login if some 
user session specific services (Shared Clipboard, Drag and Drop, Seamless or 
Guest Screen Resize) were not restarted automatically

(いつものことですが、)これ以上、処理が進まなくなりました:

-

最後の行を和訳:

VirtualBox ゲストの追加: 注: 
一部のユーザー セッション固有のサービス (共有クリップボード、
ドラッグ アンド ドロップ、シームレスまたはゲスト画面のサイズ変更) が
自動的に再起動されなかった場合でも、再ログインを検討してください。

→再起動されないときがあるみたい。

-


3). Windows+Enter にて、ホストOS に、別の「端末」画面を起動:

-

(1). 仮想マシンの状態を確認:
$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant status
:
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

仮想マシン「default」が実行中です

-

(2). 仮想マシンの電源オフ:
$ vagrant halt

赤字で下記の警告が表示:

An action 'halt' was attempted on the machine 'default',
but another process is already executing an action on the machine.
Vagrant locks each machine for access by only one process at a time.
Please wait until the other Vagrant process finishes modifying this
machine, then try again.

If you believe this message is in error, please check the process
listing for any "ruby" or "vagrant" processes and kill them. Then
try again.

和訳:

アクション「停止」がマシン「デフォルト」で試行されましたが、
別のプロセスがすでにマシン上でアクションを実行しています。
Vagrant は、一度に 1 つのプロセスのみがアクセスできるように
各マシンをロックします。
他の Vagrant プロセスがこのマシンの変更を完了するまで待ってから、
再試行してください。

-

(3). 「vagrant up」を実行した最初の「端末」画面の右上の「x」をクリック

→「ウィンドウを閉じる」

-

(4). 再び、先程の「端末」画面にて、仮想マシンを電源オフ:
$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant halt
:
==> default: Attempting graceful shutdown of VM...
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

5. ホストOS を再起動:

-

1). ホストOS を再起動:

ファイルの保存忘れに注意:

-

「端末」以外のウィンドウを閉じてから、

$ reboot

-


2). ローカルに登録された「Box」の確認:

「tree」コマンドがインストールされているかの確認:

$ apt list tree
:
tree/noble,now 2.1.1-2ubuntu3 amd64 [インストール済み、自動]

-

ローカルに保存されたBox のフォルダを確認:
$ ls -lA ~/.vagrant.d/boxes/
:
drwxrwxr-x 3 ubn ubn 4096  6月 28 12:48 caspermeijn-VAGRANTSLASH-ubuntu-desktop-24.04

-

ファイルのツリー表示:
$ tree -la ~/.vagrant.d/boxes/caspermeijn-VAGRANTSLASH-ubuntu-desktop-24.04
:
/home/ubn/.vagrant.d/boxes/caspermeijn-VAGRANTSLASH-ubuntu-desktop-24.04
├── 2024.05.08                      ←(Box のバージョン)
│   └── amd64                       ←(アーキテクチャ)
│       └── virtualbox              ←(プロバイダー)
│           ├── Vagrantfile
│           ├── box-disk001.vmdk
│           ├── box.ovf
│           ├── box_update_check
│           └── metadata.json
└── metadata_url

4 directories, 6 files

→フォルダ名に含まれる「-VAGRANTSLASH-」の文字列に注目。Box 名に含まれる「/」になります。

-

ファイルの詳細:
$ tree -la ~/.vagrant.d/boxes/caspermeijn-VAGRANTSLASH-ubuntu-desktop-24.04/2024.05.08/amd64/virtualbox/
:
/home/ubn/.vagrant.d/boxes/caspermeijn-VAGRANTSLASH-ubuntu-desktop-24.04/2024.05.08/amd64/virtualbox/
├── Vagrantfile                  ←(Vagrantfile の元ファイル)
├── box-disk001.vmdk             ←(仮想マシンのイメージ)
├── box.ovf
├── box_update_check
└── metadata.json

1 directory, 5 files

-

Vagrantfile の元ファイルの内容を確認:
$ cat ~/.vagrant.d/boxes/caspermeijn-VAGRANTSLASH-ubuntu-desktop-24.04/2024.05.08/amd64/virtualbox/Vagrantfile
Vagrant::Config.run do |config|
  # This Vagrantfile is auto-generated by `vagrant package` to contain
  # the MAC address of the box. Custom configuration should be placed in
  # the actual `Vagrantfile` in this box.
  config.vm.base_mac = "08002764E1FF"
end

# Load include vagrant file if it exists after the auto-generated
# so it can override any of the settings
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

→「仮想マシン」の MAC アドレスの設定と、Vagrantfile の累積の設定が行われています:

-

仮想マシンの状態:
$ vagrant global-status
id       name    provider   state    directory                           
-------------------------------------------------------------------------
52a0b3c  default virtualbox poweroff /home/ubn/ダウンロード/vm/ubn2404         
 
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date (use "vagrant global-status --prune" to prune invalid
entries). To interact with any of the machines, you can go to that
directory and run Vagrant, or you can use the ID directly with
Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"

-


3). 「仮想マシン」作成後の「作業フォルダ」の確認:

$ ls -lA ~/ダウンロード/vm/ubn2404/
:
drwxrwxr-x 5 ubn ubn 4096  6月 28 12:41 .vagrant
-rw-rw-r-- 1 ubn ubn  132  6月 28 12:39 Vagrantfile

-

$ tree -la ~/ダウンロード/vm/ubn2404/
:
/home/ubn/ダウンロード/vm/ubn2404/
├── .vagrant                        ←(「仮想マシン」の管理用のフォルダ)
│   ├── bundler
│   │   └── global.sol
│   ├── machines
│   │   └── default
│   │       └── virtualbox
│   │           ├── action_set_name
│   │           ├── creator_uid
│   │           ├── id
│   │           ├── index_uuid
│   │           ├── private_key     ←(ssh 接続時の鍵)
│   │           └── vagrant_cwd
│   └── rgloader
│       └── loader.rb
└── Vagrantfile                     ←(Vagrantfile ファイル)

7 directories, 9 files

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

6. 「仮想マシン」の起動:

-


1). 仮想マシンの立ち上げ:

$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'caspermeijn/ubuntu-desktop-24.04' version '2024.05.08' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

少し時間がかかりました:

VirtualBox Guest Additions の自動起動:

==> default: Machine booted and ready!
[default] GuestAdditions seems to be installed (7.0.18) correctly, but not running.
update-initramfs: Generating /boot/initrd.img-6.8.0-31-generic
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Setting up modules
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel 
modules.  This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:   /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 6.8.0-31-generic.
update-initramfs: Generating /boot/initrd.img-6.8.0-31-generic
Restarting VM to apply changes...
==> default: Attempting graceful shutdown of VM...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...

少し時間がかかりました:

VirtualBox Guest Additions の確認後、「共有フォルダ」が自動マウント:

==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /home/ubn/ダウンロード/vm/ubn2404
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

→「端末」画面が開放されました。

-

メッセージを見る限り、うまく動いていますが、GUI 画面は表示されません:

-


2). 「仮想マシン」の状態を確認:

$ vagrant status
:
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

仮想マシンの「default」が実行中です

-


3). 「仮想マシン」の確認:

$ vagrant global-status
:
id       name    provider   state   directory                           
------------------------------------------------------------------------
52a0b3c  default virtualbox running /home/ubn/ダウンロード/vm/ubn2404         
 
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date (use "vagrant global-status --prune" to prune invalid
entries). To interact with any of the machines, you can go to that
directory and run Vagrant, or you can use the ID directly with
Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"

→起動した「仮想マシン」(のウィンドウ)はデスクトップに表示されません:

-


4). 「VirtualBox マネージャ」を起動:

コマンドの「Vagrant」でなく、GUI の「VirtualBox マネージャ」で確認しました:

-

すでに「仮想マシン」は起動しており、上段のメニューに「起動」ボタンの表示はありません:

-

→その代わりに「表示」ボタンがあるので、クリック:

-

問題: 仮想マシンのウィンドウを少し移動させると、同期が乱れます:

-

問題: デスクトップ内にマウスを移動させても、マウスポインタが表示されません:

-


5). 「VirtualBox マネージャ」のメニューから、電源オフ:

仮想マシン」を選択後に、

上段のメニューから、「仮想マシン」→「停止」→「電源オフ」→「電源オフ」

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

7. 「仮想マシン」の設定を「VirtualBox マネージャ」で変更:

-

仮想マシン」をGUI で使うには問題があるので、設定を見直しました:

注意点は、一時的な設定ということで、vagrant reload などで「仮想マシン」を再作成すると、無効になります。 再度、設定が必要です。恒久的には、Box イメージを作り直すか、Vagrantfile の手直しが必要です。

-


1). ホストOS にて、「VirtualBox マネージャ」を起動:

メニュー →システム →「Oracle VM VirtualBox

→「VirtualBox マネージャ」のウィンドウが起動:

-


2). 「システム」の設定を変更:

-

マザーボード」タブ:
- メインメモリー: 2048 MB             →「4096 MB」に変更:
- ポインティングデバイス: PS/2 マウス   →「USB タブレット」に変更:

変更後:

-

プロセッサー」タブ:
- プロセッサー数: 2 CPU     →「4」CPU に変更:(任意)

→指定できる数は使っているプロセッサーにより変わります:

-


3). 「ディスプレイ」の設定を変更:

-

「スクリーン」タブ:
- ビデオメモリ: 33 MB          →「128 MB」に変更:
- グラフィックスコントローラー:  →「VMSVGA」であるか確認:
- アクセラレーション:           →「3D アクセレーションを有効化」にチェック:

変更後:

-


4). 「仮想マシン」を起動して確認:

VirtualBox マネージャ」のウィンドウにて、

仮想マシン」を選択後、「起動」をクリック:

→デスクトップ画面が表示されました:

(自動ログインになっています)

-


5). 「仮想マシン」のウィンドウにて、「VirtualBox Guest Additions」の機能を有効化:

-

(1).「共有クリップボード」の有効化:

「Devices」→「Shared Clipboard」→「Bidirectional」(双方向)を選択:

-

(2). ファイルの「ドラッグアンドドロップ」の有効化:

「Devices」→「Drag and Drop」→「Bidirectional」(双方向)を選択:

-

(3). 「解像度の自動サイズ変更」の有効化:

「View」→「Auto-resize Guest Display」のアイコンに「チェック」が付いていることを確認:

-

(4). 「マウスの統合化」はすでに有効化されています:

→右下のアイコンを確認、もしくは、実際にマウスを移動させて確認:

-

(5). 「共有フォルダ」はすでに有効化されています:

→デフォルトで、Box の「作業フォルダ」が「共有フォルダ」として指定されています:

-


6). 「仮想マシン」の電源オフ:

仮想マシン」(Ubuntu 24.04) のデスクトップにて、

右上の「電源」ボタンをクリック:

→「電源」ボタンをクリック:

→「Power off...」をクリック:

→「Power off」をクリック:

-


7). 「VirtualBox Guest Additions」の設定を反映させるために、ホストOS を再起動:

ファイルの保存忘れに注意:

-

「端末」以外のウィンドウを閉じてから、

$ reboot

-

これで、「VirtualBox マネージャ」を使えば、
仮想マシン」(Ubuntu 24.04) のデスクトップをマウスでGUI 操作できます:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

8. 「Vagrant」で「仮想マシン」を起動:

-

仮想マシンの立ち上げ:

Windows+Enter で、「端末」画面を起動:

$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'caspermeijn/ubuntu-desktop-24.04' version '2024.05.08' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

しばらく時間がかかります:

==> default: Machine booted and ready!
[default] GuestAdditions 7.0.18 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /home/ubn/ダウンロード/vm/ubn2404
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

→「端末」画面が開放されました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

9. 「仮想マシン」にssh 接続:

-

1). 仮想マシンの状態を確認:

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

→「仮想マシン」は起動中です:

-


2). 参考:「vagrant ssh」コマンドでなく、「ssh」コマンドで接続する場合の設定を確認:

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/ubn/ダウンロード/vm/ubn2404/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  PubkeyAcceptedKeyTypes +ssh-rsa
  HostKeyAlgorithms +ssh-rsa

→ポート番号が「22」から変更されていて、ssh 接続の「鍵」がひとつで、「作業フォルダ」配下に置かれていることに注目:

-


3). 最初の「ssh 接続」:

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant ssh
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Jun 28 11:39:00 AM UTC 2024

  System load:  0.0                Processes:             236
  Usage of /:   28.1% of 30.34GB   Users logged in:       1
  Memory usage: 19%                IPv4 address for eth0: 10.0.2.15
  Swap usage:   0%

Expanded Security Maintenance for Applications is not enabled.

176 updates can be applied immediately.
126 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

3 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm

This system is built by the Bento project by Chef Software
More information can be found at https://github.com/chef/bento

Use of this system is acceptance of the OS vendor EULA and License Agreements.
vagrant@vagrant:~$ 

コマンドプロンプトが変わったことに注目:

-

日時の表示を確認:

vagrant@vagrant:~$ date
Fri Jun 28 11:41:30 UTC 2024

→英語で表示:

-

ロケールの確認:

vagrant@vagrant:~$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC=C.UTF-8
LC_TIME=C.UTF-8
LC_COLLATE="C.UTF-8"
LC_MONETARY=C.UTF-8
LC_MESSAGES="C.UTF-8"
LC_PAPER=C.UTF-8
LC_NAME=C.UTF-8
LC_ADDRESS=C.UTF-8
LC_TELEPHONE=C.UTF-8
LC_MEASUREMENT=C.UTF-8
LC_IDENTIFICATION=C.UTF-8
LC_ALL=

→日本語化されていません。

-

カーネルの確認:

vagrant@vagrant:~$ uname -r
6.8.0-31-generic

-

リリース番号の確認:

vagrant@vagrant:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"

-


4). 一旦、「ssh 接続」を終了:

vagrant@vagrant:~$ exit
logout
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

コマンドプロンプトが元にもどりました:

ちなみに、「仮想マシン」は起動されたままなので注意:

-


5). 2度目以降の「ssh 接続」:

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant ssh
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Jun 28 11:46:13 AM UTC 2024

  System load:  0.0                Processes:             237
  Usage of /:   28.1% of 30.34GB   Users logged in:       1
  Memory usage: 19%                IPv4 address for eth0: 10.0.2.15
  Swap usage:   0%

Expanded Security Maintenance for Applications is not enabled.

176 updates can be applied immediately.
126 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable

3 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm

This system is built by the Bento project by Chef Software
More information can be found at https://github.com/chef/bento

Use of this system is acceptance of the OS vendor EULA and License Agreements.
Last login: Fri Jun 28 11:39:00 2024 from 10.0.2.2
vagrant@vagrant:~$ 

→表示されるメッセージは、1度目とほとんど同じでした。

ssh 接続」したので、コマンドプロンプトが変わったことに注目:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----

10. 「仮想マシン」にてシステム更新:

-

1). システム更新の確認 1:

vagrant@vagrant:~$ sudo apt update
:
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease               
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease                         
Get:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Get:5 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [208 kB]
Get:6 http://archive.ubuntu.com/ubuntu noble-updates/main i386 Packages [116 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble-updates/universe i386 Packages [50.2 kB]
Get:8 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [99.7 kB]
Fetched 600 kB in 5s (130 kB/s)                            
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
192 packages can be upgraded. Run 'apt list --upgradable' to see them.

→192 の更新がありました:

-

更新の実行:
vagrant@vagrant:~$ sudo apt upgrade
:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  libavcodec60 libavutil58 libswresample4
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following NEW packages will be installed:
  linux-image-6.8.0-36-generic linux-modules-6.8.0-36-generic
  linux-modules-extra-6.8.0-36-generic
The following upgrades have been deferred due to phasing:
  dracut-install file-roller libnautilus-extension4 nautilus nautilus-data
The following packages will be upgraded:
  cloud-init cups cups-bsd cups-client cups-common cups-core-drivers
  cups-daemon cups-ipp-utils cups-ppdc cups-server-common dhcpcd-base
  fonts-opensymbol ghostscript gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0
  gir1.2-gst-plugins-base-1.0 gir1.2-javascriptcoregtk-4.1
: 省略

  ubuntu-release-upgrader-gtk udev uno-libs-private ure vim vim-common
  vim-runtime vim-tiny wget xxd
187 upgraded, 3 newly installed, 0 to remove and 5 not upgraded.
96 standard LTS security updates
Need to get 923 MB of archives.
After this operation, 170 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

→Enter で続行:

カーネルの更新が含まれていました)

-


2). システム更新の確認 2:

vagrant@vagrant:~$ sudo apt update
:
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease                         
Hit:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease                 
Hit:3 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
5 packages can be upgraded. Run 'apt list --upgradable' to see them.

→5つの更新があります。

-

更新の詳細の表示:
vagrant@vagrant:~$ apt list --upgradable
:
Listing... Done
dracut-install/noble-updates 060+5-1ubuntu3.1 amd64 [upgradable from: 060+5-1ubuntu3]
file-roller/noble-updates 44.3-0ubuntu1 amd64 [upgradable from: 44.1-1]
libnautilus-extension4/noble-updates 1:46.2-0ubuntu0.1 amd64 [upgradable from: 1:46.0-0ubuntu2]
nautilus-data/noble-updates,noble-updates 1:46.2-0ubuntu0.1 all [upgradable from: 1:46.0-0ubuntu2]
nautilus/noble-updates 1:46.2-0ubuntu0.1 amd64 [upgradable from: 1:46.0-0ubuntu2]

→表示するだけなら、「sudo」を付けなくても実行できることに注目:

-

更新の実行:
vagrant@vagrant:~$ sudo apt upgrade
:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  libavcodec60 libavutil58 libswresample4
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following upgrades have been deferred due to phasing:
  dracut-install file-roller libnautilus-extension4 nautilus nautilus-data
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

→保留されたパッケージが 5つあります

-

ちなみに、
インストールの判断が必要な、自動更新できないパッケージは、保留されます

-

保留されたパッケージのインストール:
vagrant@vagrant:~$ sudo apt install dracut-install file-roller libnautilus-extension4 nautilus nautilus-data

保留されたパッケージをなくすには、インストールしてやるだけです。複数指定が可能です。

-


3). システム更新の確認 3:

更新がないときの、表示例です:

vagrant@vagrant:~$ sudo apt update
:
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease                       
Hit:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease               
Hit:3 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

→更新はありません。

-

更新の実行:
vagrant@vagrant:~$ sudo apt upgrade
:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  libavcodec60 libavutil58 libswresample4
Learn more about Ubuntu Pro at https://ubuntu.com/pro
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

→更新や保留はありません。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -

11. 「仮想マシン」の再起動:

-

多数のパッケージやカーネルの更新が含まれていたので、再起動します:

再起動したら、カールの更新に伴う更新がありえるので、再度、システム更新を実行します。

-

「sudo reboot」で再起動すると簡単ですが、「仮想マシン」が不安定になるので、地道に停止してから、起動しています:

-

1). ssh 接続を抜けます:

vagrant@vagrant:~$ exit
logout
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

→再起動の操作は、ホストOS 側に戻る必要があります。

-

2). 「仮想マシン」の確認:

$ vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

→下側のメッセージは、いつものことなので無視。

ちなみに、「default」とは「Vagrant」での仮想マシン名です

-

3). 「仮想マシン」の停止(電源オフ):

$ vagrant halt
==> default: Attempting graceful shutdown of VM...
==> default: Forcing shutdown of VM...
$ 

→プロンプトが戻るまで、時間がかかります。

-

4). 「仮想マシン」の確認:

$ vagrant status
Current machine states:

default                   poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

-

5). 「仮想マシン」の起動:

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'caspermeijn/ubuntu-desktop-24.04' version '2024.05.08' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

しばらく時間がかかります:

==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   6.0.0
VBoxService inside the vm claims: 7.0.18
Going on, assuming VBoxService is correct...
[default] GuestAdditions 7.0.18 running --- OK.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   6.0.0
VBoxService inside the vm claims: 7.0.18
Going on, assuming VBoxService is correct...
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => /home/ubn/ダウンロード/vm/ubn2404
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

→プロンプトが戻れば、「仮想マシン」が起動されています:

-


6). 「ssh 接続」:

$ cd ~/ダウンロード/vm/ubn2404/

-

$ vagrant ssh
:
Last login: Fri Jun 28 12:37:41 2024 from 10.0.2.2
vagrant@vagrant:~$ 

-

これで、「ssh 接続」されているので、ホストOS の「端末」画面にて、
仮想マシン」(Ubuntu 24.04) のデスクトップをコマンドで操作できます:

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --

12. 参考:「仮想マシン」のウィンドウを常時表示するように変更:

-

GUI 操作をメインにしたい場合は、「仮想マシン」のウィンドウを常時表示にすると便利です。 ただし、パスワードなしの自動ログインなので、セキュリティ上のリスクが高くなります。

Lightdm をインストールして、「ログイン」画面を表示させることと、vagrant ユーザのパスワードを再設定することをオススメします:

-


1). GUI 表示するように「Vagrantfile」を修正:

-

(1). 「Vagrantfile」にコメント行がある場合:
$ featherpad ~/ダウンロード/vm/ubn2404/Vagrantfile

vb.gui」で検索:

-

63行目:

  #   vb.gui = true

↓ コメント行を解除:

  #   vb.gui = true
  vb.gui = true

-

確認:

$ cat ~/ダウンロード/vm/ubn2404/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://vagrantcloud.com/search.
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine. In the example below,
  # accessing "localhost:8080" will access port 80 on the guest machine.
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # Create a forwarded port mapping which allows access to a specific port
  # within the machine from a port on the host machine and only allow access
  # via 127.0.0.1 to disable public access
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # Disable the default share of the current code directory. Doing this
  # provides improved isolation between the vagrant box and your host
  # by making sure your Vagrantfile isn't accessible to the vagrant box.
  # If you use this you may want to enable additional shared subfolders as
  # shown above.
  # config.vm.synced_folder ".", "/vagrant", disabled: true

  # Provider-specific configuration so you can fine-tune various
  # backing providers for Vagrant. These expose provider-specific options.
  # Example for VirtualBox:
  #
  # config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Enable provisioning with a shell script. Additional provisioners such as
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end

Ctrl+S で保存:

-

(2). 「Vagrantfile」にコメント行がない場合:
$ featherpad ~/ダウンロード/vm/ubn2404/Vagrantfile

下記のように修正:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
end

↓ 修正、もしくは置換:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
  #   vb.gui = true
  vb.gui = true
end

Ctrl+S で保存:

-

(3). 参考:「Vagrantfile」に、修正版3: 使い回し可能な「Vagrantfile」を使う場合:
$ featherpad ~/ダウンロード/vm/ubn2404/Vagrantfile

↓ すべて置換え:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "caspermeijn/ubuntu-desktop-24.04"
  config.vm.box_version = "2024.05.08"
  config.vm.boot_timeout = 300
  #config.vm.boot_timeout = 60
  # ホストの作業フォルダ内の data フォルダと
  # 仮想マシン内の /vagrant_data フォルダを共有:
  # 指定のフォルダがない場合は、フォルダを作成:
  config.vm.synced_folder "./data", "/vagrant_data", create: true
  # デフォルトの共有フォルダを無効にします:
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.provider "virtualbox" do |vb|
    # 仮想マシンの起動時に VirtualBox GUI を表示:
    vb.gui = true
    vb.memory = "2048"
    #vb.memory = "4096"
    vb.cpus = 2
    vb.customize ["modifyvm", :id, "--mouse", "usbtablet"] 
    #vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxsvga"]
    vb.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"]
    vb.customize ["modifyvm", :id, "--accelerate3d", "on"]
    vb.customize ["modifyvm", :id, "--vram", "128"]
  end
end

Ctrl+S で保存:

メモリとCPU 数はマシンで変わるので、任意に設定してください。

共有フォルダの位置が変わっているので注意:

今回のBox は、うまく動作するので、警告表示をしないように、タイムアウト値「config.vm.boot_timeout」を(デフォルトの値に)増やしました。

-


2). 「仮想マシン」に「Vagrantfile」の修正を反映:

$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant reload
==> default: Checking if box 'caspermeijn/ubuntu-desktop-24.04' version '2024.05.08' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

少し時間がかかります:

==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   6.0.0
VBoxService inside the vm claims: 7.0.18
Going on, assuming VBoxService is correct...
[default] GuestAdditions 7.0.18 running --- OK.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:   6.0.0
VBoxService inside the vm claims: 7.0.18
Going on, assuming VBoxService is correct...
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant_data => /home/ubn/ダウンロード/vm/ubn2404/data
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

→プロンプトが返ってきました:

-

上記は、「項番 (3)」の場合のメッセージです:

「共有フォルダ」が自動でマウントされました:

    default: /vagrant_data => /home/ubn/ダウンロード/vm/ubn2404/data

「共有フォルダ」が別に準備されたことを確認:

$ ls -lA ~/ダウンロード/vm/ubn2404/
:
drwxrwxr-x 5 ubn ubn 4096  6月 28 12:41 .vagrant
-rw-rw-r-- 1 ubn ubn 1120  6月 29 05:44 Vagrantfile
drwxrwxr-x 2 ubn ubn 4096  6月 29 05:36 data  ←(自動で作成されました)

→使い勝手を良くするために、専用のフォルダを作成しました。

-


3). 仮想マシンのイメージが元に戻るので、「項番 (1)」、「項番 (2)」の場合は、「項番 7.」の再設定が必要です:

「項番 (3)」の場合は、再設定は要りません。

-


4). 参考: 「ログイン」画面を表示させます:

GUI 操作をメインにするなら、セキュリティ上、ログイン画面はあったほうが良いのですが、サイズが大きいので、任意です:

「項番 3). 」で、すでに「仮想マシン」(および、そのウィンドウ)は起動されています:

-

(1). 「ssh 接続」:
$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant ssh
:
Last login: Fri Jun 28 12:55:20 2024 from 10.0.2.2
vagrant@vagrant:~$ 

-

(2). 「Lightdm」のインストール:
vagrant@vagrant:~$ sudo apt install lightdm
:
The following NEW packages will be installed:
  accountsservice-ubuntu-schemas avahi-utils bamfdaemon gnome-bluetooth
  gnome-screensaver i965-va-driver indicator-applet indicator-application
  indicator-appmenu indicator-bluetooth indicator-common indicator-datetime
  indicator-keyboard indicator-messages indicator-power indicator-printers
  indicator-session indicator-sound intel-media-va-driver jayatana
  libaccounts-glib0 libasound2-plugins libavcodec60 libavutil58 libbamf3-2t64
  libcodec2-1.2 libdav1d7 libfcitx-config4 libfcitx-gclient1 libfcitx-utils0
  libgnome-panel3 libgsm1 libhwy1t64 libido3-0.1-0 libigdgmm12 libindicator3-7
  libjack-jackd2-0 libjxl0.7 liblightdm-gobject-1-0 libmessaging-menu0
  librav1e0 libshine3 libsnappy1v5 libsoxr0 libsvtav1enc1d1 libswresample4
  libunity-gtk2-parser0 libunity-gtk3-parser0 libunity-settings-daemon1
  libva-drm2 libva-x11-2 libva2 libvdpau1 libvpl2 libx264-164 libx265-199
  libxvidcore4 libzvbi0t64 lightdm mesa-va-drivers mesa-vdpau-drivers
  ocl-icd-libopencl1 policykit-1-gnome pulseaudio-utils system-config-printer
  ubuntu-touch-sounds unity-greeter unity-gtk-module-common unity-gtk2-module
  unity-gtk3-module unity-settings-daemon unity-settings-daemon-schemas
  va-driver-all vdpau-driver-all
0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded.
Need to get 52.2 MB of archives.
After this operation, 151 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

→余分なパッケージがインストールされるのが難点。

-

「注意書き」が表示:

→「OK」で、Enter

-

「gdm3」と「lightdm」の選択画面が表示:

→「↓」キーで「lightdm」を選んで、Tab キーで「OK」に行き、Enter

-

:
info: Adding system user `lightdm' (UID 125) ...
info: Adding new user `lightdm' (UID 125) with group `lightdm' ...
info: Creating home directory `/var/lib/lightdm' ...
usermod: no changes
usermod: no changes
info: Selecting GID from range 100 to 999 ...
info: Adding group `nopasswdlogin' (GID 126) ...
:
vagrant@vagrant:~$ 

-

(3). 「仮想マシン」の再起動:

-

ssh 接続を抜けます:
vagrant@vagrant:~$ exit
logout
ubn@ubnbox:~/ダウンロード/vm/ubn2404$ 

-

仮想マシン」の停止(電源オフ):
$ vagrant halt
==> default: Attempting graceful shutdown of VM...
$ 

→プロンプトが戻るまで、時間がかかります。

-

仮想マシン」の起動:
$ cd ~/ダウンロード/vm/ubn2404/
$ vagrant up

-

(4). 「ログイン」画面が表示:

vagrant」ユーザが選ばれているので、

パスワードに「vagrant」を入力して、Enter

-

ちなみに、壁紙に「Ubuntu 23.10」の文字が残っています。更新忘れ。

-

(5). 「デスクトップ」画面が表示:

後は、日本語化したいところ。

-

-


まとめ

今回は、「VirtualBox 7.0.18」に「Vagrant」の環境を構築しての最初の確認です。

-

なので、一番メジャーと思われる「Ubuntu 24.04」の仮想マシンを作成してみました。
「デスクトップ付き」にしたこともあり、残念ながら(最終確認が足りない?からか)ダウンロードで失敗するBox が多かったです。

-

たぶん、公式サイトに登録した後に、ダウンロードして使えるか試していないか、もしくは、ローカルに登録したBox を削除しない(ダウンロードは実行されません)で試したのかも。試せばすぐにわかることなので確認が足りなかったみたい。おかげで「最終確認の大切さ」を再認識しました。

-

せっかく公開された貴重な Box イメージです。「Box イメージ」と、「チェックサム値」があれば、登録をミスしていてもBox は使えます。

なので、公式のBox のサイトにて、ダウンロードする項目のところに「チェックサム値」も一緒に表示される形式にして欲しい、と思いました。

-

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-