====== Windows Subsystem for Linux - Ubuntu ====== {{tag>wsl ubuntu windows}} * [[https://docs.microsoft.com/en-us/windows/wsl/about|WSLについて]] * [[https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-per-distro-launch-settings-with-wslconf|Configure per distro launch settings with wslconf(/etc/wsl.conf)]] ===== インストール ===== - ''プログラムと機能''から''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''で設定可能。 ===== 初期設定 ===== ==== プロキシの設定 ==== === 環境変数の設定 === HTTPS_PROXY=http://ユーザ名:パスワード@プロキシサーバホスト名:ポート番号 HTTP_PROXY=http://ユーザ名:パスワード@プロキシサーバホスト名:ポート番号 export HTTPS_PROXY export HTTP_PROXY コンソールを再起動して確認。 printenv | sort === パッケージマネージャAPTの設定 === # 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''に追記する。 \\ホスト名\ディレクトリ名 /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 | [[https://code.visualstudio.com/docs/remote/wsl|Developing in WSL]] | WSLのコンソールでディレクトリに移動し、''code .''を実行する。 または、Visual Studio Codeから''F1''、''Remote-WSL: New Window''を選択し、新しく開いたウィンドウからディレクトリを開く