Open3
WSL2環境整備で最初にやること
GitHub認証情報をWindowsとWSLで共有
この作業をすることで、WSL上でのGitの認証情報管理をWindowsの資格情報マネージャーに一任できる。
これにより、GitHubプライベートリポジトリからgit clone
したときにブラウザが開き、GitHubへのログイン操作をするだけで、リポジトリへの操作が可能になる。
すなわち、SSH鍵をWSL上で発行・管理し、GitHubに登録する必要がなくなる。
1. Ubuntu上で次のコマンドを実行し、Windows側と認証情報を共有した状態にする
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
Gitのインストール先を変えている場合は、/mnt 以下をそれに合わせて変更する
通信を安定させる
WSLはときどき外部との通信ができなくなり、パッケージインストール時などに固まって困ることがある。
これはWSLがデフォルトではDNSとして仮想ネットワーク内のアドレスを使っていることに起因する。このアドレスが不調だと名前解決に失敗する。
このため、常にGoogleのDNSである8.8.8.8
を使うよう設定する。
参考: Node.js and NPM network dramatically slow
1. DNS設定がシステムに自動生成されないようにする
-
vim /etc/wsl.conf
で設定ファイルを開く - 次の設定を追記して保存
[network]
generateResolvConf = false
2. DNSを手動設定する
DNS設定を保持している/etc/resolv.conf
を書き換えて、常に8.8.8.8
が使われるようにする。
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo chattr +i /etc/resolv.conf
Neovimの導入
VSCodeなどでNeovimを使うので、ここで入れてしまう。
1. インストール
sudo apt install neovim
2. win32yankの導入
NeovimのyankとWindows側のクリップボードを同期させる。
curl -sLo/tmp/win32yank.zip https://github.com/equalsraf/win32yank/releases/download/v0.0.4/win32yank-x64.zip
unzip -p /tmp/win32yank.zip win32yank.exe > /tmp/win32yank.exe
chmod +x /tmp/win32yank.exe
sudo mv /tmp/win32yank.exe /usr/local/bin/
3. win32yankの設定
cd ~/.config mkdir nvim && cd nvim
nvim init.vim
次を追記して保存する
set clipboard=unnamedplus