ubuntu18.04LTSでwine3.0を削除してwine5.0(winehq)を入れる

wine3.0を入れたあとでwine5.0が出ていることを知ったので、入れ直そうとしたらハマったので備忘録として残す。

#wine3.0を削除
sudo apt show | grep wine でインストール済と表示されるものをとりあえずremoveしてみた。

```
sudo apt remove --autoremove wine-stable wine32 wine64
sudo apt remove winetricks
```

とりあえず消えたっぽいが、wineでインストールしたWindowsアプリのアイコンなどがそこら中に残っているのが気になる・・・

#winehqを入れる段でハマる
[WineHQのWiki](https://wiki.winehq.org/Ubuntu)の手順に沿ってやってみるが・・・

```
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo add-apt-repository'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main '

$ sudo apt install --install-recommends winehq-stable
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 winehq-stable : 依存: wine-stable (= 5.0.2~bionic)
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
```
・・・きたよ、依存関係。

Windowsでのほほんと生きてる人間にとって、この「依存関係」はホントきらーい。調べれば解決できることなんだろうけど、ログがなかったり情報がなかったりで時間はかかるし、結果的に「解決不可」なんてこともあった古い記憶と経験が・・・あああ。

#対処１：ゴミを削除
ググって同じことに悩んだ経緯を辿ってみる。

```
cd $HOME
rm .config/menus/applications-merged/wine*
rm -r .local/share/applications/wine
rm .local/share/desktop-directories/wine*

# 以下の2行はなかったので実行しなかった
# rm -r .wine
# rm .local/share/icons/????_*.xpm
```
これのおかげで残っていたアプリケーションのアイコンの残骸とかがきれいに消えたのでよかった。

でもまだ「依存関係」って言われた。くそっ。

#対処２：依存関係の壊れを解消する
もっかいぐぐったところ同じトラブルに見舞われた方がいたので、その足跡をたどることにした。

wine-stableが壊れてるって言うなら、一旦入れてみようぜ、ってことなのかなと。

```
$ sudo apt install --install-recommends wine-stable
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 wine-stable : 依存: wine-stable-i386 (= 5.0.2~bionic)
               依存: wine-stable-amd64 (= 5.0.2~bionic) しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
```

したらば、今度はi386とamd64がって言われたので、こいつらを入れてみる。

```
$ sudo apt install --install-recommends wine-stable-i386
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 wine-stable-i386:i386 : 依存: libfaudio0:i386 しかし、インストールすることができません
                         推奨: libcapi20-3:i386 しかし、インストールされようとしていません
                         推奨: libcups2:i386 しかし、インストールされようとしていません
                         推奨: libglu1-mesa:i386 しかし、インストールされようとしていません または
                                 libglu1:i386
                         推奨: libgsm1:i386 しかし、インストールされようとしていません
                         推奨: libgssapi-krb5-2:i386 しかし、インストールされようとしていません
                         推奨: libkrb5-3:i386 しかし、インストールされようとしていません
                         推奨: libodbc1:i386 しかし、インストールされようとしていません
                         推奨: libosmesa6:i386 しかし、インストールされようとしていません
                         推奨: libsane:i386 または
                                 libsane1:i386 しかし、インストールされようとしていません
                         推奨: libsdl2-2.0-0:i386 しかし、インストールされようとしていません
                         推奨: libv4l-0:i386 しかし、インストールされようとしていません
                         推奨: libxcomposite1:i386 しかし、インストールされようとしていません
                         推奨: libxcursor1:i386 しかし、インストールされようとしていません
                         推奨: libxfixes3:i386 しかし、インストールされようとしていません
                         推奨: libxi6:i386 しかし、インストールされようとしていません
                         推奨: libxinerama1:i386 しかし、インストールされようとしていません
                         推奨: libxrandr2:i386 しかし、インストールされようとしていません
                         推奨: libxrender1:i386 しかし、インストールされようとしていません
                         推奨: libxslt1.1:i386 しかし、インストールされようとしていません
                         推奨: libxxf86vm1:i386 しかし、インストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
```

はにゃー、またなんか言われたーっ！！
色々足りないようなので１番目に出ている「faudio」を入れてみることにしたが、あれ、この名前どっかで見たような・・・。

そういえばさっき見た[WineHQのWiki](https://wiki.winehq.org/Ubuntu)に・・・

>Ubuntu 18.04 / Linux Mint 19.xは、現在のWineの依存関係であるFAudioを提供していません。https://forum.winehq.org/viewtopic.php?f=8&t=32192の指示に従って、OBSからFAudioをインストールします。（Ubuntu 19.10以降のFAudioパッケージは、ディストリビューションのユニバースリポジトリにあります。）

あった、Faudioってのが・・・ということで、[WineHQのForum](https://forum.winehq.org/viewtopic.php?f=8&t=32192)に沿って進めた。

まず、以下の２ファイルをダウンロード(ブラウザでもwgetでもお好みで)
 >https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/amd64/libfaudio0_19.07-0~bionic_amd64.deb
https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_18.04/i386/libfaudio0_19.07-0~bionic_i386.deb

でもって、インストールする

```
$ sudo dpkg -i libfaudio0_19.07-0_bionic_amd64.deb 
以前に未選択のパッケージ libfaudio0:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 177643 個のファイルとディレクトリがインストールされています。)
libfaudio0_19.07-0_bionic_amd64.deb を展開する準備をしています ...
libfaudio0:amd64 (19.07-0~bionic) を展開しています...
dpkg: 依存関係の問題により libfaudio0:amd64 の設定ができません:
 libfaudio0:amd64 は以下に依存 (depends) します: libsdl2-2.0-0 (>= 2.0.8) ...しかし:
  パッケージ libsdl2-2.0-0 はまだインストールされていません。

dpkg: パッケージ libfaudio0:amd64 の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
libc-bin (2.27-3ubuntu1.3) のトリガを処理しています ...
処理中にエラーが発生しました:
 libfaudio0:amd64
```

またかーっ！！

したらば、libc-binをインストール！

```
$ sudo apt install libc-bin
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
libc-bin はすでに最新バージョン (2.27-3ubuntu1.3) です。
libc-bin は手動でインストールしたと設定されました。
これらを直すためには 'apt --fix-broken install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 libfaudio0 : 依存: libsdl2-2.0-0 (>= 2.0.8) しかし、インストールされようとしていません
 libfaudio0:i386 : 依存: libsdl2-2.0-0:i386 (>= 2.0.8) しかし、インストールされようとしていません
E: 未解決の依存関係です。'apt --fix-broken install' を実行してみてください (または解法を明示してください)。
```

ぬほー、今度は何よーっ！！　でも今回はこれをやってみよと指示があるので、それに従って実行。

```
$ sudo apt --fix-broken install
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
以下の追加パッケージがインストールされます:
  libasound2:i386 libasyncns0:i386 libbsd0:i386 libdbus-1-3:i386 libdrm2:i386 libegl-mesa0:i386 libegl1:i386 libexpat1:i386
  libffi6:i386 libflac8:i386 libgbm1:i386 libglapi-mesa:i386 libglvnd0:i386 libogg0:i386 libpulse0:i386 libsdl2-2.0-0
:
(長いので割愛)
:
man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ...
libc-bin (2.27-3ubuntu1.3) のトリガを処理しています ...
```

なんかうまく行ったようなので、改めてFAudioをインストールする。

```
$ sudo dpkg -i libfaudio0_19.07-0_bionic_amd64.deb 
(データベースを読み込んでいます ... 現在 177758 個のファイルとディレクトリがインストールされています。)
libfaudio0_19.07-0_bionic_amd64.deb を展開する準備をしています ...
libfaudio0:amd64 (19.07-0~bionic) で (19.07-0~bionic に) 上書き展開しています ...
libfaudio0:amd64 (19.07-0~bionic) を設定しています ...
libc-bin (2.27-3ubuntu1.3) のトリガを処理しています ...
$ sudo dpkg -i libfaudio0_19.07-0_bionic_i386.deb 
(データベースを読み込んでいます ... 現在 177758 個のファイルとディレクトリがインストールされています。)
libfaudio0_19.07-0_bionic_i386.deb を展開する準備をしています ...
libfaudio0:i386 (19.07-0~bionic) で (19.07-0~bionic に) 上書き展開しています ...
libfaudio0:i386 (19.07-0~bionic) を設定しています ...
libc-bin (2.27-3ubuntu1.3) のトリガを処理しています ...
```

今度はうまくいったので、ようやく本来の目的であるwinehqのインストール。

```
$ sudo apt install --install-recommends winehq-stable
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  gstreamer1.0-plugins-base:i386 libasn1-8-h
：
(すっげー長いので割愛)
：
wine-stable (5.0.2~bionic) を設定しています ...
winehq-stable (5.0.2~bionic) を設定しています ...
libc-bin (2.27-3ubuntu1.3) のトリガを処理しています ...
$ wine --version
wine-5.0.2
```

てなわけで、ようやく入りましたとさ(--;

## おまけ：winetricksと文字化け対応
Wineを動かすのに便利なツールということなので合わせて導入。

```
$ sudo apt install winetricks
$ winetricks 
```
起動したところwine-mono、wine-gecko、あともう１個何かが足りないというので、素直に従ってインストール。

ウインドウが開いたら「select the default wineprefix」→「install a fonts」→「cjkfontsにチェックを入れてOK」とすると、日本語フォントが続々とダウンロード＆インストールされる。

試しに「IPメッセンジャー」をインストールして動かしたら、ちゃんとやりとりできました。よかった、よかった。

# (追記)消えないアイコンたちの対処

IPメッセンジャー以外のアプリを入れたものの動かなかったのでアンインストールしたのだが、「アプリケーションを表示する」にしっかりアイコンが残ってしまった。調べ回って以下のファイルを消して再起動すると無事消えた・・・んだけど、このあたりもちゃんとやってほしいなぁ・・・。

```
~/.config/menus/applications-merged/wine-Programs-[アプリ名].menu 
~/.local/share/applications/wine/Programs/*[アプリ名]*.desktop 
~/.local/share/icons/(各種サイズ)/*[アプリ名の一部が含まれている？]*.png
~/.local/share/desktop-directories/wine-Programs-[アプリ名].directory 
```