Linux 公式クライアントの状況
Ubuntu などの Linux ディストリビューションにおいて、WeChat の公式ネイティブクライアントは提供されていません。公式ダウンロードページを確認すると、Windows、macOS、iOS、Android 向けのバイナリのみが存在し、Linux 版は欠缺しています。また、ウェブ版についても、セキュリティ確認後のログイン制限により、実用性が低下しているのが現状です。
Docker コンテナを利用した解決策
公式サポートがない環境において、Docker コンテナ技術を利用することで WeChat を動作させることが可能です。コミュニティにより維持されている Docker イメージを利用し、X11 転送を通じて GUI アプリケーションとして起動します。
イメージの取得
まず、信頼性の高い Docker イメージをレジストリから取得します。以下のコマンドでイメージをローカルにダウンロードします。
docker pull bestwu/wechat
ダウンロード完了後、docker images コマンドを用いてローカルリポジトリにイメージが存在するか確認してください。
実行環境の準備
コンテナ内のアプリケーションがホスト機のディスプレイ描画にアクセスできるよう、X11 への接続許可を設定する必要があります。ターミナルで以下のコマンドを実行します。
xhost +
さらに、ファイルのやり取りをホスト機と共有するために、マウント用のディレクトリを作成します。
mkdir -p ~/wechat-volume
コンテナの起動
以下のコマンドで WeChat コンテナを起動します。音声デバイスへのアクセス権限や、環境変数による入力フレームワークの設定を含んでいます。
docker run -d \
--name wechat-main \
--device /dev/snd \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v ~/wechat-volume:/WeChatFiles \
-e DISPLAY=unix$DISPLAY \
-e XMODIFIERS=@im=fcitx \
-e QT_IM_MODULE=fcitx \
-e GTK_IM_MODULE=fcitx \
-e AUDIO_GID=$(getent group audio | cut -d: -f3) \
-e GID=$(id -g) \
-e UID=$(id -u) \
bestwu/wechat
初回起動時は少し時間がかかる場合があります。ウィンドウが表示されたら、スマートフォンの WeChat アプリから QR コードをスキャンしてログインします。
起動状態は docker ps で確認可能です。
複数インスタンスの運用
複数の WeChat アカウントを同時に利用したい場合、同じイメージを用いて別のコンテナを起動することで実現できます。
- 上記の
docker runコマンドをコピーする --nameパラメータを変更する(例:wechat-sub)- 必要に応じてボリュームマウント先を変更する(データを分離する場合)
変更後のコマンドを実行すれば、独立したウィンドウとして別のアカウントでログインできます。
バージョン管理に関する注意点
この Docker イメージ内にバンドルされている WeChat クライアントのバージョンは固定されています。コンテナ内で更新を試みても、イメージの構造上最新版本へアップデートすることはできません。これは Deepin 環境などをベースにした特定のバージョンで固定化されているためです。