はじめに
昨今、AI・AIエージェントといっしょにプログラミングをする流れになりました。気づけば、プログラミングの現場にはAIエージェントが当たり前のように入り込んできています。
でも、AIエージェントがどんどん高機能になるにつれて、ちょっと怖くなってきました。知らないうちに、
- AWSのAPIキーをGitHubにアップロードされていて高額請求。。。
- PC上の家族写真をアップロードされていた。。。
みたいな不安感が押し寄せてきます。
どんなに賢くても相棒のAIには安全管理が必要では?というわけで、AIエージェントを隔離して安全に作業できる環境を作ることにしました。VM(仮想マシン)でサンドボックスを組んで、AIとの適度なソーシャルディスタンスを確保する作戦です。
今回は、macOS上でのAIエージェントとの協業を想定しています。構成はこんな感じです。
ゴールは以下です。
- 日本語入力環境のインストール
- ブラウザのインストール
- VSCodeのインストール
- Cursorのインストール
この記事では、VMの実行環境に、Parallels 26 を利用しています。
VM実行環境のインストール
おすきなものをご用意下さい。
- VirtualBox (無料)
- VMWare Fusion (個人利用には無料)
- Parallels Desktop
- UTM (無料)
Ubuntu 24.04 Desktop のインストール
ISOをダウンロードして、インストール、または、VMのイメージを取得してインストールしてください。
Ubuntu 24.04 Desktopでのツールの準備
日本語入力環境の準備
sudo apt update
sudo apt install ibus-mozc
ibus restart
sudo apt install mozc-utils-gui
詳しくは、こちらを参考にしてください。
わたしは、shift + control + space で IMEの ON/OFF を設定しています。
ブラウザのインストール
Chrome
Chromium Browserをインストール
sudo apt update
sudo apt install chromium-browser
詳しくは、こちらを参考にしてください。
インストールしても起動しない場合は、後述のトラブルシューティングを参考にしてください。
Firefox
Ubuntu24.04 Desktop にはデフォルトで入ってます。
VSCodeのインストール
VSCode公式から、ダウンロードします。
ここでは、code_1.108.2-1769004889_arm64.deb がダウンロードできたとします。
sudo dpkg -i ./code_1.108.2-1769004889_arm64.deb
ターミナルからは、code で起動できます。
Cursorのインストール
Cursor公式から、ダウンロードします。
ARMを選択しましょう。
ここでは、cursor_2.4.21_arm64.deb がダウンロードできたとします。
以下のコマンドで起動します。
mv cursor_2.4.21_arm64.deb /tmp/
sudo apt install /tmp/cursor_2.4.21_arm64.deb
ターミナルからは、cursor で起動できます。
トラブルシューティング
Chromiumが起動しない
デスクトップでアイコンをクリックしても、Chromiumが起動しないことがあります。
その場合は、ターミナルで以下を実行してみたください。
Chromiumをターミナルで起動して動作を確認
GNOME 関連 snap の確認
$ chromium
Content snap command-chain for /snap/chromium/3351/gnome-platform/command-chain/desktop-launch not found:
ensure slot is connected
Chromium snap の確認
$ snap list | grep chromium
chromium 144.0.7559.96 3351 latest/stable canonical**
Chromium と GNOME runtime の snap 状態を確認
$ snap list | grep gnome
gnome-42-2204 0+git.837775c-sdk0+git.7b07595 228 latest/stable/… canonical** -
Chromium の snap interface 接続状況を確認
$ snap connections chromium
Interface Plug Slot Notes
audio-playback chromium:audio-playback :audio-playback -
audio-record chromium:audio-record :audio-record -
bluez chromium:bluez :bluez -
browser-support chromium:browser-sandbox :browser-support -
camera chromium:camera :camera -
content chromium:gnome-46-2404 - -
content[gpu-2404] chromium:gpu-2404 mesa-2404:gpu-2404 -
content[gtk-3-themes] chromium:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[icon-themes] chromium:icon-themes gtk-common-themes:icon-themes -
content chromium:install-cups-runtime-dependency - -
content[sound-themes] chromium:sound-themes gtk-common-themes:sound-themes -
cups chromium:cups cups:cups -
desktop chromium:desktop :desktop -
desktop-legacy chromium:desktop-legacy :desktop-legacy -
gsettings chromium:gsettings :gsettings -
hardware-observe chromium:hardware-observe :hardware-observe -
hidraw chromium:hidraw - -
home chromium:home :home -
joystick chromium:joystick :joystick -
kerberos-tickets chromium:kerberos-tickets - -
mount-observe chromium:mount-observe - -
mpris - chromium:mpris -
network chromium:network :network -
network-bind chromium:network-bind :network-bind -
network-manager chromium:network-manager - -
opengl chromium:opengl :opengl -
password-manager-service chromium:password-manager-service - -
pcscd chromium:pcscd - -
personal-files chromium:chromium-config :personal-files -
personal-files chromium:dot-local-share-applications :personal-files -
personal-files chromium:dot-local-share-icons :personal-files -
raw-usb chromium:raw-usb - -
removable-media chromium:removable-media :removable-media -
screen-inhibit-control chromium:screen-inhibit-control :screen-inhibit-control -
serial-port chromium:serial-port - -
system-files chromium:etc-chromium-browser-policies :system-files -
system-packages-doc chromium:system-packages-doc :system-packages-doc -
timezone-control chromium:timezone-control - -
u2f-devices chromium:u2f-devices :u2f-devices -
unity7 chromium:unity7 :unity7 -
upower-observe chromium:upower-observe :upower-observe -
wayland chromium:wayland :wayland -
x11 chromium:x11 :x11
判断
- Chromium は gnome-46-2404 を要求している
- しかし実際にインストールされているのは gnome-42-2204
- 表示は 接続先 slot が存在しないことを意味する
GNOME runtime の世代不一致が原因
この結果のように、ほとんどの場合が、gnomeと接続できていないなどのエラーなので、以下の解決方法をとります。
不足している GNOME runtime をインストール
sudo snap install gnome-46-2404
GNOME runtime と Chromium を明示的に接続
自動接続されないケースがあるため、手動で interface を接続。
sudo snap connect chromium:gnome-46-2404 gnome-46-2404:gnome-46-2404
snapd を再起動して反映
sudo systemctl daemon-reload
sudo systemctl restart snapd
リンク
- VSCode公式
- Cursor公式
- 【2024年07月版】Ubuntu24.04のデスクトップでGoogle日本語入力を使う方法【Mozc, ibus-mozc, fcitx5-mozc】
- 【2025年04月版】ARMアーキテクチャの Ubuntu24.04 に Chromiumブラウザをインストールするメモ
- 【2025年04月版】AI時代の自己防衛、仮想環境でAIエージェントを安全に使う環境構築メモ【macOS + Ubuntu】
さいごに
AIエージェントとの共存は、便利さとリスクが表裏一体であることを痛感させられます。高機能な相棒だからこそ、安全管理が何より重要です。今回は仮想環境を活用して、物理的にリスクを分離することで、安心してAIエージェントを活用できる環境を整えました。
今後も技術の進化に伴い、新たなリスクが発生するかもしれませんが、常にセキュリティ意識を持ち、柔軟に対応してい駆使性が大事かと思います。AIエージェントをより安全に、そして快適に使いこなしていくための一助になれば幸いです。


