mac使いがwindowsをセットアップしてみた

# はじめに
とある事情で，windowsのマシンを使うことになったので，普段のmacと同じように使うためにセットアップした際の，記録を備忘録として残しておく．

# 環境
surface
windows10 バージョン1909 (OSビルド 18363.1139)

# キーコンフィグ
はじめに行ったのは，キーコンフィグである．windowsのusキーボードということで真っ先にこれに取り掛かった．


## emacsキーバインド
ゴリゴリのemacsキーバインド使いというわけではありませんが，ctrl-a,ctrl-kがないと生きていけない体になってしまったので，

[Windows 10でも「Emacs風キーバインド」を使おう【AutoHotKey】](https://linuxfan.info/windows-emacs-keybindings)を参考に，AutoHotKeyを導入し，

「カーソル移動＋α」のキーバインドだけをEmacs風にする，gtk-emacs-theme-like.ahkを導入．


## altで言語を切り替える
普段のmacでは，⌘英かなというソフトを用いて，左⌘に英語入力，右⌘に日本語入力を割り当てている．

それに近いものを探したところ，[WindowsのAlt空打ちで日本語入力(IME)を切り替えるツールを作った](https://www.karakaram.com/alt-ime-on-off/)というぴったりの記事を参考に設定した．

これもAutoHotKeyを用いている．

上記2つをデフォルトで設定するために，[【 Windows 10 】「スタートアップ」フォルダーを最速で開くには？](https://linuxfan.info/windows-10-open-startup-folder)を参考に設定した．


## capslockをctrlに割り当てる

定番のやつですね．[Windows で Caps キーに Ctrl を割り当てる方法](https://loumo.jp/archives/25374)を参考に，ctrl2capを導入．

これで，キーコンフィグは終了．かなり普段のmacに近づいた．

# WSL
どんどんいきます．続いてはwslです．
こちらは，マイクロソフトの公式ドキュメント[Windows 10 用 Windows Subsystem for Linux のインストール ガイド](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)を参考にして，導入．

躓いた点として，```wsl --set-default-version 2```がうまくいかなかったので，Windows メニューから [設定] を開き、[更新とセキュリティ] に移動して、[更新プログラムのチェック] からwindows updateを行うとできた．

Ubuntuは18.04LTSをインストールした．

# fish
デフォルトのubuntuの画面は見にくかったので，fishを導入．

[Ubuntuをインストールしたらとりあえずやること](https://qiita.com/taiga533/items/2c0c6d805cc3bb54eab2)の

```
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install -y fish
```

を参考に，fishをインストール完了．

config.fishや，functions/fish_prompt.fishはmacで使用しているものを用いた．

# gitの導入からssh接続まで

[UbuntuにGitをインストールする](https://qiita.com/tommy_g/items/771ac45b89b02e8a5d64)を参考に，

```
sudo apt-get install git
```
でインストールは完了．

続いて，ssh接続．

[GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~](https://qiita.com/shizuma/items/2b2f873a0034839e47ce)を参考に，実際に行った手順として，

```
cd
mkdir .ssh
cd .ssh
ssh-keygen
cat id_rsa.pub
```

keygenの際enterを3回ほど押し，パスフレーズはなしとした．
catで表示され鍵をgitに登録．

```
ssh -T git@github.com
```

これで，自分のユーザ名が返ってきたら成功である．

macで使ってた，自作のプログラムを，git cloneしておいた．よかったら見てください．

- [terminalから英単語を検索する](https://qiita.com/kyohei-horikawa/items/e2743e5f3542a1406fd4)
- [cdコマンドをもっと便利に](https://qiita.com/kyohei-horikawa/items/a794cfaa59da6b38d8d4)

# vscode
僕は，エディタとしてvscode派なので，vscodeをインストール．[ここから](https://azure.microsoft.com/ja-jp/products/visual-studio-code/)インストール．

wslと連携するために，```Remote - WSL```というエクステンションを導入．これで，ubuntuからcodeコマンドでvscodeが立ち上がるようになった，

ついでに，vscodeのデフォルトシェルをfishに変えておいた．

# emacs26
研究室で[org-modeを用いた，rubyのgem](https://qiita.com/yamatoken/items/858692178d288c40714d)を用いるため，emacs26をインストール．

[Ubuntu 18.04 LTS にEmacsをインストール](https://keisanbutsuriya.hateblo.jp/entry/2019/12/23/000740)を参考に，

```
sudo add-apt-repository ppa:kelleyk/emacs
sudo apt-get update
sudo apt-get install emacs26
```

これでOK


# rbenvでrubyのインストール
[Ubuntu で最新版の Ruby をインストール](https://qiita.com/kerupani129/items/77dd1e3390b53f4e97b2)を参考にして，

```bash:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
```

config.fishに

```
set PATH ~/.rbenv/bin/ $PATH
status --is-interactive; and rbenv init - | source
```
を追加．

その後，

```bash:
#バージョン確認
rbenv install -l 
CONFIGURE_OPTS='--disable-install-rdoc' rbenv install 2.7.0
rbenv global 2.7.0
```

これでインストール完了．

macでも，brewではなく，git cloneで入れたら，gem installの際に，sudoをつけなくていいということを学んだ．


# pyenvでpythonのインストール

[ubuntu 20.04 に pyenv をインストールする話【2020/07/18更新】](https://qiita.com/neruoneru/items/1107bcdca7fa43de673d)を参考に，pyenvをインストール．

1つ注意点として，pythonのguiアプリを作るtkinterやそのラッパーである，pysimpleguiを使いたいなら，
先にこの手順を実行してください．

参考[Ubuntのpyenv上でtkinterを使えるようにする](https://www.python.ambitious-engineer.com/archives/357)

```
sudo apt-get install python3-tk
sudo apt install tk-dev
```

ここからがpyenvのインストール

```
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
```

config.fishに追加

```
set PATH ~/.pyenv/bin/ $PATH
status --is-interactive; and pyenv init - | source
```

```
pyenv install -l
pyenv install 3.7.4
pyenv global 3.7.4
```

これで,tkが使えるpythonをインストールできた．


これで一通り，セットアップが完了した．お疲れさまでした．


# ubuntuでgui環境を整える．
個人的に，pythonのpysimpleguiを用いることが増えてきたので，せっかくならwindowsでも，環境を整えたい．

## VcXsrv
ubuntuではxサーバがないので，guiを使用できない．そのため，VcXsrvをインストールして，xサーバ環境を構築する．

[VcXsrv（Xサーバー）をWindowsにインストールしLinuxのGUIをリモート操作する設定方法](https://rin-ka.net/windows-x-server/)を参考にインストール．

これで，ubuntuでもpysimpleguiが動いた．

ただ，問題として，inputに，日本語入力ができないが出てきてしまった．．．