ubuntu18.04の見た目をmacOSCatalinaに変えるマニュアル

#前書き
ubuntu18.04のUIが個人的にあまり好きではないので、いつもubuntuの見た目を普段使っているmacOSに寄せてしまいます
しかし、完成までやることがそこそこあるのでマニュアル化しないと無駄にググって時間を使ってしまいます
そこで、自分のためにも、これからubuntuの見た目をmacOSっぽくしたい方にも、このマニュアルを作成しました
最後まで順番通りにやればおそらく完成形までつまずかずに終わると思います
どこかで間違ってたらごめんなさいm(_ _)m

#完成形
- デスクトップ（背景は時間帯に合わせて自動で変わります）
<img width="500" alt="desktop.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/303095/47107195-4a23-136b-2c85-e26ee3b850c4.png">


- ロック画面（背景は時間帯に合わせて自動で変わります）
<img width="500" alt="lock.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/303095/9a3f0a57-09b9-ad70-ab26-0a04b0b023a0.png">

- ログイン画面（背景は固定です）
<img width="500" alt="login.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/303095/4e06be5b-5337-b3ef-f04c-05c32fc5dee6.png">

#やり方
###テーマ設定
1. **gnome-tweaksをインストール**

    ```bash
    $ sudo apt install gnome-tweak-tool
    ```

2. **テーマファイルのダウンロード**
[gnome-look.org](https://www.gnome-look.org/)から以下の３つのテーマをダウンロードして解凍
（他に気になるテーマがあればそれらをダウンロード）
    - McOS-CTLina-Gnome-1.3.2 ← GTK3 Theme
    - Cupertino-Catalina ← Full Icon Themes
    - capitaine-cursors-r4 ← Cursors

3. **gnome-tweaksにテーマを認識させる**
    1. 以下のコマンドを実行

        ```bash
        $ cd
        $ mkdir .themes .icons
        ```

    2. 解凍して出てきたMcOS-CTLina-Gnome-1.3.2を.themes、<br>Cupertino-Catalina、capitaine-cursors-r4を.iconsに移す

4. **gnome-tweaksで設定**
    1. gnome-tweaksを起動し、左側の外観を選択
    2. テーマのアプリケーション、カーソル、アイコン欄でそれぞれ<br>McOS-CTLina-Gnome-1.3.2、Capitaine-cursors、Cupertino-Catalinaを選択

###plankとslingscoldのインストール
plank = macのdockっぽいdock
slingscold = macのLaunchpadっぽいランチャー


1. **plankとslingscoldのインストール**

    ```bash
    $ sudo apt install plank plank-preferences slingscold
    ```

2. **plankが自動起動するように設定**
    1. 以下のコマンドを実行

        ```bash
        $ gnome-session-properties
        ```

    2. 出てきたウィンドウの右側の追加ボタンを押す
    3. 更に出てきたウィンドウで以下のように入力する
        - 名前：plank（なんでもいい）
        - コマンド：/usr/bin/plank
        - 説明：（書く必要ないのでスルー）
    4. 追加ボタンを押して閉じるを押す
    5. 再起動して下の方にplankが表示されていることを確認

3. **plankにslingscoldのアイコンを表示させる**
    1. 以下のコマンドを実行

        ```bash
        $ killall plank
        $ cd ~/.config/plank/dock1/launchers
        ```

    2. どの.dockitemファイルでもいいので複製する
    3. 複製したファイルの名前をslingscold.dockitemに変更
    4. slingscold.dockitemを開いてLauncher=file:///usr/share/applications/〇〇.desktopの行の〇〇の部分をslingscoldに変える
    5. 保存して閉じる
    6. ターミナルに戻って以下のコマンドを実行してctrl+c

        ```bash
        $ plank &
        ```

4. **plankにゴミ箱のアイコンを表示させる**
    1. 以下のコマンドを実行するか、plankの端っこを右クリックして設定を開く

        ```bash
        $ plank-preferences
        ```

    2. 出てきたウィンドウのドックレットタブを選択
    3. Trashアイコンをplankにドラッグして配置

5. **ubuntuデフォルトのdockとデスクトップのゴミ箱アイコンを非表示にする**

```bash
$ gsettings set org.gnome.nautilus.desktop trash-icon-visible false
$ gsettings set org.gnome.shell.extensions.dash-to-dock autohide false
$ gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed false
$ gsettings set org.gnome.shell.extensions.dash-to-dock intellihide false
```

※ゴミ箱とdockを再表示するには最後のfalseをtrueにして実行

###背景設定
背景がmacOSのように自動で切り替わるようにする
ログイン画面の背景をmacOSの背景にする

1. **背景画像の準備**
    1. catalinaの全背景画像を[512pixels](https://512pixels.net/projects/default-mac-wallpapers-in-5k/)からcatalina1~catalina8の順番でダウンロードする<br>(ダウンロードするときの名前もcatalina(1~8).jpgにする)
    2. 以下のコマンドを実行

        ```bash
        cd ~/Pictures
        mkdir -p wallpapers/catalina_background
        ```

    3. 先程ダウンロードした画像ファイルをすべてcatalina_backgroundに移す
    4. catalina_dynamic_wallpapers.xmlを以下のように書いてcatalina_backgroundに置く（背景が勝手に変わるようにするためのスライドショーの設定ファイル)


        <details><summary>catalina_dynamic_wallpapers.xml(長いので畳んでいます)</summary><div>

        ```xml:catalina_dynamic_wallpapers.xml
        <?xml version="1.0" ?>
        <background>
          <starttime>
            <year>2020</year>
            <month>5</month>
            <day>1</day>
            <hour>1</hour>
            <minute>00</minute>
            <second>00</second>
          </starttime>
          <!-- 00:00 -->
          <static>
            <duration>17995.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina8.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina8.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina1.jpg</to>
          </transition>
          <!-- 05:00 -->
          <static>
            <duration>3595.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina1.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina1.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina2.jpg</to>
          </transition>
          <!-- 06:00 -->
          <static>
            <duration>10795.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina2.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina2.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina3.jpg</to>
          </transition>
          <!-- 9:00 -->
          <static>
            <duration>17995.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina3.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina3.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina4.jpg</to>
          </transition>
          <!-- 14:00 -->
          <static>
            <duration>7195.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina4.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina4.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina5.jpg</to>
          </transition>
          <!-- 16:00 -->
          <static>
            <duration>7195.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina5.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina5.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina6.jpg</to>
          </transition>
          <!-- 18:00 -->
          <static>
            <duration>14395.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina6.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina6.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina7.jpg</to>
          </transition>
          <!-- 22:00 -->
          <static>
            <duration>7195.0</duration>
            <file>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina7.jpg</file>
          </static>
          <transition type="overlay">
            <duration>5.0</duration>
            <from>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina7.jpg</from>
            <to>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina8.jpg</to>
          </transition>
        </background>
        ```
        </div></details>

2. **スライドショーの設定ファイルを認識させる**
    1. 以下のコマンドを実行

        ```bash
        $ mkdir -p ~/.local/share/gnome-background-properties
        ```

    2. macos_dynamic_wallpapers.xmlを以下のように書いてgnome-background-propertiesに置き、{user-name}となっているところを自分のユーザー名に書き換える

        ```xml:macos_dynamic_wallpapers.xml
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
        <wallpapers>
          <wallpaper deleted="false">
            <name>Opensource.com Wallpapers</name>
            <filename>/home/{user-name}/Pictures/wallpapers/catalina_background/catalina_dynamic_wallpapers.xml</filename>
            <options>zoom</options>
          </wallpaper>
        </wallpapers>
        ```


3. **背景選択**
設定→背景でcatalinaの背景（右下に時計マークがある）を選択（ロック画面も同じように選択）<br>※もし背景が真っ黒になったら背景画像のパスが<br>/home/(ユーザー名)/Pictures/wallpapers/catalina_background/catalina(番号).jpg<br>になってるかどうかを確認

4. **ログイン画面の背景画像の変更**
    1. /etc/alternatives/gdm3.cssの#lockDialogGroupを以下のように変更する（{user-name}は自分のユーザー名に書き換える）

        ```css:gdm3.css
        /* ...省略... */

        /* #lockDialogGroup {
          background: #2c001e url(resource:///org/gnome/shell/theme/noise-texture.png);
          background-repeat: repeat; } */
        #lockDialogGroup {
            background: #2c001e url(file:///home/{user-name}/Pictures/wallpapers/catalina_background/catalina6.jpg);
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center; }

        /* ...省略... */
        ```

    2. 再起動して変わったことを確認

**完成です！**🎉

###その他
もし途中の再起動のせいで「システムプログラムの問題が発生しました」ウィンドウが出てきたら<br>おそらくどこかのパスを書き間違えているので、そこを見つけて修正して以下のコマンドを実行

```bash
$ sudo rm -rf /var/crash/*
```
あと、デスクトップ画面の左上のアクティビティの文字をりんごマークに変えるやり方と、<br>選択のハイライトとかをオレンジ色以外に変える方法がわからなかったので、<br>わかる方がいれば是非コメントで教えてくださいm(_ _)m

#最後に
（macOSっぽい）ubuntu最高

#参考
https://www.archlinux.site/2018/05/ubuntudock.html
https://qiita.com/ponsea/items/259ec3842673f26d2504
https://512pixels.net/projects/default-mac-wallpapers-in-5k/
https://qiita.com/teppeitherock/items/a480fa5ae879423fedb2
https://askubuntu.com/questions/810307/how-do-i-put-slingscold-icon-on-plank
https://opensource.com/article/17/12/create-your-own-wallpaper-slideshow-gnome