sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

WSL (Windows Subsystem for Linux) を使い始めて確認したことメモ

この記事は、WSL (Windows Subsystem for Linux) を使ってみて、個人的にメモしておこうと思ったポイント記録したものです。

Linux の基本的な使い方についてメモした内容ではないです。

WSL is なに?

Windows 10 環境から Linux 環境を利用するための仕組み。ざっくりと Ubuntu 環境を手にすることができる。

f:id:shikaku_sh:20200214102229p:plain:w500
WSL のウィンドウ

正確には Microsoft Store から指定したディストリビューションをインストールして使える。現状は、Ubuntu がもっとも主流で、次点は Debian になるんだと思う。

これまでの Virtual Box のような仮想環境を使えば Windows 下でも Linux を使うことができたけど、起動がはやいとは言えず、環境構築も面倒でした。WSL は Windows 環境と、とても親密な関係を持つ Linux 環境をかなり手早く用意できるツールです。

細かくみると機能に制限があったりするけど、2020 年の春からは WSL 2 がきます。カーネル部分が LXCore から Linux カーネルに切り替わって、アーキテクチャの構成的には、仮想マシン「Light Weight utility Virtual Machine」になります。(詳細は「Microsoft DevBlogs - Announcing WSL 2

Microsoft Ignite に参加したときも何人かの講演者が WSL はお気に入りのツールだとコメントしていたのが印象的でした。遅ればせながらも Linux勉強してよかった。WSL を利用する上でも、(当然)かなり役立つ基礎知識になります。

インストール

  1. Win + R から「optionalfeatures」で 「Windows の機能」を表示
  2. Windows Subsystem for Linux をチェック
  3. OS を再起動
  4. Windows Store から「Ubuntu」をインストール

f:id:shikaku_sh:20200214102728p:plain:w350
Windows の機能にチェック入れるのを忘れがち

f:id:shikaku_sh:20200214102305p:plain:w500
MS Store からインストール

環境のメモ

WSL の環境は、下記のパスのどちらからでもアクセスできました。

  • \\WSL$\
  • C:\Users\#ユーザー名#\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_#ID#\LocalState\rootfs

f:id:shikaku_sh:20200214102942p:plain:w500
ウィンドウからアクセスできた

Windows から WSL にファイルをコピーする、削除するといった変更は NG でした。1 このあたりは「wsltty」なんかをターミナルに切り替えることで雰囲気がかわるのでファイルシステムとターミナル次第なのかも。

細かいところだと、Ubuntu のビープ音は変更できる。

set bell-style none
# VIM のビープ音は、また別に設定
set belloff=all

Windows 環境から WSL にデータを渡すとき

インストール直後から、WSL は /mnt/c/ をドライブしている。これだと C ドライブ直下を触れるようになっているので、このパスから Windows 内のファイルにアクセスする。

f:id:shikaku_sh:20200214103038p:plain:w500
/mnt にC ドライブが用意されている例

su ユーザーを準備する

インストール直後は、su する前にパスワードを設定する必要があった。(パスワードを忘れないように)

sudo passwd root
Enter new UNIX password:
Retype new UNIX password:

パッケージマネージャの状態が最新ではないことがある

WSL を起動した直後だと apt-get が最新ではないことがある。(というか、そうだと思う)

install を使って、パッケージを追加できないので、先に更新しておこう。

sudo apt-get update
sudo apt update
sudo apt upgrade

現在は、aptUbuntu で推奨されているというのも見つけたのでメモ。公式のドキュメントを見てみるとパッケージマネジメントには apt で記載されていた。

Debian のドキュメントを読んで見ると次のようなコメントがあります。まだ、一様に apt 推奨ともいえなさそうです。

ユーザーは インタラクティブ 用途には apt(8) コマンドを使うことが推奨されますし、シェルスクリプト中ではapt-get(8) や apt-cache(8) コマンドを使うことが推奨されます。

パッケージのインストール

これも念のため、いくつかだけメモを残しておく。

sudo apt install build-essential
sudo apt-get unzip
sudo apt-get install -y lib32z1 openjdk-8-jdk

WSL 2 についてのメモ

WSL 2 は Windows ビルド 18917 以降で利用できる。

f:id:shikaku_sh:20200214103241p:plain:w350
これだと古くて使えない

Windows のビルド番号の確認は、次のあたり。

ビルド番号が 18917 以降であれば、次のコマンドをコマンドプロンプトで実行できる。(--verbose コマンドが無い)

wsl --list --verbose
REM 短縮コマンドはこれ
wsl -l -v

wsl だけコマンドを入れると、コマンドプロンプトの上に wsl の規定のシェルが起動する。(パスも同じ状態を維持している)

参考

Ubuntuスタートアップバイブル

Ubuntuスタートアップバイブル

  • 作者:小林 準
  • 発売日: 2018/07/30
  • メディア: 大型本

Ubuntu はじめる&楽しむ 100%活用ガイド[Ubuntu 18.04LTS 日本語Remix対応]

Ubuntu はじめる&楽しむ 100%活用ガイド[Ubuntu 18.04LTS 日本語Remix対応]

  • 作者:リンクアップ
  • 発売日: 2018/09/01
  • メディア: 単行本(ソフトカバー)