ブログ/記事一覧/UbuntuでLINEを使うのは結局Waydroidが安定
ubuntu-line-waydroid-cover

UbuntuでLINEを使うのは結局Waydroidが安定

UbuntuでLINEを動かすにはWaydroidが最も安定。Wine/Proton/Bottlesを試して全滅した経緯と、Waydroidの具体的なセットアップ手順を解説。

Linux
kkm-horikawa

kkm

Backend Engineer / AWS / Django

2026.03.135 min2 views

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 + ProtonWindows版LINEをProton経由で実行認証コード入力まで認証後クラッシュ
Bottles + Proton GEWine管理ツール + カスタムProton起動せず起動不可
WaydroidAndroidコンテナ内で実行全機能動作安定動作

見てのとおり、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の場合はlibndkIntel 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 libhoudini

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

Step 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.sh

Success と表示されればインストール完了です。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から試すことをお勧めします。

動作確認環境

項目詳細
OSUbuntu 24.04.4 LTS
デスクトップGNOME(Wayland)
端末Dell Inspiron 14 5445(AMD Ryzen)
カーネル6.17.0-14-generic
Waydroid1.6.2(LineageOS 20 / Android 13 GAPPS)
ARM変換libndk(AMD CPU向け)
LINEAndroid版(APKPure経由)