thinkcentreを買ってwindowsに戻ってきたのでwindowsのセットアップをする


Macを10年くらい使っていたものの、久しぶりにWindowsに戻ってきたら何もかもが違っていたのでメモ。

# 物理の方のセットアップ
## thinkcentreの価格コムモデル
メモリ8G、SSD 128Gなほぼミニマム構成で¥37290-。後付けができないダストシールドとHDMIポートを追加で足した。

今思うと既にHDMIとDisplayPortが付いてるのにもう一個つけてトリプルディスプレイとかするのか？？と思ったけどまぁ気にしない。

6/25に発注して7/4に届いた。めっちゃ早いやん。

## 各種パーツ
とりあえずあまり欲張らないけどしばらくは戦えそうな感じのラインナップにした。
大体本体代と同じくらいになった。

Crucialのメモリ 16G x2
https://www.amazon.co.jp/gp/product/B07997SMG9/

シリコンパワーのSSD 1T
https://www.amazon.co.jp/gp/product/B07MV5FVMS/

インテルのワイヤレスカード AX200
https://www.amazon.co.jp/gp/product/B07SH6GV5S/

ワイヤレスカードのアンテナ
https://www.amazon.co.jp/gp/product/B07K564T9L/

ワイヤレスのアンテナは無加工だと一本しかつかないので、多分物理のアンテナがない方がボディ内に綺麗に収められると思う。こっちのタイプのがよかった
https://www.amazon.co.jp/dp/B01KLEF4PU/

後は回復ディスク作成用のUSBメモリを適当に。
https://www.amazon.co.jp/gp/product/B07B6HDVN1/

# 中身の方のセットアップ
## 回復ドライブ
いわゆるリカバリーディスク。今はUSBメモリとかもできるようになったので汎用的な言い方になった模様。

thinkcentreは標準でリカバリーディスクがついてないので、SSDを載せ替えたいみたいなときに作成する必要がある。そうじゃなくともOSごとバックアップはやっておいた方がいい。

何も難しくはなく、コントロールパネルから作成できる。
Windowsキーを押してメニューが出た後に「回復」とか入力すると「回復ドライブの作成」が直で開けるので便利。いつの間にこんなに便利になってたんだ。

起動確認してWindows Updateの最新まで入れたら、32GくらいのUSBを突っ込んで回復ドライブを作っておきましょう。小一時間くらい待ってれば作成完了する。

ページを用意してくれてるのでとりあえずの参照先。
https://support.lenovo.com/dk/ja/solutions/ht118604


SSDを入れ替えて再インストールする時もUSB挿しっぱにしておけば普通にUSBからブートされた。後は起動したWindowsのセットアップで何回かポチポチすればインストールが始まる。


## CtrlとCapsLock入れ替え
定番のやつ。
ソフトを入れるのも面倒なのでレジストリをえいやと書き換え。
Ctrlはそのまま、CapsLockをCtrlにする。

下記を `moge.reg` とかで保存してダブルクリックとかでもいい。

```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
```


## WSL
WindowsでLinuxとかが動くやつ。
従来だとVM入れてーTerminal入れてーみたいな感じだったと思うんですが割といい感じで動くっぽいのでいれる。

「Windowsの機能の有効化または無効化」から「Windows Sybsystem for Linux」にチェックを入れてOKを押すだけ。

次にLinuxのディストリを入れる。
Microsoft Storeで「ubuntu」とかで探すと出て来るのでインストールボタンを押してインストール。簡単すぎて拍子抜けした。

ubuntuを起動すると初回セットアップが走るのでしばらく待つが、その後は至って普通のLinuxっぽいものでbashが起動する。すげぇ。とりあえず `sudo apt update` && `sudo apt upgrade` で最新化しておく。


## Windows Terminal
WSLのデフォルトのterminalは設定の自由が効かないので最近正式リリースになったWindows Terminalを使ってみる。

インストールはWindows Storeで「Windows Terminal」で検索->インストールなので何も難しいことがない。

細かい設定は設定ファイルに記載する。タブの「v」のところをクリック->設定をクリックするとメモ帳でsettings.jsonが開くので設定を書けばよい。

メモ帳かよ！！ってなったけどまぁいいや。


とりあえず変えた項目は下記二つ。

#### デフォルトで起動するprofile
Windows Terminalを起動するとデフォルトだとPowerShellが起動するがそれを変更。
`defaultProfile` を `profiles.list` のUbuntuの `guid` からコピペして来る。

#### フォント
デフォルトのでも悪くないけど使い慣れた `Consolas` にしておく。
`profiles.default` を下記のようにする。

```
"profiles":{
  "defaults":{
  	"fontFace": "Consolas",
  	"fontSize": 12,
  }
}
```


keybindingみたいな項目もあるので結構便利にカスタマイズできそうなのでゆくゆく調べていく。

## VSCode
vscodeはstoreにないみたいなのでダウンロードしてインストールする。
https://code.visualstudio.com/download

ついでにWSLで使う拡張をインストール
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

vscodeをインストールしたら一回Windows Terminalを開き直し、`code .` と入力すると、何かしらのインストールが行われた後、WSL領域が見れる状態でvscodeが開く。

一瞬何が起こったかわからなかったけど、先ほどインストールした拡張でWSL領域に接続した後のvscodeが起動するっぽい。未来ずら。

どんなことが起こるのかは公式のドキュメントがちゃんとしているのでそれを見た方がよい。
https://docs.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-vscode


## Docker
virtualboxとか入れなくてもdocker走らせることが可能っぽいので試した。
結果多少つまずいたものの、下記を守ればいけるっぽい。

#### ubuntuは18.04 LTSを選ぶ
最初Windows Storeから入れたものは `Ubuntu` としか書いてないやつを入れたけどそれではダメで `Ubuntu 18.04 LTS` の方じゃないとダメっぽい。`Ubuntu 20.04 LTS` は試してないのでまたやる。

#### WSL自体を管理者権限で実行する
スタートメニューから `Ubuntu 18.04 LTS` を右クリックして *管理者として実行* で開いたシェルからコマンドを打つ。sudo だけでなくWindows側の管理権限も必要っぽい。

#### 古いversionのdocker.ioを入れる
最新版だと動かないっぽいです。なので古いバージョンを入れると良い模様。

`apt-cache madison docker.io` とかでこんな感じで過去のバージョンの一覧が見れる。

```
$ apt-cache madison docker.io
 docker.io | 19.03.6-0ubuntu1~18.04.1 | http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
 docker.io | 18.09.7-0ubuntu1~18.04.4 | http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
 docker.io | 17.12.1-0ubuntu1 | http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
```

#### まとめ
Windows Storeで `Ubuntu 18.04 LTS` を入れ、管理者権限で下記のコマンドを実行すれば `docker` は走った。

```
sudo apt update
sudo apt upgrade
sudo apt install docker.io=17.12.1-0ubuntu1
sudo cgroupfs-mount
sudo usermod -aG docker $USER
sudo service docker start
```

上記の組み合わせでない場合はaptで `docker.io` インストール時に`invoke-rc.d: could not determine current runlevel` みたいなエラーが出てinitscriptが配置されないっぽい。

あと電源落としたり再起動時にはdockerのdaemonをスタートさせてあげないといけないけれど、それもWindowsの管理者権限で起動したシェルで `sudo service docker start` をしてあげないといけないので少しめんどう。自動起動は後で調べる。


## まとめ
かつてのWindowsでLinux環境を整えるとなると、とにかくいろんなものをインストールしなくてはいけなくてめんどうという感じで、そこにデフォルトでそこそこ便利なMacが出てきたので飛び付いたという感じだった。

けれど、現代のWindowsは標準のインストール機能だけで、開発環境のセットアップはほぼ何とかなる感じで、マウスを小一時間ポチポチしてるだけでLinux環境ができるように進化していた。すごい。

Macは統合具合が綺麗で美しいとか本体のデザインがいいとかいうのはあるけれど、Windowsがここまで楽になっているとなるとMacにこだわらなくてもいいのかな、と思えるようになった。あと安いし。


## 参考
https://qiita.com/yanoshi/items/dcecbf117d9cbd14af87
https://simplestar-tech.hatenablog.com/entry/2019/10/14/101551