前からやってみたかったので
を参考にWindows10にUbuntuを入れた。
- Windows10 Insider Previewビルドをインストール
- WSL2が動くようにWindowsの仮想化機能を有効化
- Windowsのクリップボードを使ってUbuntuにペーストする
- UbuntuからGitHubにsshで接続できるようにする
- ghq環境を整える
- このあとやっておきたいこと
- 続きはこちら
Windows10 Insider Previewビルドをインストール
上記記事に記載の方法とまったく同じ手順で入る。
ただし今入れるとバージョンが上記記事とは違って
C:\Users\kimik>ver Microsoft Windows [Version 10.0.19041.21]
となる。
WSL2が動くようにWindowsの仮想化機能を有効化
これも上記記事と同じ手順を踏み、Powershell上で
PS C:\Users\kimik> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform (再起動後) PS C:\Users\kimik> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
を実行するところまでは同じ。
私の場合はMicrosoft Store上でインストールするUbuntuだけバージョン指定のないUbuntuを入れた。
今Microsoft Store上でubuntuと検索すると3つくらい出てくる。

画像を見てもらえばわかるように一番左のものをインストールした。といっても今のLTSは18.04で、そっちを選んだのと同じものがインストールされるようだった。実際にバージョン確認を行ったのが以下。

これでインストール完了。
Microsoft Storeからインストールする手順を取ったとき、Ubuntuのデスクトップが立ち上がるのかなーと想像していたらUbuntuのターミナルが実行できるだけっぽいので、Macでコンソール立ち上げるのと感覚的には変わらないことがわかった。あと試しにgitコマンド打ってみたら apt-get するまでもなく初めから入っていて便利。昔はなかった記憶なので、時代は変わったんだなーと思った。
Windowsのクリップボードを使ってUbuntuにペーストする
『Ubuntuのターミナルからテキストをコピー → Windowsのアプリケーションにペースト』はできたが、『Windowsのテキストをクリップボードにコピー → クリップボードの内容をUbuntuのターミナルにペースト』がうまくいかなかった。通常 Ctrl + V でペーストするが、これはデフォルトではoffになっている。そこで
ここにしたがって、『Windowsのテキストをクリップボードにコピー → クリップボードの内容をUbuntuのターミナルにペースト』ができるようにする。
Ubuntuのターミナルのヘッダーの文字が何もないところで右クリックするとメニューが表示されるので、その一番下にある「プロパティ」をクリックする。

すると「オプション」というタブが現れるので、その中の「Ctrl + Shift + C/V をコピー/貼り付けとして使用する」にチェックを入れる。これだけで『Windowsのテキストをクリップボードにコピー → クリップボードの内容をUbuntuのターミナルにペースト』ができるようになる。

UbuntuからGitHubにsshで接続できるようにする
初めからgitが使えるなら、GitHubに接続できるようにしておきたい。そこで
ここにある通りのことをやればUbuntuに一緒についてきたgitでGitHubにはいれるはずだと思ったので実行してみる。
~$ ssh-keygen -t rsa -b 4096 -C "your-own-email@example.com" ~$ ps aux | grep ssh # ssh-agentが立ち上がってるか確認したところ立ち上がってなかった kimikim+ 98 0.0 0.0 14856 1068 pts/0 S+ 22:53 0:00 grep --color=auto ssh ~$ eval $(ssh-agent -s) ~$ ps aux | grep ssh kimikim+ 100 0.0 0.0 11304 320 ? Ss 22:53 0:00 ssh-agent -s kimikim+ 102 0.0 0.0 14856 1084 pts/0 S+ 22:53 0:00 grep --color=auto ssh ~$ ssh-add ~/.ssh/id_rsa Identity added: ~/.ssh/id_rsa (~/.ssh/id_rsa) (このあと [Adding a new SSH key to your GitHub account](https://help.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account) にしたがってpub keyを登録) ~$ ssh -T git@github.com Hi kimikimi714! You've successfully authenticated, but GitHub does not provide shell access.
普通に使えた。
ghq環境を整える
これがないと仕事できないレベルになってるので自分のPCにUbuntu環境を入れたんなら、そこにも同じように ghq を入れておきたい。なので、とりあえず Go を入れて、 ghq が動くようにする。
~$ wget https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz # https://golang.org/dl/ から Latest Stable の go をダウンロード
--2020-02-08 23:52:07-- https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz
Resolving dl.google.com (dl.google.com)... 172.217.175.14, 2404:6800:4004:81c::200e
Connecting to dl.google.com (dl.google.com)|172.217.175.14|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 120071076 (115M) [application/octet-stream]
Saving to: ‘go1.13.7.linux-amd64.tar.gz’
go1.13.7.linux-amd64.tar.gz 100%[=================================================>] 114.51M 8.98MB/s in 12s
2020-02-08 23:52:20 (9.41 MB/s) - ‘go1.13.7.linux-amd64.tar.gz’ saved [120071076/120071076]
~$ sudo tar -C /usr/local -xzf go1.13.7.linux-amd64.tar.gz # 解凍
[sudo] password for kimikimi714:
~$ ls /usr/local/go/bin/ # 展開されたことを確認
go gofmt
~$ export PATH=$PATH:/usr/local/go/bin # パスを通す
~$ go version # バージョン確認
go version go1.13.7 linux/amd64
~$ go get github.com/x-motemen/ghq # go get で ghq のインストール
~$ export PATH=$PATH:~/go/bin # ghq へのパスを通す
~$ git config --global ghq.root ~/go/src # ghq で git clone する時のパスを指定する
~$ cat ~/.gitconfig # 設定の確認
[ghq]
root = /home/kimikimi714/go/src
~$ ghq get git@github.com:kimikimi714/config.git # 自分のリポジトリを試しにclone
clone ssh://git@github.com/kimikimi714/config.git -> /home/kimikimi714/go/src/github.com/kimikimi714/config
git clone --recursive ssh://git@github.com/kimikimi714/config.git /home/kimikimi714/go/src/github.com/kimikimi714/config
Cloning into '/home/kimikimi714/go/src/github.com/kimikimi714/config'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 367 (delta 10), reused 15 (delta 7), pack-reused 339
Receiving objects: 100% (367/367), 143.11 KiB | 400.00 KiB/s, done.
Resolving deltas: 100% (203/203), done.
~$ ls go/src/github.com/kimikimi714/ # 入ってるかどうか確認
config
できました~。
このあとやっておきたいこと
peco のインストールと設定やってない。Macではzshを使っていたが、原点回帰してbashに戻ろうかと考えている。
ここで使った関数をbash向けにして書き込む。昔書いた config はそのまんまでは使えない想定でいる。
Windows本体とUbuntuとの間でフォルダ、ファイルの共有をしておきたい。
ググるとこういう記事が出てきた。まだちゃんと実践してないけど、まぁやれるなら早めにやっておきたい。ファイルシステムが異なるのだけ地味に気になる…。WindowsとMac間でのファイル共有が面倒くさいこととか思い出すからファイルシステム変わるのあんまりやりたくないんだよな。
デスクトップの名前も変えておきたい。なんとなくデフォルトで使ってたが、この記事書くときにダサいなーと思ったので塗りつぶしてしまった。