Windows Subsystem for Linux - Ubuntu
インストール
プログラムと機能
からWindows Subsystem for Linux
を有効にする。Microsoft Store
からUbuntu
をインストールする。
「Ubuntu」と「Ubuntu 18.04 LTS」や「Ubuntu 20.04 LTS」との違い
Ubuntuは最新のLTSリリースをインストールする。バージョン番号付きは、そのバージョンに固定。
最新バージョンへのアップグレード
新しいLTSがリリースされても、インストールしたときのバージョンを維持し、自動的にアップグレードすることはない。
Ubuntuのバージョンは、以下いずれかのファイルをcat
することで確認できる。
/etc/os-release
/etc/lsb-release
/etc/issue
一番簡単で確実な方法は、Ubuntuのリセットまたはアンインストールしてから再インストール。 ただし、ユーザの追加やロケールの設定などインストールからやり直すことになる。
Ubuntuの標準の方法で新しいバージョンにアップグレードしたい場合は以下のコマンドを実行する。
sudo apt update sudo apt upgrade sudo do-release-upgrade
LTSがリリースされてからdo-release-upgrade
でアップグレード出来るようになるまで時間がかかるらしい。
また、18.04 LTSからのアップグレードをdo-release-upgrade -d
で試してみたが途中でエラーが発生してアップグレードに失敗した。
Ubuntuのインストール先
C:\Users\ユーザ名\AppData\Local\Microsoft\WindowsApps\ubuntu.exe
ファイルシステムの相互参照
Ubuntuのファイルシステムは、C:\Users\ユーザ名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
にある。
WSLを実行中は\\wsl$\Ubuntu\
で参照可能。
WindowsのCドライブは、Ubuntuの/mnt/c
にマウントされている。
デフォルトではUbuntuにマウントしたWindowsのファイルシステムは大文字小文字を区別しない。
大文字小文字の区別は、ドライブごとならマウントオプションで、
ディレクトリごとならsudo apt install attr
の後、getfattr/setfattr -n system.wsl_case_sensitive
で設定可能。
初期設定
プロキシの設定
環境変数の設定
- /etc/profile.d/proxy.sh
HTTPS_PROXY=http://ユーザ名:パスワード@プロキシサーバホスト名:ポート番号 HTTP_PROXY=http://ユーザ名:パスワード@プロキシサーバホスト名:ポート番号 export HTTPS_PROXY export HTTP_PROXY
コンソールを再起動して確認。
printenv | sort
パッケージマネージャAPTの設定
- /etc/apt/apt.conf
# see apt-transport-http(1) apt-transport-https(1) apt.conf(5) apt_auth.conf(5) Acquire::http::Proxy "http://ユーザ名:パスワード@プロキシサーバホスト名:ポート番号"; Acquire::https::Proxy "http://ユーザ名:パスワード@プロキシサーバホスト名:ポート番号";
パッケージの更新
sudo apt update sudo apt upgrade
日本語の設定
locale -a | grep ja_JP sudo apt install -y language-pack-ja sudo update-locale LANG=ja_JP.UTF-8 sudo apt autoremove exit
コンソールを再起動して確認。
locale
小技集
ネットワークドライブのマウント
/mnt/z
にマウントして使用する場合。
※先にWindows上で認証しておく必要がある。
ネットワークドライブを割り当てている場合
sudo mkdir /mnt/z sudo mount -t drvfs Z: /mnt/z
USBディスクなども同じ方法。
ネットワークドライブを割り当てていない場合
ネットワーク共有フォルダの場所をUNCで指定する。
sudo mkdir /mnt/z sudo mount -t drvfs '\\ホスト名\ディレクトリ名' /mnt/z
マウントを解除する
sudo umount /mnt/z
起動時にマウントしておきたい場合
/etc/fstab
に追記する。
- /etc/fstab
\\ホスト名\ディレクトリ名 /mnt/z drvfs defaults 0 0
エクスプローラから指定フォルダでコンソールを開く
- エクスプローラでフォルダを
Shift
を押しながら右クリック Linuxシェルをここに開く
が現れるのでクリック
そのフォルダをWSLにマウントしていてアクセス可能なら、そのフォルダをカレンディレクトリにしてコンソールが開く。
マウスでコピペできるようにする
- コンソール左上のアイコンをクリックして
プロパティ
を選択。 オプション
タブの編集オプション
で簡易編集モード
を有効にする
環境をインストールした時の状態に戻す
設定
-アプリと機能
Ubuntu
を選択詳細オプション
を選択リセット
ボタンを押下
Visual Studio Codeとの連携
Extension name | Remote - WSL |
Extension identifier | ms-vscode-remote.remote-wsl |
Help | Developing in WSL |
WSLのコンソールでディレクトリに移動し、code .
を実行する。
または、Visual Studio CodeからF1
、Remote-WSL: New Window
を選択し、新しく開いたウィンドウからディレクトリを開く