以下の内容はhttps://malsan.hatenablog.com/entry/2025/08/22/005518より取得しました。


【Proxmox】cloud-initでUbuntu DesktopのVMを作成する | Creating an Ubuntu Desktop VM with cloud-Init

cloud-initはUbuntu Serverでしか使えないんじゃないの? と思って困っていたあなた!朗報です。Ubuntu Desktopでもcloud-initが利用できます!

※ 非正規的な方法になります。VMの起動が不安定ではあるので自己責任でお願いします。

TL;DR

Ubuntu Serverのcloud imageから作成したVMに対してUbuntu Desktopをインストールし、それをテンプレート化することで実現可能

クラウドイメージを利用しているため、デスクトップ版になってもcloud initによる初期化は可能らしい。

Ubuntu Desktopのcloud-initテンプレートの作成方法

以下の手順でUbuntu Desktopのcloud-initテンプレートを作成することができます。

  1. Ubuntu Serverの公式cloud imageを利用してcloud-initテンプレートを作成
  2. 作成したUbuntu Serverのcloud-initテンプレートを利用してVMを作成する
  3. 作成したVMに対して、ubuntu-desktopパッケージをインストールし、デスクトップ化する
  4. デスクトップ化したUbuntuのVMをcloud-initテンプレートに変換する

4で作成したcloud-initテンプレートを用いてVMを作成すると、cloud-initで初期化されたマシンが作成されます。もちろんユーザ名やパスワード、IPアドレス等もcloud-initで設定可能です。

注意点

ただし、注意点があります。

cloud imageにはデフォルトでUbuntuユーザーが登録されており、ログイン時に表示される

前述の作業でUbuntu DesktopのVMを払い出すと、cloud-initで設定したユーザ名と異なる、Ubuntuというユーザーがログイン画面に出てきます。 理由は詳しくは理解していませんが、cloud imageにはデフォルトでUbuntuユーザーが作成されているようです。

不要であればテンプレート化の作業のどこかで削除すると良いでしょう。

deluser --remove-home ubuntu

2. VM起動後が少々不安定

これは体感でありデータは特に無いのですが、VM起動後、真っ黒の画面でフリーズすることがあります。原因はわからないのですが自分の環境では一定の割合で発生するのでどうにかしたいところではあります。

おまけ: cloud-initの仕組みから上記が実現できる理由を考える。

まず、Proxmoxではcloud-initの設定をどのように反映しているのでしょうか。

cloud-initは通常、クラウド環境においてメタデータサーバーから設定を取得します。しかしクラウド基盤が存在しない環境では、代わりに NoCloud という仕組みが利用されます。この方式では、ユーザーデータを格納したCD-ROMイメージ(仮想ディスク)をインスタンスにアタッチし、Ubuntu cloud Imageが起動時にそれを読み取って設定を適用します。

したがって、Ubuntu ServerにDesktop環境を追加してテンプレート化しておけば、起動時にcloud-initの設定をCD-ROM経由で読み込ませることで、ユーザー名やパスワードなどを外部から柔軟に指定できるわけです。




以上の内容はhttps://malsan.hatenablog.com/entry/2025/08/22/005518より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14