WSL入れてやってみたこと

クリーンインストールしたWindows 10があったので、WSLを入れてみた。その過程でいろいろやったこと。
**基本的にいつも書きかけ。**

OS: Windows 10

# WSLのインストール
公式のページ [WSL のインストール | Microsoft Docs](https://docs.microsoft.com/ja-jp/windows/wsl/install) にしたがって、

```powershell
wsl --install
```
でインストール。

## Ubuntu-20.04 on WSLのインストール
```powershell
wsl --list --online
```
で調べると

```console
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl --install -d <Distro>' を使用してインストールします。

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS
```
が出てきたので、

```powershell
wsl --install -d Ubuntu-20.04
```
でUbuntu-20.04をいれた。
デフォルトで入っている`Ubuntu`は`/etc/issue`をみたらUbuntu-20.04であることが分かった。つまり、デフォルトと意図的に入れた二つのUbuntu-20.04が入っていることに。なんとなく、後者を中心に触っている。

# MobaxtermでのWSL
WindowsのアプリでWSLのUbuntu-20.04が立ち上げられ、コンソールが使えるようになる。
一方で、Mobaxtermが入っていると、Mobaxtermはwindows機のWSLをsessionに自動で追加してくれて、WSLで入れたLinuxのコンソールとしてMobaxtermが使える。MobaxtermはX11 serverも入っていてX11アプリも使えるので、結構おすすめ。

例えば[MobaXTermことはじめ - Qiita](https://qiita.com/Yasushi-Shinohara/items/6fddee650bd5e3338d4c)とか。

# Emacsのインストール
```bash
sudo apt install emacs
```
だと、なぜかこけた。どこぞで見かけた記事を参考に

```bash
sudo apt update
sudo apt upgrade
```
をしてから、`sudo apt install emacs`で無事emacsがインストールされた。
この時、インストール直後は`$ emacs`と入力すると、なぜかMobaxtermの中のemacsが呼ばれてしまい、変な挙動になっていた。一方でえ`which emacs`で場所を調べると、きちんと`/usr/bin/emcas`が返ってきて、pathが通っていないわけではないよう。
結局、mobaxtermを再起動したところ、問題なくemacsが立ち上がるようになった。


# Xtermのインストール
```bash
sudo apt install xterm
```
で入る。
現代的なコンピューターだと解像度が高く、xtermのデフォルト設定だとフォントが小さすぎることが多い。あと、デフォルトのフォントはあんまり好きではない。そこで

```bash:.bashrc(抜粋)
alias xterm="xterm -fa 'Hack' -fs 12"
alias xtermrv="xterm -fa 'Hack' -fs 12 -rv "
```
とか`.bashrc`に書いておくと、私としては都合の良いxtermになる。

# pyenvのインストール
## 古い方法(?)
公式のGithub [GitHub - pyenv/pyenv: Simple Python version management](https://github.com/pyenv/pyenv)のLinuxのあたりの記述に倣って

```bash
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
```
でインストールして、Ubuntuの設定項目にある

```bash
# the sed invocation inserts the lines at the start of the file
# after any initial comment lines
sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.profile
echo 'eval "$(pyenv init --path)"' >>~/.profile

echo 'eval "$(pyenv init -)"' >> ~/.bashrc``
```
をコピペした。
これで、pathも通って、pyenvが使えるようになった。

## より新しい方法(2024/08/30) on Ubuntu 24.04
公式のGithub [GitHub - pyenv/pyenv: Simple Python version management](https://github.com/pyenv/pyenv)を見たらインストラクションが変わっていた。
Installation > Getting Pyenv > UNIX/MacOS > Automatic installer を見ると
```console
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv && src/configure && make -C src
```
でBashを使っている場合は
```console
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
```
で`.bashrc`のアップデートが完了。`source ./.bashrc`で読み込んで`which pyenv`でPATHが通っていることを確認できた。

## Anacond3-2021.11
```bash
pyenv install anaconda3-2021.11 #インストール
pyenv global anaconda3-2021.11 #デフォルトのpythonに
```
でインストール。

# konsoleのインストール
```bash
sudo apt install konsole
```

# その他数値計算系開発ツールインストール
```bash
sudo apt install gfortran
sudo apt install libfftw3-dev #FFTW関係 
sudo apt install liblapack-dev #LAPACK関係と依存するBLAS関係のインストール
sudo apt install libopenmpi-dev 
sudo apt install openmpi-*
sudo apt install make
```

pyenvとかでpython入れるなら
```bash
sudo apt install libbz2-dev libsqlite3-dev libreadline-dev
sudo apt install liblzma-dev tcl tk-dev libffi-dev #随時追加
```
を入れておいた方がよい。