閉じる

DebianでAppImageが起動しないときの対処法

AppImageをダブルクリックしても反応しない場合は、ファイルが壊れているとは限りません。 Debianでは、実行権限が設定されていない、FUSE 2系のライブラリが不足している、 CPUに合わないAppImageをダウンロードした、保存場所が実行禁止になっている、といった原因がよくあります。

最初にターミナルからAppImageを起動し、表示されたエラーに合わせて対処するのが最も確実です。 この記事ではDebian 12とDebian 13を対象に、基本的な確認から高度な切り分けまで順番に解説します。

重要: AppImageは、必ず開発元や公式サイトからダウンロードしてください。 出所が分からないAppImageに実行権限を付けると、通常のプログラムと同じようにシステム上でコードが実行されます。

1.ターミナルから起動してエラーを確認する

ファイルマネージャーからダブルクリックした場合、エラーが表示されないことがあります。 まずはターミナルからAppImageを実行してください。

以下では、ダウンロードフォルダーにある MyApp-x86_64.AppImageというファイルを例にします。 実際のファイル名に置き換えてください。

cd ~/Downloads
ls -lh *.AppImage
./MyApp-x86_64.AppImage

ファイル名に空白が含まれる場合は、名前を引用符で囲みます。

./"My App-x86_64.AppImage"
AppImageをターミナルから実行して権限エラーを確認している画面 user@debian: ~/Downloads user@debian : ~/Downloads $ ls -lh *.AppImage -rw-r–r– 1 user user 126M 8月 19 21:45 MyApp-x86_64.AppImage user@debian : ~/Downloads $ ./MyApp-x86_64.AppImage bash: ./MyApp-x86_64.AppImage: 許可がありません user@debian : ~/Downloads $ chmod u+x MyApp-x86_64.AppImage user@debian : ~/Downloads $ ls -lh MyApp-x86_64.AppImage -rwxr–r– 1 user user 126M 8月 19 21:45 MyApp-x86_64.AppImage user@debian : ~/Downloads $ ./MyApp-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

ファイルマネージャーから設定する方法

  1. AppImageを右クリックします。
  2. 「プロパティ」を開きます。
  3. 「アクセス権」タブを選択します。
  4. 「プログラムとして実行可能」または同様の項目を有効にします。
  5. プロパティを閉じてAppImageをダブルクリックします。
DebianのファイルプロパティでAppImageの実行を許可する画面 MyApp-x86_64.AppImage のプロパティ × 基本 アクセス権 開き方 所有者 アクセス 読み書き 実行 プログラムとして実行可能 閉じる
「アクセス権」タブでプログラムとしての実行を許可します。
ファイルマネージャーの種類やDebianのバージョンによって、項目名や配置が多少異なります。 項目が見つからない場合は、ターミナルからchmod u+xを実行してください。

3.FUSE関連のエラーを解決する

多くのType 2 AppImageは、内部のファイルシステムを一時的にマウントするためにFUSEを使用します。 DebianにFUSE 3が入っていても、古いAppImageが必要とするFUSE 2互換ライブラリがないと起動できないことがあります。

AppImage起動時にFUSEエラーが表示されたターミナル画面 user@debian: ~/Downloads user@debian : ~/Downloads $ ./MyApp-x86_64.AppImage dlopen(): error loading libfuse.so.2 AppImages require FUSE to run. You might still be able to extract the contents of this AppImage if you run it with the –appimage-extract option. user@debian : ~/Downloads $ cat /etc/debian_version 13.1 user@debian : ~/Downloads $ sudo apt install libfuse2t64 以下の新規パッケージがインストールされます: libfuse2t64
「libfuse.so.2」または「AppImages require FUSE」と表示された場合の例です。

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
注意: FUSE 3を使用している環境で、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
DebianとAppImageのCPU形式を確認しているターミナル画面 user@debian: ~/Downloads user@debian : ~/Downloads $ uname -m x86_64 user@debian : ~/Downloads $ file MyApp-aarch64.AppImage MyApp-aarch64.AppImage: ELF 64-bit LSB executable, ARM aarch64 user@debian : ~/Downloads $ ./MyApp-aarch64.AppImage bash: ./MyApp-aarch64.AppImage: バイナリファイルを実行できません: 実行形式エラー x86_64のパソコンにはx86_64版をダウンロードしてください。
パソコンがx86_64なのに、ARM aarch64版を実行した場合の例です。

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
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

表示された文字列と、開発元が公開している値を一文字ずつ比較します。 異なる場合は、ファイルが破損しているか、配布されたファイルと一致していません。

チェックサムが一致しない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のバージョンに対応していることを確認してからインストールします。

エラーメッセージに表示された名前と似ているという理由だけで、無関係なパッケージを大量にインストールしないでください。 AppImageの配布元が対応環境や追加パッケージを案内している場合は、そちらを優先します。

より詳しく動作を追跡する

通常のエラー表示だけでは原因が分からない場合は、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
これらは原因を切り分けるためのテストです。 テスト時だけ起動できる場合は、GPUドライバー、Mesa、Wayland対応状況、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
AppImageを展開してAppRunを起動しているターミナル画面 user@debian: ~/Applications user@debian : ~/Applications $ ./MyApp-x86_64.AppImage –appimage-extract squashfs-root/.DirIcon squashfs-root/AppRun squashfs-root/MyApp.desktop squashfs-root/usr/bin/myapp user@debian : ~/Applications $ cd squashfs-root user@debian : ~/Applications/squashfs-root $ ./AppRun Starting MyApp… [INFO] Application initialized successfully
AppImageを展開し、内部のAppRunから起動した例です。

確認が終わり、展開したフォルダーが不要になった場合だけ削除します。

cd ..
rm -r squashfs-root
展開して起動すると一時ファイルや使用容量が増えます。 通常はFUSEの問題を解決し、AppImageを直接起動する方法を優先してください。

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のバージョンに合った互換ライブラリをインストールしてください。

1
ターミナルから実行
2
表示されたエラーを確認
3
原因に合う対処を実行

特に多い原因は、実行権限、FUSE 2互換ライブラリ、CPU形式、noexecの4つです。 FUSEを利用できない場合は、最後の手段として--appimage-extract-and-runによる展開起動も利用できます。

参考資料

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *