ユーザ用ツール

サイト用ツール


windows_wsl_setup

SetUp

  • インストールから基本的な設定まで

WSLインストール

Windowsターミナルのインストール

Windowsターミナルのセットアップ

  • タブから設定を開く

スタートアップの設定

  • 起動時にどのプロファイルを開くか設定できる

プロファイルごとの設定

ディレクトリの開始の設定

  • プロファイル起動時にどのディレクトリにいるか設定できる
  • 既定は%USERPROFILE%で、/mnt/c/Users/(ユーザ名)が開かれる
  • ホームディレクトリには\\wsl$\Ubuntu-18.04\home\(ユーザ名)で設定できる
    • あくまでWindowsのパスなので、/home/(ユーザ名)のようなLinuxのパスでは正しく動作しない

パッケージの更新

$ sudo apt -y update
$ sudo apt -y upgrade

日本語化する

  • SSHの際にエラーが出たりするので、日本語化しておく 1)
$ sudo apt -y install language-pack-ja

SSHの設定

  • Windowsとは別になるため、初期設定が必要になる

ディレクトリの作成

  • .sshディレクトリは初期では存在しない
# ディレクトリの作成
$ mkdir ~/.ssh

# パーミッションの変更
$ chmod 700 ~/.ssh

configファイルの作成

  • .ssh直下にconfigファイルを作成する
  • configファイル、鍵のパーミッションは600にしておくこと
ServerAliveInterval 60

Host github github.com
        HostName github.com
        User git
        IdentityFile /home/(ユーザ名)/.ssh/github/id_rsa

疎通確認

  • 指定したフォルダに鍵を確認し、疎通を確認する
    • 下記はGitHubの場合
$ ssh -T github
Hi (ユーザ名)! You've successfully authenticated, but GitHub does not provide shell access.

SSH-AGENT

  • .profileに下記を追記する 2) 3)
if [ -z "$SSH_AUTH_SOCK" ]; then
   # Check for a currently running instance of the agent
   RUNNING_AGENT="`ps -ax | grep 'ssh-agent -s' | grep -v grep | wc -l | tr -d '[:space:]'`"
   if [ "$RUNNING_AGENT" = "0" ]; then
        # Launch a new instance of the agent
        ssh-agent -s &> .ssh/ssh-agent
   fi
   eval `cat $HOME/.ssh/ssh-agent`
fi

ssh-add $HOME/.ssh/github/id_rsa

socat

  • Remote Container内でSSH-Agentを使用するためにインストールしておく 4)

Gitの設定

  • Windowsとは別になるため、初期設定が必要になる
  • 詳細はプロジェクトのルールにもよる
# 名前とメールの設定
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"

# 自動改行変換の無効化
$ git config --global core.autoCRLF false
  • パーミッション変更の無効化はしておいた方がよいと思う
    • 初期ではtrueになっているよう
    • Windowsではあまり関係ない
    • ファイル作成、書き込みに支障が出ないよう、sudo chmod -R 777 .をよく実行する
    • 差分が出ないよう無効化しておくことが好ましいと思われる
# パーミッション変更の無効化(initやcloneの都度実行)
$ git config core.filemode false

ブランチ名の表示

  • GitBashとは異なり、ブランチ名は常に表示されているわけではない
    • 都度git branchなどで確認する必要がある
  • プロンプトに表示されるよう、~/.bashrcの末尾に下記を追加する
export PS1='\[\033[01;32m\]\u@\h\[\033[01;33m\] \w \[\033[01;31m\]$(__git_ps1 "(%s)") \n\[\033[01;34m\]\$\[\033[00m\] '

  • タブで一度プロファイルを閉じ、再度開くと適用される

参考

1)
『WSL2のUbuntu 20.04を日本語化する』, Qiita, https://qiita.com/myalpine/items/fb45b222924b2e61ea9f, 2021-10-15
2)
『Visual Studio Code Remote Development Troubleshooting Tips and Tricks』, Visual Studio Code, https://code.visualstudio.com/docs/remote/troubleshooting, 2021-10-15
3)
『Bash: .bashrcと.bash_profileの違いを今度こそ理解する』, TechRacho by BPS株式会社, https://techracho.bpsinc.jp/hachi8833/2021_07_08/66396, 2021-10-15
4)
『混沌を極めるWindowsのssh-agent事情』, Qiita, https://qiita.com/slotport/items/e1d5a5dbd3aa7c6a2a24, 2021-10-18
windows_wsl_setup.txt · 最終更新: 2021/10/18 11:01 by 127.0.0.1