AppImageをダブルクリックしても反応しない場合は、ファイルが壊れているとは限りません。 Debianでは、実行権限が設定されていない、FUSE 2系のライブラリが不足している、 CPUに合わないAppImageをダウンロードした、保存場所が実行禁止になっている、といった原因がよくあります。
最初にターミナルからAppImageを起動し、表示されたエラーに合わせて対処するのが最も確実です。 この記事ではDebian 12とDebian 13を対象に、基本的な確認から高度な切り分けまで順番に解説します。
目次
1.ターミナルから起動してエラーを確認する
ファイルマネージャーからダブルクリックした場合、エラーが表示されないことがあります。 まずはターミナルからAppImageを実行してください。
以下では、ダウンロードフォルダーにある
MyApp-x86_64.AppImageというファイルを例にします。
実際のファイル名に置き換えてください。
cd ~/Downloads
ls -lh *.AppImage
./MyApp-x86_64.AppImage
ファイル名に空白が含まれる場合は、名前を引用符で囲みます。
./"My App-x86_64.AppImage"
よくあるエラーと原因
| 表示されるエラー | 主な原因 |
|---|---|
Permission deniedまたは「許可がありません」 |
実行権限がない、保存場所がnoexec |
AppImages require FUSE to run |
FUSE 2系ライブラリが不足している |
Exec format error |
CPU形式が一致していない、ファイルが壊れている |
No such file or directory |
ファイル名や保存場所が違う、必要なローダーがない |
error while loading shared libraries |
必要な共有ライブラリが不足している |
No usable sandbox! |
Electronのサンドボックスを利用できない |
| 何も表示されず終了する | 設定ファイル、画面表示方式、GPU、アプリ側の不具合 |
2.AppImageに実行権限を付ける
ターミナルから設定する方法
cd ~/Downloads
chmod u+x MyApp-x86_64.AppImage
./MyApp-x86_64.AppImage
chmod u+xは、そのファイルの所有者に実行権限を追加するコマンドです。
設定後にls -lを実行すると、権限部分にxが追加されます。
ls -l MyApp-x86_64.AppImage
次のように-rwxで始まっていれば、所有者に実行権限があります。
-rwxr--r-- 1 user user 132120576 8月 19 21:45 MyApp-x86_64.AppImage
ファイルマネージャーから設定する方法
- AppImageを右クリックします。
- 「プロパティ」を開きます。
- 「アクセス権」タブを選択します。
- 「プログラムとして実行可能」または同様の項目を有効にします。
- プロパティを閉じてAppImageをダブルクリックします。
chmod u+xを実行してください。
3.FUSE関連のエラーを解決する
多くのType 2 AppImageは、内部のファイルシステムを一時的にマウントするためにFUSEを使用します。 DebianにFUSE 3が入っていても、古いAppImageが必要とするFUSE 2互換ライブラリがないと起動できないことがあります。
Debianのバージョンを確認する
cat /etc/debian_version
Debian 13の場合
Debian 13では、FUSE 2互換ライブラリのパッケージ名がlibfuse2t64です。
sudo apt update
sudo apt install libfuse2t64
Debian 12の場合
sudo apt update
sudo apt install libfuse2
fuse3を削除したり、代わりに古い
fuseパッケージを無理にインストールしたりする必要はありません。
通常はFUSE 3を残したまま、互換ライブラリだけを追加します。
インストール状態を確認する
dpkg -l | grep -E 'libfuse2|libfuse2t64|fuse3'
ldconfig -p | grep libfuse.so.2
libfuse.so.2が表示されたら、もう一度AppImageを起動します。
./MyApp-x86_64.AppImage
/dev/fuseが存在するか確認する
ls -l /dev/fuse
「そのようなファイルやディレクトリはありません」と表示された場合は、FUSEモジュールを読み込みます。
sudo modprobe fuse
ls -l /dev/fuse
4.CPUに合ったAppImageか確認する
AppImageには、一般的なIntel・AMDパソコン向けのx86_64版と、
ARMパソコン向けのaarch64版などがあります。
CPU形式が違うAppImageは、そのままでは起動できません。
Debian側のCPU形式を確認する
uname -m
dpkg --print-architecture
uname -m |
Debianの表記 | 選ぶAppImage |
|---|---|---|
x86_64 |
amd64 |
x86_64、amd64 |
aarch64 |
arm64 |
aarch64、arm64 |
i686 |
i386 |
32bit版。ただし現在は配布されていない場合があります。 |
AppImageの形式を確認する
file MyApp-x86_64.AppImage
CPU形式が一致していない場合は、設定で直すのではなく、開発元の配布ページから正しい形式をダウンロードし直してください。
5.保存場所のnoexec設定を確認する
USBメモリー、外付けSSD、共有フォルダー、一部のNTFSパーティションでは、
プログラムの直接実行を禁止するnoexecオプションが使われていることがあります。
この場合、chmod +xを実行しても起動できません。
現在の保存場所を確認する
findmnt -T "$(pwd)" -o TARGET,FSTYPE,OPTIONS
結果のOPTIONS欄にnoexecが含まれていないか確認します。
TARGET FSTYPE OPTIONS
/media/user/USB exfat rw,nosuid,nodev,noexec,relatime
ホームフォルダーへ移動する
最も安全で簡単なのは、AppImageをホームフォルダー内へ移動する方法です。
mkdir -p ~/Applications
mv MyApp-x86_64.AppImage ~/Applications/
cd ~/Applications
chmod u+x MyApp-x86_64.AppImage
./MyApp-x86_64.AppImage
~/Applicationsのような専用フォルダーへまとめておくと管理しやすくなります。
6.ダウンロード失敗やファイル破損を確認する
ファイルの種類を確認する
file MyApp-x86_64.AppImage
正常なAppImageであれば、多くの場合はELF 64-bitなどと表示されます。
次のように表示される場合は、AppImageではなくエラーページを保存している可能性があります。
HTML document, Unicode text, UTF-8 text
公式サイトへ戻り、AppImage本体をダウンロードし直してください。 ファイルサイズが極端に小さい場合も、ダウンロード失敗が疑われます。
ls -lh MyApp-x86_64.AppImage
SHA256を確認する
開発元がSHA256チェックサムを公開している場合は、次のコマンドで確認できます。
sha256sum MyApp-x86_64.AppImage
表示された文字列と、開発元が公開している値を一文字ずつ比較します。 異なる場合は、ファイルが破損しているか、配布されたファイルと一致していません。
7.不足しているライブラリを調べる
AppImageには多くのライブラリが同梱されていますが、すべてが含まれているとは限りません。 ターミナルに次のようなエラーが表示された場合は、共有ライブラリが不足しています。
error while loading shared libraries: libExample.so.1:
cannot open shared object file: No such file or directory
エラーをログへ保存する
./MyApp-x86_64.AppImage 2>&1 | tee appimage-error.log
どのDebianパッケージに含まれるか調べる
sudo apt update
sudo apt install apt-file
sudo apt-file update
apt-file search 'libExample.so.1'
検索結果に表示されたパッケージが、現在使用しているDebianのバージョンに対応していることを確認してからインストールします。
より詳しく動作を追跡する
通常のエラー表示だけでは原因が分からない場合は、straceでシステムコールを記録できます。
sudo apt install strace
strace -f -o appimage-strace.log ./MyApp-x86_64.AppImage
記録後、見つからなかったファイルを確認します。
grep -E 'ENOENT|EACCES' appimage-strace.log | tail -n 30
8.Electronのサンドボックスエラーを解決する
Visual Studio Code系のアプリやチャットアプリなど、Electronを使用したAppImageでは、 次のようなエラーが表示されることがあります。
No usable sandbox!
The SUID sandbox helper binary was found, but is not configured correctly.
Failed to move to new namespace
ユーザー名前空間の状態を確認する
sysctl kernel.unprivileged_userns_clone
次のように1なら有効です。
kernel.unprivileged_userns_clone = 1
0の場合は無効です。ただし、この設定はシステムのセキュリティ方針に関係します。
まず、AppImageの最新版やDebian用の.deb・Flatpak版が提供されていないか確認してください。
一時的に有効化して原因を確認する
sudo sysctl -w kernel.unprivileged_userns_clone=1
./MyApp-x86_64.AppImage
確認後、元に戻す場合は次を実行します。
sudo sysctl -w kernel.unprivileged_userns_clone=0
--no-sandboxの常用は推奨できません。
サンドボックスを無効化すると、Electronが本来持っている保護機能が弱くなります。
一時的な原因確認以外では使用せず、配布元が推奨する起動方法を確認してください。
9.Wayland・X11・GPU関連の問題を切り分ける
プロセスは動いているのに画面が表示されない、真っ黒なウィンドウになる、起動直後に終了する場合は、 画面表示方式やGPUアクセラレーションが関係していることがあります。
現在のセッションを確認する
echo "$XDG_SESSION_TYPE"
waylandまたはx11と表示されます。
GTKアプリをX11で試す
env GDK_BACKEND=x11 ./MyApp-x86_64.AppImage
QtアプリをX11で試す
env QT_QPA_PLATFORM=xcb ./MyApp-x86_64.AppImage
ElectronアプリをX11で試す
./MyApp-x86_64.AppImage --ozone-platform=x11
GPUアクセラレーションを切り分ける
OpenGLのソフトウェアレンダリングで起動できるか確認します。
LIBGL_ALWAYS_SOFTWARE=1 ./MyApp-x86_64.AppImage
10.アプリの設定ファイルを初期化する
以前は起動できていたAppImageが突然起動しなくなった場合は、 アップデート後に古い設定ファイルとの互換性が失われた可能性があります。
最初にアプリ名を含むフォルダーを探します。
find ~/.config ~/.local/share ~/.cache \
-maxdepth 1 -iname '*MyApp*' -print 2>/dev/null
該当する設定フォルダーが見つかったら、削除せずに名前を変更して退避します。
次は設定フォルダーが~/.config/MyAppだった場合の例です。
mv ~/.config/MyApp ~/.config/MyApp.backup
./MyApp-x86_64.AppImage
起動できた場合は、古い設定が原因です。必要な設定やデータだけをバックアップフォルダーから戻します。
~/.config全体や~/.local/share全体を削除しないでください。
また、AppImageをsudoで起動すると、設定ファイルの所有者がrootになり、通常ユーザーで起動できなくなる場合があります。
11.FUSEを使わずに展開して起動する
FUSEを利用できない環境では、Type 2 AppImageを一時展開して起動できる場合があります。 AppImage公式では、通常起動できない場合の代替手段として案内されています。
自動的に展開して起動する
./MyApp-x86_64.AppImage --appimage-extract-and-run
古いAppImageで上のオプションが使えない場合は、手動で展開します。
./MyApp-x86_64.AppImage --appimage-extract
cd squashfs-root
./AppRun
確認が終わり、展開したフォルダーが不要になった場合だけ削除します。
cd ..
rm -r squashfs-root
12.それでも起動できない場合
ここまで確認しても改善しない場合は、次の情報をそろえて配布元へ報告すると原因を特定しやすくなります。
cat /etc/os-release
uname -a
uname -m
file MyApp-x86_64.AppImage
./MyApp-x86_64.AppImage 2>&1 | tee appimage-error.log
- Debianのバージョン
- GNOME、KDE Plasma、Xfceなどのデスクトップ環境
- WaylandまたはX11のどちらを使用しているか
- AppImageの正確なバージョン
- CPU形式
- ターミナルに表示されたエラー全文
- 以前のバージョンでは起動できたか
同じアプリの.deb版やFlatpak版が公式に提供されている場合は、
そちらを試す方法もあります。ただし、非公式パッケージを安易にインストールするのは避けてください。
原因別の対処早見表
| 症状 | 最初に試す対処 |
|---|---|
| ダブルクリックしても反応しない | ターミナルから実行してエラーを確認する |
| 「許可がありません」 | chmod u+x ファイル名.AppImage |
libfuse.so.2がない |
Debian 12はlibfuse2、Debian 13はlibfuse2t64 |
Exec format error |
uname -mとfileでCPU形式を比較する |
| USBメモリー上で起動できない | ~/Applicationsへ移動する |
| HTML documentと表示される | 公式サイトからダウンロードし直す |
| 共有ライブラリのエラー | apt-file searchで提供パッケージを確認する |
| Electronのsandboxエラー | ユーザー名前空間と最新版の提供状況を確認する |
| 画面が真っ黒になる | X11起動またはソフトウェアレンダリングを試す |
| 以前は起動できていた | 設定フォルダーを削除せず、名前を変えて退避する |
まとめ
DebianでAppImageが起動しない場合は、最初にターミナルから実行してエラーを確認します。 「許可がありません」と表示されたら実行権限を追加し、FUSEエラーならDebianのバージョンに合った互換ライブラリをインストールしてください。
ターミナルから実行
表示されたエラーを確認
原因に合う対処を実行
特に多い原因は、実行権限、FUSE 2互換ライブラリ、CPU形式、noexecの4つです。
FUSEを利用できない場合は、最後の手段として--appimage-extract-and-runによる展開起動も利用できます。
