UbuntuでLINEを使うのは結局Waydroidが安定
UbuntuでLINEを動かすにはWaydroidが最も安定。Wine/Proton/Bottlesを試して全滅した経緯と、Waydroidの具体的なセットアップ手順を解説。
Linux
kkm
Backend Engineer / AWS / Django
UbuntuでLINEを使いたい、ただそれだけなのに
Ubuntuをメインマシンにしている方なら、一度はこの壁にぶつかったことがあるのではないでしょうか。「LINEが使えない」。
LINE公式はLinux版クライアントを提供していません。Chrome拡張機能はありますが、通話ができない、通知が不安定、UIが狭いなど、正直メインで使うには厳しいものがあります。
私はUbuntu 24.04(Dell Inspiron 14 5445 / AMD Ryzen)で作業しています。仕事でもプライベートでもLINEは必須なので、デスクトップでまともに動く環境をなんとか作りたかった。
結論から言うと、Waydroid(Androidコンテナ)でAndroid版LINEを動かすのが最も安定します。ただし、そこにたどり着くまでにWine、Steam + Proton、Bottlesと一通り試して全滅しています。この記事では、それぞれの方法で何が起きたのか、なぜダメだったのかを整理した上で、Waydroidのセットアップ手順を解説します。
試した方法と結果
まず全体像です。以下が私が試した4つの方法と、それぞれの結果です。
| 方法 | 仕組み | 到達点 | 結果 |
|---|---|---|---|
| Chrome拡張 | ブラウザ内で動作 | メッセージ送受信可 | 実用性に難あり |
| Steam + Proton | Windows版LINEをProton経由で実行 | 認証コード入力まで | 認証後クラッシュ |
| Bottles + Proton GE | Wine管理ツール + カスタムProton | 起動せず | 起動不可 |
| Waydroid | Androidコンテナ内で実行 | 全機能動作 | 安定動作 |
見てのとおり、Wine系のアプローチは全滅でした。以下で、それぞれの方法で何が起きたのかを詳しく説明します。
Wine / Protonでは動かない理由
Chrome拡張の限界
LINEにはChrome拡張機能版があります。インストールは簡単で、メッセージの送受信はできます。ただし、以下の制約があります。
- ✕音声・ビデオ通話ができない
- ✕通知が不安定(Chromeを閉じると届かない)
- ✕KeepメモやNote機能が使えない
- ✕UIが狭く、長時間の利用には不向き
メッセージを確認する程度なら使えますが、メインのLINE環境としては力不足です。
Steam + Protonの壁:WebView2
次に試したのが、Windows版LINEをSteamの非Steamゲームとして追加し、Protonで動かす方法です。 Qiitaの記事 でMicrosoft Store版のLINEをProton経由で動かす手順が紹介されており、これを参考にしました。
結果、ログイン画面の表示までは成功しました。メールアドレスとパスワードを入力し、スマホに認証コードが届くところまでは進みます。しかし、スマホ側で認証コードを入力した瞬間にLINEがクラッシュします。
原因はWebView2です。最近のWindows版LINEは、ログイン画面こそネイティブのQt UIですが、認証後のメイン画面はWebView2(Chromiumベース)で描画されています。WebView2はWine/Proton上ではまともに動作しません。
MicrosoftのWebView2チームは、Wine/Proton対応を GitHub Issue #3127 で「tracked / priority-low」としています。つまり、認識はしているが対応優先度は低い状態です。近い将来の解決は期待できません。
以下の対策も試しましたが、いずれも効果がありませんでした。
- •WebView2ランタイムをプレフィックスにインストール
- •Proton ExperimentalからProton GE(GE-Proton10-32)に変更
- •vcrun2019 / vcrun2022 / dotnet48のインストール
- •Windowsバージョンを10に変更(
winetricks win10) - •
WINEDLLOVERRIDES="msedgewebview2.exe=b"でWebView2を無効化 - •
PROTON_USE_WINED3D=1の設定
Bottles + Proton GE:起動すらしない
Bottles(Wine管理ツール)+ Proton GE + 依存パッケージ(vcredist、dotnet48)で動くという 報告 もあったので試しましたが、私の環境ではLINE自体が起動しませんでした。
Wine系のアプローチに共通する問題として、WebView2依存のアプリケーションはWine/Protonとの相性が根本的に悪いということが言えます。LINEがWebView2への依存を解除しない限り、この状況は変わらないでしょう。
Waydroidのセットアップ手順
Waydroid は、LinuxのコンテナでAndroidシステムを丸ごと動かすソフトウェアです。LineageOS 20(Android 13)ベースのイメージが動作し、Androidアプリをデスクトップ上で実行できます。
Wine系とは根本的にアプローチが異なります。Wineは「WindowsのAPIをLinuxで再現する」方式ですが、WaydroidはAndroidそのものをコンテナ内で動かすため、アプリの互換性が格段に高くなります。
前提条件
- ✓Ubuntu 24.04(Wayland環境)
- ✓Linuxカーネル 5.18以降(
uname -rで確認) - ✓Waylandセッションで使用していること(X11では追加設定が必要)
Step 1: Waydroidのインストール
# リポジトリ追加
curl -s https://repo.waydro.id/ | sudo bash
# インストール
sudo apt install -y waydroid
# Google Play Services付きで初期化
sudo waydroid init -s GAPPS-s GAPPS オプションはGoogle Play Servicesを含むイメージを使用する指定です。LINEの動作にはGoogle Play Servicesが必要なため、必ずこのオプションを付けてください。初期化にはイメージのダウンロード(約1.4GB)が必要なので、しばらく待ちます。
Step 2: ARM変換ライブラリのインストール
LINEのAndroidアプリはARM向けにビルドされています。WaydroidはPCのCPU(x86_64)で動くため、ARM命令をx86命令に変換するライブラリが必要です。
AMD CPUの場合はlibndk、Intel CPUの場合はlibhoudiniを使います。 casualsnek/waydroid_script を使ってインストールします。
# 前提パッケージ
sudo apt install -y lzip
# スクリプトを取得
git clone https://github.com/casualsnek/waydroid_script.git /tmp/waydroid_script
cd /tmp/waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
# Waydroidセッションを停止してからインストール
waydroid session stop
# AMD CPUの場合
sudo venv/bin/python3 main.py install libndk
# Intel CPUの場合(どちらか一方を実行)
# sudo venv/bin/python3 main.py install libhoudiniStep 3: ネットワーク設定
Waydroidのコンテナからインターネットに接続するには、ホスト側でIP転送とNATの設定が必要です。
# IP転送を有効化
sudo sysctl -w net.ipv4.ip_forward=1
# NAT設定(wlp1s0は自分のネットワークインターフェース名に置き換え)
# ip route で確認できます
sudo iptables -t nat -A POSTROUTING -s 192.168.240.0/24 -o wlp1s0 -j MASQUERADE
sudo iptables -A FORWARD -i waydroid0 -o wlp1s0 -j ACCEPT
sudo iptables -A FORWARD -i wlp1s0 -o waydroid0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# DNS転送
sudo iptables -t nat -A PREROUTING -i waydroid0 -p udp --dport 53 -j DNAT --to-destination 8.8.8.8:53
sudo iptables -t nat -A PREROUTING -i waydroid0 -p tcp --dport 53 -j DNAT --to-destination 8.8.8.8:53注意: iptablesの設定は再起動で消えます。永続化したい場合は sudo apt install iptables-persistent を導入するか、起動スクリプトに上記のコマンドを追加してください。
LINEのインストール手順
Waydroidが起動したら、LINEをインストールします。Google Play StoreからインストールしたいところですがLINEはARM向けアプリのため、Play Storeの検索結果に表示されません。APKを直接インストールします。
Step 1: Waydroidを起動
waydroid session start
waydroid show-full-uiStep 2: APKのダウンロードと展開
LINEの最近のバージョンはsplit APK(XAPK)形式で配布されています。通常のAPKとは異なり、複数のAPKファイルに分割されています。APKPureからXAPK形式でダウンロードし、展開します。
# XAPKをダウンロード
wget "https://d.apkpure.net/b/XAPK/jp.naver.line.android?version=latest" \
-O /tmp/line.xapk
# APKを展開
mkdir -p /tmp/line-xapk
cd /tmp/line-xapk && unzip -o /tmp/line.xapk '*.apk'Step 3: Waydroid内にAPKをコピー
# Waydroidのデータ領域にコピー
sudo mkdir -p ~/.local/share/waydroid/data/local/tmp
sudo cp /tmp/line-xapk/*.apk ~/.local/share/waydroid/data/local/tmp/~/.local/share/waydroid/data/ がWaydroidコンテナ内の /data/ にマウントされています。このパスはWaydroid LXCコンテナの設定ファイル(/var/lib/waydroid/lxc/waydroid/config_session)で確認できます。
Step 4: インストールスクリプトの実行
split APKは通常の pm install ではインストールできません。pm install-create でセッションを作り、各APKを順番に書き込む必要があります。以下のスクリプトでまとめて実行します。
# インストールスクリプトを作成
sudo tee ~/.local/share/waydroid/data/local/tmp/install_line.sh > /dev/null << 'SCRIPT'
#!/system/bin/sh
BASE_SIZE=$(stat -c%s /data/local/tmp/jp.naver.line.android.apk)
MDPI_SIZE=$(stat -c%s /data/local/tmp/config.mdpi.apk)
ARM_SIZE=$(stat -c%s /data/local/tmp/config.armeabi_v7a.apk)
TOTAL=$((BASE_SIZE + MDPI_SIZE + ARM_SIZE))
SESSION_ID=$(pm install-create -S $TOTAL 2>&1 | grep -o '[0-9]*')
pm install-write -S $BASE_SIZE $SESSION_ID 0 /data/local/tmp/jp.naver.line.android.apk
pm install-write -S $MDPI_SIZE $SESSION_ID 1 /data/local/tmp/config.mdpi.apk
pm install-write -S $ARM_SIZE $SESSION_ID 2 /data/local/tmp/config.armeabi_v7a.apk
pm install-commit $SESSION_ID
SCRIPT
# 実行権限を付与して実行
sudo chmod 755 ~/.local/share/waydroid/data/local/tmp/install_line.sh
sudo waydroid shell /data/local/tmp/install_line.shSuccess と表示されればインストール完了です。Waydroidのホーム画面にLINEのアイコンが表示されます。
Step 5: LINEを起動・ログイン
# Waydroid UIからLINEアイコンをタップ、または
waydroid app launch jp.naver.line.androidあとは通常のAndroid版LINEと同じ手順でログインできます。スマホ版LINEでQRコードを読み取る方式がスムーズです。
UbuntuでLINEを使うならWaydroid一択
Wine/Proton系のアプローチがうまくいかない根本原因は、Windows版LINEがWebView2に依存していることです。WebView2のWine/Proton対応はMicrosoft側で「低優先度」とされており、ユーザー側での回避策には限界があります。
一方、WaydroidはAndroidそのものをコンテナで動かすため、LINEのAndroid版がそのまま動作します。通話、スタンプ、グループトーク、KeepメモなどAndroid版の全機能が使えます。
セットアップに多少の手間はかかりますが、一度構築すればあとは普通にLINEが使えるようになります。UbuntuでLINEを使いたい方は、Wine系に時間を使わずにWaydroidから試すことをお勧めします。
動作確認環境
| 項目 | 詳細 |
|---|---|
| OS | Ubuntu 24.04.4 LTS |
| デスクトップ | GNOME(Wayland) |
| 端末 | Dell Inspiron 14 5445(AMD Ryzen) |
| カーネル | 6.17.0-14-generic |
| Waydroid | 1.6.2(LineageOS 20 / Android 13 GAPPS) |
| ARM変換 | libndk(AMD CPU向け) |
| LINE | Android版(APKPure経由) |