以前仮想マシンで試したものの、あまり時間が取れず、しっかり使えていなかった。
余っている(テスト用においてある)Thinkpad x390に実際に入れて試してみた。
Vanilla OS
ところが、サイトに行ってみると少し前(2026-08-24)にUpdateされており2→3へと2年ぶりの更新。
簡単に言うとイミュータブルなOSで、OS本体の書き換えは基本的にできず、A/Bパターンで起動する必要がある。
Aでインストールしたものは、Bに入れられ、起動時にBを選択するとインストール後の状態で使える仕組み。不具合があればまたAに戻せるというもの。
若干、コマンド類が変わってしまっているらしい。
イミュータブルなOSは、これまでにも試したものの日本語がうまく扱えないなど常用するには結構厳しいものがあった。
とはいえ、時間の経過で様々なアプリケーションがFlatpakやAppImageで出揃ってきたので、今回テストすることにした。
インストーラ自体は小さく、起動用のUSBに書き込んで起動すればOK。
インストール完了後、マシン名やユーザ名を入力することで、環境設定は完了。
基本的にはFlatpakでインストールするのが正しい使い方らしいので、必要そうなものを入れてみた。
- vscode
- Brave Browser
- LMStudio
- DBeaver-ce
- Thunderird
- Obsidian
- opencode
- LibreOffice
など・・・
どれも、サクサクと動作して気持ちいい。
日本語環境
さて、問題は日本語環境だが、調べてみるとflatpakにmozcもfcitx5も存在していた。
これんらばと思い、入れてみる。
https://note.kurodigi.com/vanillaos-fcitx5-mozc/
が、vanillaOS2の記事のようだけれども、同じ手順でOKだった。
すばらしい。
いつも使用しているmozcが動作するようになった。
ところが、LMStudioでハマった…
flatpak特有の問題
LMStudioはすんなり入り、LMLinkでローカルのAIサーバも使用可能。
で、URLを指定したときにWEBサイトを取りに行かせて、処理させるMCPでハマった。
https://github.com/modelcontextprotocol/servers/tree/main/src/fetch
これを使用して、fetch-urlというMCPを登録する。
もちろんuvは導入済みなので、お勧めのuvxで呼び出すことにする。
ところが、
「This message contains no content. The AI has nothing to say.」
とな…。
Logを見ると、
2026-09-03 17:01:54 [ERROR]
[Plugin(mcp/fetch-url)] stderr: Warning: node executable not found, reverting to pure-Python mode. Install Node.js v10 or newer to use Readability.js.
[Plugin(mcp/fetch-url)] stderr: [MCPBridge/unexpected] Bridge process failed: spawn /home/username/.local/share/../bin/uvx ENOENT
などと言っている。
どうも、呼び出しに失敗しているみたいだ。
ただPATHが気になる。
~/.local/share/../bin/uvx
実際には、~/.local/bin/uvxなのだが、回りくどい表記に変わってしまっている。
いつもはあまりflatpakを使用していないので、なぜ起きるのかがよくわからない。
こんな時こそChatGPTに聞いてみる。
Logと環境、状況を渡すと一発で回答してくれた。
原因は Flatpak のサンドボックスでほぼ確定である。
ホスト側では /home/username/.local/bin/uvx が存在し、直接起動も成功している。しかし Flatpak 版 LM Studio からは、そのホスト側パスが見えていないため spawn ... ENOENT になっている。LM Studio はローカル MCP を別プロセスとして起動するため、uvx が LM Studio 自身の実行環境から参照可能である必要がある。
ということで、サンドボックスから参照できるようにしてやれば良いらしい。
flatpak override --user \
--filesystem=/home/username/.local/bin:ro \
ai.lmstudio.lm-studio
既存の設定に、.local/binをread onlyで読めるようにすれば良いとのこと。
これで、インストール済みのuvxを呼び出すことが可能になった。
実際に試したところ、全く問題なく動作するようになった。
こういった、あまり使用しないコマンドや設定などを教えてくれるのはありがたい。
あとは、MegaSyncを使用しているのだけれど、Flatpak版が存在していない。
ubuntu,debian,archなど各種パッケージがVanillaでは利用できるらしいのだが、このあたりはもう少しお作法を調査しながら使えるようにしてみようと思う。
問題ないようであれば、メインに据えても良いかなぁなどと思案中。
コメント
コメントを投稿
励みになりますので、簡単で良いので一言くださいませ。