最近Windowsから乗り換えたLinux MintをメインOSとして運用しているが、どうしてもLINEがないと不便だったためインストールしてみた。
Chrome拡張機能版は近々サポートが終了するとのことだったため、今回はBottlesを用いたWine経由での起動を試みてみた。
また今回紹介する手法は非公式であり、アップデートにより動作しなくなる可能性や安定的な動作を保証するものではない。
インストール
以下のような流れで進める。
- LINEクライアントの入手
- Bottlesのインストール
- Bottleの作成
- LINEのインストール
- LINEクライアントのアップデートブロック
LINEクライアントの入手
今回使用する方法では最新版(厳密には9.0.0以降)のクライアントだとログイン後にトーク画面が表示されなかったため、旧バージョンを用意する必要がある。
LINEはクライアントの旧バージョンの配布をしていないため何とかして入手してきてほしい。「line-8-7-0-build-3302」等で検索すれば出てくるだろう。くれぐれもご安全に。
Bottlesのインストール
flatpakのインストール
sudo apt update
sudo apt install flatpak
sudo add-apt-repository ppa:flatpak/stable
sudo apt install gnome-software-plugin-flatpak
PPA追加はMintでは不要かもしれない。
flathubリポジトリの追加
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
bottlesのインストール
flatpak install flathub com.usebottles.bottles
Linux Mintのソフトウェアマネージャー経由でも配布されているためそちらからのインストールでもいいだろう。(ただし「ボトル」表記なのでひらがな検索をかけないと出てこないかもしれない)
Bottleの作成
新しいボトルを作成…

適当な名前をつけ、アプリケーションを選択。
ランナーはsoda-9.0-1を選択。手元環境ではsys-wine-10.0で起動してもほとんど問題ないのだがスプラッシュが黒塗りされた状態で表示されたため今回はsodaを使用する。

しばらく待ってbottleの作成が完了したら依存関係よりcjkfontsをインストール。これがないと文字化けする。

LINEのインストール
cjkfontsのインストールが完了したら前の画面に戻り、実行可能ファイルを実行を押してファイル選択から、最初に入手したLINEのインストーラを選択する。

するとLINEのインストーラーが起動するため、インストール完了画面までインストールを進める。

LINEクライアントのアップデートブロック
インストール完了画面まで進むと以下のような表示になるが、これで閉じるを押してはならない。

閉じるを押すとLINEクライアントが起動するのだが、その際にアップデーター(LineUpdater.exe)を配置しアップデートを検索し始めてしまう。
更にこのアップデートは手動で停止することができないという大きな罠となっている。
アップデートをブロックする手段はいくつか思いつくが今回は最も単純なアップデーターを偽装し権限で上書きできないようにする方法を採用しようと思う。
LINEのインストーラーはそのまま、LINEのインストール先のbinディレクトリを探す。
特殊な設定をせずに手順通りに進めた場合は以下の場所にあるはずである。
/home/{ユーザー名}/.var/app/com.usebottles.bottles/data/bottles/bottles/{Bottleの名前}/drive_c/users/{ユーザー名}/AppData/Local/LINE/bin
見つけたら空のLineUpdater.exeを作成し、権限を設定する
cd /home/{ユーザー名}/.var/app/com.usebottles.bottles/data/bottles/bottles/{Bottleの名前}/drive_c/users/{ユーザー名}/AppData/Local/LINE/bin
touch LineUpdater.exe
chmod 000 LineUpdater.exe
ls -l LineUpdater.exe
少々強引な権限だが面倒なのでこれで進める。
権限が適切に設定されていることが確認できたらインストーラーを終了する。するとLINEのスプラッシュが表示された後にクライアントが表示されるため、Windows版と同じようにログインすることができる。

クライアント左上のハンバーガーメニューからLINEの情報を表示し、アップデートの確認中となっていることを確認しておく。

ここが今すぐアップデートとなっていた場合、アップデートのブロックに失敗しているため次の起動の前までにLineUpdater.exeの権限を変更しておく。

ここまで適切なインストールが完了すると自動的にbottleのプログラム欄にLineLauncherが追加されるため次回以降はこの右にある▶をクリックすればLINEが起動するようになる。
不具合
クライアントが古いためいくつかの機能は使えない(反応で好きな絵文字を選択する等)が、大抵の機能は問題なく使うことができる。
ただし手元環境では以下のような不具合が見られた。
最大ウィンドウにすると操作を受け付けなくなる
ウィンドウを最大にすると操作を受け付けなくなるが、最大表示にしなければ問題はない。
ウィンドウの影が他のアプリケーションを貫通する
画像のようにLINEウィンドウの上に他のウィンドウを重ねてもLINEウィンドウの影が貫通してくる。面倒だが逐一最小化するしかない。

LINE通話のマイクが反応しない
設定画面からの確認だったがマイクが反応していないようだった。流石に困ることが多そうなためなんとかできないか調べておこうと思う。

ウィンドウを閉じてもプロセスが残ったままになることがある
Bottleのウィンドウから右上の電源マークをクリックし、「すべてのプロセスを強制終了」をクリックすることで終了することができる。
おわり
これで最低限使える環境になったはずだがLINEがサーバー側でバージョンフィルタリングで接続できないようにしてきたら終わりであるため、一時しのぎの対応ということは理解しておく必要がある。
LINE公式でLinuxクライアントを用意してくれれば万事解決なんだけどなぁ。。。