メインコンテンツへスキップ
見出し画像

Ubuntu24.04に画像生成AI Stable Diffision(ComfyUI)を入れてみた

    ComfyUIの特徴とは

    画像生成ソフトであるComfyUIは、かなり自由度が高い反面で、かなり面倒な操作の画面になっています。AIにその都度、聞きながらやらないと、はっきり言って分からないです。

    画像の加工に特化されているのでできることは多いです。例えば、キャラの目の部分だけを閉じてという指示もすることができます。

    画像



    画像生成だけが目的なら、Ubuntu にメリットは、ほとんどありません。Windows のほうが楽です。

    それでも、Ubuntu を選ぶメリットが2つあります。
    ①GPU メモリを OS が食わないので軽い
    ②API 経由の自動化と相性がいい
    このメリットを重視したい場合Ubuntuを選びます。

    問題は、日本語の解説記事がほぼ Windows 前提だということです。そのまま真似すると、序盤で何度も止まります。

    ただ、詰まる箇所はだいたい決まっています。先に知っていれば避けられるものばかりでした。

    1. Python のバージョンで全部決まる

    これが最大の地雷です。

    Ubuntu 24.04 の標準 Python は 3.12。ComfyUI も PyTorch も対応しているので問題ありません。

    ところが、より新しい Ubuntu だと標準が Python 3.14 になります。この環境では動きません。 PyTorch が対応していないので、何をしても最終的に失敗します。

    厄介なのは、エラーが「Python のバージョンが違います」という形で出ないことです。依存パッケージのビルドが失敗した、モジュールが見つからない、といった枝葉のエラーが延々と出続けます。一つ潰すとまた別のが出る。土台が違うのだから当然です。

    私は一度これで挫折して、OS ごと入れ直しました。24.04 に戻したら、そこから先は一度もエラーが出ませんでした。

    インストールを始める前に、まずこれを打ってください。

    python3 --version
    

    3.12 なら進めていい。それ以外なら、OS を選び直すか、別バージョンの Python を用意する話から始まります。

    2. 素の Ubuntu には git も venv も入っていない

    Windows の記事には絶対に出てこない話です。

    インストールしたばかりの Ubuntu 24.04 には、git も python3-venv も pip も curl も入っていません。「git clone してください」と書かれた手順を実行すると、いきなり command not found で止まります。

    先に入れておきます。

    sudo apt update
    sudo apt install -y git python3-venv python3-pip build-essential libgl1 libglib2.0-0t64
    

    3. libglib2.0-0 は 24.04 で名前が変わった

    上のコマンドの末尾、libglib2.0-0t64 の t64 に見覚えがない人が多いと思います。

    24.04 で 64bit time_t への移行があり、多くのライブラリ名に t64 が付きました。古い記事のコマンドをそのままコピペすると、この一行だけが通りません。

    「パッケージが見つかりません」と言われたら、パッケージ名の末尾に t64 を付けて試してみてください。

    4. CUDA Toolkit は入れてはいけない

    これは Linux ユーザーがやりがちな失敗です。

    「GPU を使うのだから CUDA が要るだろう」と考えて、apt install nvidia-cuda-toolkit を実行してしまう。これで環境が壊れます。

    PyTorch は必要な CUDA ランタイムを自分で同梱しています。 別途 Toolkit を入れる必要はなく、入れるとバージョンが衝突して面倒なことになります。

    必要なのは NVIDIA ドライバだけです。

    sudo ubuntu-drivers install
    

    5. ~/.local/bin は作った瞬間には PATH に入らない

    起動を楽にするため、~/.local/bin/comfyui のようなスクリプトを置く人は多いと思います。ところが実行すると command not found になる。

    Ubuntu の .bashrc は「~/.local/bin が存在すれば PATH に追加する」という書き方になっています。つまり ディレクトリを作る前にシェルが起動していると、PATH に入っていません。

    新しいターミナルを開けば直ります。今のターミナルで反映させるなら、

    source ~/.bashrc
    

    6. デスクトップアイコンは「信頼」しないと動かない

    .desktop ファイルを作ってデスクトップに置いても、ダブルクリックで何も起きないことがあります。GNOME が信頼されていないランチャーとして扱うためです。

    これで解決します。

    gio set ~/Desktop/ComfyUI.desktop metadata::trusted true
    

    なお 24.04 のデスクトップアイコンは 右上から並びます。Windows の癖で左上を探すと見つかりません。

    7. モデルはアプリの外に置く

    技術的な地雷ではなく設計の話ですが、これが一番あとで効いてきます。

    画像生成のモデルは1個で2〜7GB。集め始めると簡単に数十GBになります。これをアプリのフォルダの中に置くと、アプリを入れ直すたびに巻き添えで消えるし、別の UI を試すときに二重に持つ羽目になります。

    最初にこう分けておきます。

    ~/apps/     アプリ本体
    ~/models/   モデル置き場
    ~/work/     自作スクリプト・出力物
    

    ComfyUI は設定ファイル1枚で外部フォルダを参照できるので、この構成と相性がいいです。

    ついでにもう一つ。モデルの入手先は Hugging Face を先に見てください。 Civitai は有名ですがダウンロードにアカウントが必要です。Hugging Face なら認証なしで、コマンド一発で落とせます。ファイルページの URL に含まれる blob を resolve に書き換えると直リンクになります。

    エラー逆引き

    実際に出たものを並べておきます。

    画像

    どれも一度組んでしまえば、同じ苦労は二度としません。

    これから入れる人の時間が少しでも短くなれば幸いです。


    あなたへのおすすめ