articles:wsl_ubuntu

Windows Subsystem for Linux - Ubuntu

  1. プログラムと機能からWindows Subsystem for Linux を有効にする。
  2. Microsoft StoreからUbuntuをインストールする。

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で試してみたが途中でエラーが発生してアップグレードに失敗した。

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
  1. エクスプローラでフォルダをShiftを押しながら右クリック
  2. Linuxシェルをここに開くが現れるのでクリック

そのフォルダをWSLにマウントしていてアクセス可能なら、そのフォルダをカレンディレクトリにしてコンソールが開く。

  1. コンソール左上のアイコンをクリックしてプロパティを選択。
  2. オプションタブの編集オプション簡易編集モードを有効にする
  1. 設定-アプリと機能
  2. Ubuntuを選択
  3. 詳細オプションを選択
  4. リセットボタンを押下
Extension name Remote - WSL
Extension identifier ms-vscode-remote.remote-wsl
Help Developing in WSL

WSLのコンソールでディレクトリに移動し、code .を実行する。

または、Visual Studio CodeからF1Remote-WSL: New Windowを選択し、新しく開いたウィンドウからディレクトリを開く

  • 最終更新: 2021-06-03 15:42
  • by nabium