Wine用WeChat Nannyインストールチュートリアル
この記事を読んでいる頃には、WineでWeChatをいじくり回している方も多いのではないでしょうか。私がLinuxで仕事と生活を始めてからというもの、Tencentの製品にはLinux対応のサポートが不足していました。QQのサポートは、人々が使わなくなった後にようやく提供されました。以前は、UOSと共同で開発された公式WeChat debパッケージを使用していました。シンプルなチャットには十分でしたが、機能があまりにも基本的で制限が多く、何年もアップデートされていませんでした。
現在、Linuxで最新バージョンのWeChatが必要な場合は、Wineを使うのがほぼ唯一の方法です。仮想マシンを使う方法は面倒すぎます。
この記事では、Wine に WeChat をインストールする2つの方法について説明します。1つは初心者向けのシンプルな方法、もう1つは特定のデスクトップ環境向けのより複雑な方法です。正直なところ、この2つの方法を試し、関連する問題を解決するのは非常に時間と労力を要しました。内容の一部はおそらく中国のインターネットでは新しいものでしょう(少なくとも私はそのような資料を見つけていません)。ユーザーベースが大きいことを考えると、私たちは思いやりを持って前進するしかありません。いつかこの面倒なプロセスが不要になることを願っています(確かに時間の無駄ではありますが)。
さて、早速始めましょう。
方法1:Wine を使って WeChat をインストールする
まず、画像をご覧ください。
この方法は公式に推奨されています。Wine は様々なオペレーティングシステム用のインストールパッケージを提供しており、これは非常に便利です。
ドキュメント を参照してください。この例では Ubuntu を使用していますが、他のディストリビューションでも同様です。
- 32ビットシステムのサポート
1sudo dpkg --add-architecture i386
- パッケージソースの設定
1sudo mkdir -pm755 /etc/apt/keyrings
2sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
- ソースファイルのダウンロード
この記事は Ubuntu 23.10 を使用して作成されました。
1sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/mantic/winehq-mantic.sources
- Wineのインストール
現在、安定版はありませんが、ステージング版をインストールすることも可能です。
1sudo apt install --install-recommends winehq-staging
公式ドキュメントでは、winehq-stable をインストールするように指示されています。しかし、この記事を執筆した時点ではまだ正式にパッケージ化されておらず、見つからないというメッセージが表示されます(リポジトリページを検索すれば見つかります!)。不安定さが心配な場合は、公式の安定版がリリースされるまで待つのも賢明です。
1➜ images git:(main) ✗ sudo apt install --install-recommends winehq-stable
2[sudo] mephisto のパスワード:
3パッケージリストを読み込んでいます... 完了
4依存関係ツリーを作成しています... 完了
5状態情報を読み込んでいます... 完了
6E: パッケージ winehq-stable が見つかりません
上記の4つの手順を実行すると、Wine がインストールされます。次に、Wine を使用して最新バージョンの WeChat をインストールします。
- WeChat の公式ウェブサイトから WeChat インストールパッケージをダウンロードします。
このダウンロードは Windows 版です。
32ビット版または64ビット版を選択します。
32ビット版の選択をお勧めします。64ビット版のインストールでは、より多くの問題が発生しました。
- インストール
多くのオンラインチュートリアルでは複雑な表現が使われていますが、デフォルトのままで問題ありません。WeChatSetup_x86.exe は32ビット版です。
1wine WeChatSetup_x86.exe
これで簡単なインストール手順は完了です!
インストールが完了すると、ランチャーファイルが自動的に作成されます。ランチャーなどの方法でファイルを見つけて起動してください。 (つまり、他のソフトウェアと同じように起動できます。)
1➜ ~ cat ~/Desktop/WeChat.desktop
2[デスクトップエントリ]
3Name=WeChat
4Exec=env WINEPREFIX="/home/mephisto/.wine" wine C:\\\\users\\\\Public\\\\Desktop\\\\WeChat.lnk
5Type=Application
6StartupNotify=true
7Path=/home/mephisto/.wine/dosdevices/c:/Program Files/Tencent/WeChat
8Icon=E282_WeChat.0
9StartupWMClass=wechat.exe
興味のある方は、このスタートアップファイルをご覧ください。Name、Exec、Icon が重要な要素です。
- その他の問題
フォントボックスの問題が発生する場合は、フォントが不足している可能性があります。 simsun.ttc を Windows から ~/.wine/drive_c/windows/Fonts/ にコピーすると、Song フォントの表示の問題を解決できます。
1cp fake_simsun.ttc ~/.wine/drive_c/windows/Fonts
フォントをダウンロードするためのリンクはオンラインで多数ありますが、著作権の問題があるため、ここではリンクを提供しません。
Arch Wiki の解決策: フォントを対象ディレクトリにソフトリンクします。
1cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i" ; done
入力ボックス内のカーソルが正しく配置されません (つまり、目的の位置に移動できず、入力エラーを修正する際に非常に煩わしい)。解決策は以下のとおりです。
- まず、winetricks をインストールします。
1sudo apt install winetricks
- 次に、winetricks を使用して riched20 をインストールします(多くの場合、gdiplus riched20 と riched30 もインストールされます。私はテストした結果、riched20 で問題が解決しました)。
1winetricks gdiplus riched20 riched30
riched20 をインストールすると、InstMsiW.exe のダウンロードを求められます。タイムアウトや 404 エラーは本当に耐え難いものです。
ダウンロードアドレスはオンラインで検索してください(または、私の個人WeChatアカウント「Two Acres and Six Fen Land」をフォローし、「Open Sesame」とコメントすることでも入手できます。アドレスは定期的に変更されます。私のウェブサイトは帯域幅が限られているため、クラウドストレージサービスを使用していないことをご容赦ください。オンラインの様々なクラウドストレージサービスのアドレスは無効であることが多いです)。
ダウンロードアドレスの例:
ダウンロードしたファイルを .cache 配下の適切な場所に配置してから、上記の指定のインストールを実行してください。
1~ cd .cache/winetricks/
2➜ winetricks pwd
3/home/mephisto/.cache/winetricks
4➜ winetricks tree
5.
6├── cmd
7├── corefonts
8├── msls31
9│ └── InstMsiW.exe
10├── riched30
11│ └── InstMsiA.exe
12├── sourcehansans
13│ └── SourceHanSans.ttc.zip
14├── track_usage
15├── win2ksp4
16│ └── W2KSP4_EN.EXE
17└── win7sp1
18└── windows6.1-KB976932-X86.exe
19
208つのディレクトリ、6つのファイル
アニメーション画像に示すように、カーソルの位置をテストします。
方法2:Wineを使ったWeChatのインストール
興味のある方は、まず公式ドキュメントをお読みください。私は以前、地下鉄でスマートフォンを横向きにしてWeChatを見ていました。
正直なところ、ほとんどのユーザーには、上記のシンプルで手間のかからないWineを使ったWeChatのインストール方法をお勧めします。
しかし、すべてのユーザーがGnomeやKDEといった主流のデスクトップ環境を使用しているわけではなく、スムーズにインストールできるとは限りません。
私はlabwcが構築したカスタム環境を使用していたため、方法1でWeChatをインストールしたところ、起動時に黒い画面が表示されました。Sway環境でも同じ問題が発生しました。まるでWeChatインターフェースを巨大な黒い布で覆っているかのように、何も見えなくなりました。しかし、カーソルは別の場所に移動すると反応し、まるで盲人が象に触れるように反応しました。
ブラックボックスは、外側に黒い円があり、内側に黒いボックスがあるような見た目です。
この問題を解決しようとかなり時間を費やしましたが、ついにこの記事に出会いました。
解決策は、Wineのソースコードを直接修正して再コンパイルすることでした。しかし、再コンパイルには非常に時間がかかりました(私のi5 4コアコンピューターはひどい出来で、必要なモジュールが分からずデフォルトのパラメータを使っていたため、体感で40分ほどかかったように感じました)。1回のコンパイルに約1時間かかり、異なるバージョン(32ビットと64ビット)と異なる依存関係の影響をテストするために、4回ほどコンパイルしました。
もちろん、これにはメリットもあります。これで黒い画面の問題は解決しました。ついでに、読者の皆さん(そう、皆さん!😅)に役立つかもしれない、あまり役に立たない知識も学びました。
-
- Wineのソースコードをダウンロードする
ソースコードはすぐに入手できるはずです。最適なバージョンを探してください。私は通常、最新バージョンを使用しています。
1wget https://dl.winehq.org/wine/source/8.x/wine-8.19.tar.xz
-
- 解凍後、ディレクトリに移動します。
1➜ wine-8.19 ls
2aclocal.m4 AUTH ORS config.status configure.ac dlls fonts libs LICENSE.OLD MAINTAINERS nls programs server VERSION
3ANNOUNCE config.log configure COPYING.LIB ドキュメント include LICENSE loader Makefile po README tools wine
4➜ wine-8.19 pwd
5/home/mephisto/Downloads/wine-8.19
-
- Wine ソースコードを変更する
画像の説明:
コードスニペット:
1if (exStyle == 0x080800a0 && style != 0x80000000 ) // WeChat/WxWork shadow hwnd ;チャット情報を開けない問題を修正しました。
2{
3FIXME("hack %x\n", cs.dwExStyle);
4NULL を返します。
5}
VSCode のスクリーンショット:
-
- 基本的な依存関係をインストール
整理するのが面倒なので、ログをここに掲載します:
1➜ ~ history |grep install |grep :i386
29809 sudo apt install libx11-dev:i386
39810 sudo apt install libfreetype6-dev:i386 libfreetype6-dev
49812 sudo apt install libxrender-dev:i386 libgnults-dev:i386
59814 sudo apt install libxrender-dev:i386
69816 sudo apt install libgl-dev:i386
79818 sudo apt install libasound2-dev:i386
89860 sudo apt install libxcursor-dev:i386
99861 sudo apt install libfreetype-dev:i386
109862 sudo apt install libfontconfig-dev:i386
119863 sudo apt install libgnutls28-dev:i386
基本的な依存関係をインストールしたら、./configure を実行してください。警告が表示されなければ、依存関係はほぼインストールされています。
不足している項目がある場合は、公式ドキュメントを参照してください。
注意: libfreetype-dev と libfontconfig-dev をインストールすることを強くお勧めします。インストールしないと、WeChat インストールインターフェースの中国語テキストがすべて四角形になります(警告は表示されません。私はこれら 2 つの項目を省略したため、再コンパイルにさらに 1 時間かかりました!)。
もちろん、あなたが専門家で、何が便利で何がそうでないかを理解しているなら、無視しても構いません。
1➜ wine-8.19 ./configure
2ビルドシステムの種類を確認しています... x86_64-pc-linux-gnu
3ホストシステムの種類を確認しています... x86_64-pc-linux-gnu
4make が $(MAKE) を設定しているかどうかを確認しています... yes
5#####ここから 10,000 行を省略#####
6config.status: include/stamp-h コマンドを実行しています
7config.status: tools/makedep コマンドを実行しています
8config.status: Makefile コマンドを実行しています
9
10configure: libxi 32 ビット開発ファイルが見つかりません。Xinput 拡張機能はサポートされません。
11configure: XShm 32 ビット開発ファイルが見つかりません。X 共有メモリはサポートされません。
12configure: XShape 32 ビット開発ファイルが見つかりません。XShape はサポートされません。
13configure: libXxf86vm 32 ビット開発ファイルが見つかりません。XFree86 Vidmode はサポートされません。
14configure: libxrandr 32 ビット開発ファイルが見つかりません。XRandr はサポートされません。
15configure: libxinerama 32 ビット開発ファイルが見つかりません。マルチモニター設定はサポートされません。
16configure: libxcomposite 32 ビット開発ファイルが見つかりません。Xcomposite はサポートされません。
17configure: libOSMesa 32 ビット開発ファイルが見つかりません (または古すぎます)。ビットマップでの OpenGL レンダリングはサポートされません。
18configure: Wayland 32 ビット開発ファイルが見つかりません。Wayland ドライバーはサポートされません。
19configure: OpenCL 32 ビット開発ファイルが見つかりません。OpenCL はサポートされません。
20configure: pcap 32 ビット開発ファイルが見つかりません。wpcap はサポートされません。
21configure: libpcsclite が見つからないため、スマートカードはサポートされません。
22configure: libdbus 32 ビット開発ファイルが見つからないため、動的デバイスはサポートされません。
23configure: libsane 32 ビット開発ファイルが見つからないため、スキャナーはサポートされません。
24configure: libusb-1.0 32 ビット開発ファイルが見つからない (または古すぎる) ため、USB デバイスはサポートされません。
25configure: libv4l2 32 ビット開発ファイルが見つかりません。
26configure: libgphoto2 32 ビット開発ファイルが見つからないため、デジタルカメラはサポートされません。
27configure: libgphoto2_port 32 ビット開発ファイルが見つからないため、デジタルカメラは自動検出されません。
28configure: libpulse 32 ビット開発ファイルが見つからないか古すぎるため、Pulse はサポートされません。
29configure: gstreamer-1.0 ベースプラグイン 32 ビット開発ファイルが見つからないため、GStreamer はサポートされません。
30configure: OSS サウンドシステムが見つかりましたが、古すぎます (OSSv4 が必要)。OSS はサポートされません。
31configure: libudev 32 ビット開発ファイルが見つかりません。プラグアンドプレイはサポートされません。
32configure: libSDL2 32 ビット開発ファイルが見つかりません。SDL2 はサポートされません。
33configure: libcapi20 32 ビット開発ファイルが見つかりません。ISDN はサポートされません。
34configure: libcups 32 ビット開発ファイルが見つかりません。CUPS はサポートされません。
35configure: libkrb5 32 ビット開発ファイルが見つかりません (または古すぎます)。Kerberos はサポートされません。
36configure: libnetapi が見つかりません。Samba NetAPI はサポートされません。
37configure: libvulkan および libMoltenVK 32 ビット開発ファイルが見つかりません。Vulkan はサポートされません。
38
39configure: 完了しました。Wine をコンパイルするには 'make' を実行してください。
-
- Wine をコンパイルしてインストールする
1make -j `nproc`
2make install
デフォルトでは /usr/local/bin/ 以下にインストールされます
1➜ ~ ls -al /usr/local/bin/wine*
2-rwxr-xr-x 1 root root 22668 Nov 7 13:45 /usr/local/bin/wine
3-rwxr-xr-x 1 root root 25528 Nov 6 17:37 /usr/local/bin/wine64
4-rwxr-xr-x 1 root root 49760 Nov 6 17:37 /usr/local/bin/wine64-preloader
5-rwxr-xr-x 1 root root 1973 Nov 7 13:45 /usr/local/bin/wineboot
6-rwxr-xr-x 1 ルート root 761180 11 月 7 日 13:46 /usr/local/bin/winebuild
7-rwxr-xr-x 1 ルート root 1973 11 7 13:45 /usr/local/bin/winecfg
8-rwxr-xr-x 1 ルート root 1973 11 7 13:45 /usr/local/bin/wineconsole
9lrwxrwxrwx 1 ルート ルート 7 11 月 7 日 13:46 /
10usr/local/bin/winecpp -> winegcc
11-rwxr-xr-x 1 ルート root 1973 11 7 13:45 /usr/local/bin/winedbg
12-rwxr-xr-x 1 ルート root 1070420 11 月 7 日 13:46 /usr/local/bin/winedump
13-rwxr-xr-x 1 ルート root 1973 11 7 13:45 /usr/local/bin/winefile
14lrwxrwxrwx 1 ルート root 7 11 月 7 日 13:46 /usr/local/bin/wineg++ -> winegcc
15-rwxr-xr-x 1 ルート root 242128 11 月 7 日 13:46 /usr/local/bin/winegcc
16-rwxr-xr-x 1 ルート ルート95127 11月7日 13:46 /usr/local/bin/winemaker
17-rwxr-xr-x 1 root root 1973 11月7日 13:45 /usr/local/bin/winemine
18-rwxr-xr-x 1 root root 1973 11月7日 13:45 /usr/local/bin/winepath
19-rwxr-xr-x 1 root root 45452 11月7日 13:45 /usr/local/bin/wine-preloader
20-rwxr-xr-x 1 root root 3560536 11月7日 13:45 /usr/local/bin/wineserver
この2つの手順は説明不要です。理解できる人なら理解できるでしょう。
- 手動でコーディングしたWineを使ってWeChatをインストールする
この方法と方法1の違いは、使用するWineが異なることです(/usr/bin/wineと/usr/local/bin/wine)。
手順を進める前に、~/.wineディレクトリをバックアップすることをお勧めします。念のため、.wineをカレントディレクトリに設定し、.wine_32を32ビット版、.wine_64を64ビット版のバックアップとして設定しました。
1➜ ~ ls .wine*
2.wine:
3dosdevices drive_c system.reg userdef.reg user.reg winetricks.log wrapper.cfg
4
5.wine_32:
6dosdevices drive_c system.reg userdef.reg user.reg wrapper.cfg
7
8.wine_64:
9dosdevices drive_c system.reg userdef.reg user.reg
インストール: この手順は前と同じです。
1/usr/local/bin/wine WeChatSetup_x86.exe
-
- その他の問題
-
フォントが表示されないなどのその他の問題も同様の方法で解決できるため、これ以上詳しく説明しません。
-
シャットダウン時にプロセスが正常に終了しないため、すべてのプロセスを強制終了しています。通常はシャットダウンしません。
1pkill WeChat
-
Wineのシステムトレイやウェイバーについては、現在解決策がありません。Wineのコードがマージされるまで待つ必要があるようですが、影響は大きくないでしょう。
-
一部の機能は動作しません。検索したり動画を見たりしても意味がないので、見る必要はありません。
最後に
独自のコンパイルを使うのは面倒ですが、時には避けられないこともあります。Wineプロジェクトのパワーにも感銘を受けています。現在、独自のコンパイルを使っていますが、とても快適です!高性能なコンピューターであれば、コンパイル時間が大幅に短縮されるでしょう。
現時点では、DingTalk、Feishu、WeChatはすべてLinuxでスムーズに使用できます。ご不明な点がございましたら、このサイトで関連チュートリアルを検索してください。
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。