[Ubunutu 20.04] Ubuntuをデュアルブートした直後にすることリスト

# 概要
Ubuntuをインストールしたときには様々な不具合がたくさんあります。
特にWindowsとデュアルブートしたときには不具合が多いです。
それらを解消するために毎回することがあるので、自分用のメモ的なリストをまとめました。
**※上にもあるように自分用なので皆さんの目的に応じて手順の追加・スキップを適宜してください**

# やることリスト
## 0.バージョン確認
Ubuntuのバージョンを確認しておきましょう

```
$ cat /etc/lsb-release
```
出力例
>DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

## 1.ディレクトリの英語化
Japanese Teamの日本語Remixをインストールしている場合はダウンロードなどが日本語になっており、開発上のバグの原因になるので英語化します。
手動で名前かえるとうまく行かない（ディレクトリをダウンロードなど特別なディレクトリと認識しない）のでコマンドで一括して変更します。


```
$ LANG=C xdg-user-dirs-gtk-update
```

これを打つとポップアップがでるので名前を更新する系のボタンを押します。

参考：

https://qiita.com/taiko19xx/items/d1a001bfc25245b91354

## 2.アップデート&アップグレード

最新の状態を保ちましょう
<details><summary>Tips: 余談ですが…</summary>インストールなどがなにかしらうまくいかないときはこれをすると解決する場合が多い気もします</details>

```
$ sudo apt update
$ sudo apt upgrade -y
```
<details><summary>Tips: `-y`とは</summary>なくても動作しますが、Yes/Noを聞かれたときに`y`と入力する手間を省いてくれます。
`apt install`などでも有効なので覚えておくと便利です。
</details>

## 3.時刻のズレを修正
Windowsとデュアルブートしたときには、歴史的な背景からWindows側もしくはUbuntu側の時計が9時間ずれることが頻繁にあります。
Ubuntu側の時計の読み込み方を変更しましょう。

```
$ timedatectl set-local-rtc true
```

設定後にWindowsを起動してWindows側の時計もあっているか確認しましょう。
場合によってはNTPサーバに接続できていない場合にうまく行かないこともあるので、回線のファイアウォール設定を確認してください。

参考：

https://vz-shark.hatenablog.com/entry/2018/10/05/181118

<details><summary>Tips: 歴史的背景とは？</summary>
それぞれのコンピュータにはハードウェアクロック(RTC)と呼ばれる内蔵時計が搭載されています。
WindowsではDOSの頃からの設計思想でRTCをローカルタイム（日本の場合：UTC+9）とし扱ってきました。
一方、LinuxではRTCを世界標準時(UTC)として読み込むためこのようなズレが起きてしまうのです。
*著者的には、移動してタイムゾーンがかわって毎回RTCを変更するような手間が省けるのでLinuxの時計の扱いのほうが合理的に思う。*
</details>

## 4.トップバーの時刻の表示形式を変更
しなくても問題ないですけど、固まっているかどうかわかるので秒を表示させたほうがいいです。
ついでに曜日も表示させましょう。

```
$ gsettings set org.gnome.desktop.interface clock-show-seconds true
$ gsettings set org.gnome.desktop.interface clock-show-weekday true
```

## 5.ラップトップの場合：バッテリー残量を表示させる
上と同様のコマンドを打ちます。
意外と便利ですよ。

```
$ gsettings set org.gnome.desktop.interface show-battery-percentage true
```

## 6.ブートするOSを選択する画面の設定
デュアルブートすると電源投入時にOSを選択する画面が出ます。
デフォルトでUbuntuが選択されますが、これをWindowsをデフォルトにしたり、短すぎる選択時間を変更したりします。

まず、Windowsのブートファイルがどの名前で認識されているのか確認しましょう。

```
$ less /boot/grub/grub.cfg | grep windows
```

出力
>menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-0E82-5EFC' {

`'Windows Boot Manager (on /dev/nvme0n1p1)'`という名前で認識されていることがわかったのでコピーしておきます。

エディタでGRUBの設定をしましょう。（geditでもnanoでもemacsでもviでもなんでもいいです）

```
$ sudo gedit /etc/default/grub
```

`GRUB_DEFAULT=`の値を変更します。（名前で入れるのがベターですが、インデックス（上から何番目）でも指定できます）
ついでにタイムアウトする時間も変更しましょう。

```text:/etc/default/grub
...
#GRUB_DEFAULT=0
GRUB_DEFAULT='Windows Boot Manager (on /dev/nvme0n1p1)'
#GRUB_TIMEOUT=5
GRUB_TIMEOUT=60
...
```

最後にGRUBを更新します。これで再起動するとWindowsがデフォルトで選ばれているはずです。

```
$ sudo update-grub
```

参考：

https://note.com/setoyama60jp/n/n8558748bd640

## 7.グラフィックボードのドライバーを有効化
NVIDIA製などのグラフィックボードが載っている場合、ドライバーがうまく選ばれていないことが多いです。

すべてのアプリケーションから「ソフトウェアとアップデート」（もしくは「追加のドライバー」）を起動し、「追加のドライバー」というタブから検証済みのドライバーを選択し、適用しましょう。

![Screenshot from 2021-07-05 20-14-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596310/5423bc39-e1f6-10d7-7abe-e11d7092a078.png)

<details><summary>Tips: コマンドからドライバーを追加できますが…</summary>コマンドからドライバーの設定を何度かやったことありますがログインループするなどうまく行った試しがないため、非推奨です。紹介した方法のほうが絶対オススメ。</details>

## 8.gitのインストール
gitは入れないと開発始まらないですからね（暴論）
必要に応じてユーザー名などを`git config`で登録しておくといいでしょう。

```
$ sudo apt install git -y
```

## 9.GoogleChoromeのインストール
FireFoxは使いにくいので、最後のお仕事としてクロームを検索させてあげましょう

https://www.google.com/intl/ja_jp/chrome/

## 10.Slackのインストール
グループ向けのコミュニケーションツールのSlackはLinuxでも使えます。
ソフトウェアセンターからダウンロードできますが、たいてい上手くいかないので、ブラウザからダウンロードするのをオススメします。

https://slack.com/intl/ja-jp/downloads/linux


#まとめ
これだけやれば、開発はできる気がします。
今後、必要なものがあれば追記します。