年末年始に試したいWindows 10最新機能

第6回

WindowsとLinuxの架け橋“Windows Subsystem for Linux”

コンソールや「メモ帳」も巻き込んで改善中

「Windows 10 October 2018 Update」の“Windows Subsystem for Linux(WSL)”

 「Windows 10 October 2018 Update」の新機能を紹介する本連載。第6回となる今回は、“Windows Subsystem for Linux(WSL)”とコンソールがテーマです。

“Microsoft Store”から簡単にLinuxをインストールできる!?

 “Windows Subsystem for Linux(WSL)”は、Linux向けにコンパイルされたバイナリ実行ファイル(ELF)を「Windows 10」上でそのまま実行するための互換レイヤーで、「Anniversary Update(バージョン 1607)」から導入されました。この時はまだ開発者向けという位置づけでしたが、「Fall Creators Update(バージョン 1709)」で正式版に。誰でも気軽に利用できる、身近な存在となりました。

 “WSL”の利点は、[Windows の機能の有効化または無効化]ダイアログで“WSL”を有効化し、“Microsoft Store”から簡単にLinuxディストリビューションを導入できること。物理マシンや仮想マシンを1台用意してインストールするよりもはるかに簡単です。消費するリソースも、仮想マシンより少なくて済みます。

[Windows の機能の有効化または無効化]ダイアログで“WSL”を有効化

 また、複数のディストリビューションを同時に動かせる点や、削除や初期化が容易なところもメリットといえます。もし環境を破壊してしまっても、再インストールすれば元通り。Linuxを勉強したいというユーザーにも向いているかもしれませんね。

 利用できるディストリビューションがまだ限られている点や、すべてのアプリを動かせるわけではない点、I/Oパフォーマンスが劣る点などが弱点ですが、ちょっとした開発ツールを動かしたいだけならば十分といえます。

「October 2018 Update」でも重点的な改善が施される

“Microsoft Store”で提供されるLinuxディストリビューションが拡充

 さて、“WSL”は機能アップデートのたびに大きな改善が加えられていますが(前バージョンでの改善点は下記リンクを参照のこと)、「October 2018 Update」でも引き続き強化の対象となっています。

 まず、“Microsoft Store”で提供されるLinuxディストリビューションが拡充されました。

 また、「Ubuntu 18.04」がARMデバイスで動作するようになりました。“Microsoft Store”から入手すると自動で“WSL”を実行しているアーキテクチャー(Intel/ARM)を検出し、最適なものをダウンロードするのだそうです。

Arm版Windows 10でも「Ubuntu」が利用可能! ~Build 2018で紹介されたWSLの新機能 - やじうまの杜 - 窓の杜

 次に、“WSL”向けのLinuxディストリビューションをコマンドラインからインストールできるようになりました。たとえば、たとえば「Ubuntu 18.04」の場合は以下の要領でセットアップが可能です。

# PowerShell で Windows Subsystems for Linux を有効化

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

# Ubuntu のインストール

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile ~/Ubuntu.appx -UseBasicParsing

Add-AppxPackage -Path ~/Ubuntu.appx

# Ubuntu の実行

Ubuntu.exe

 ディストリビューションの入手先を変更すれば「openSUSE」などもインストール可能です。

  • SUSE Linux Enterprise Server:https://aka.ms/wsl-sles-12
  • openSUSE:https://aka.ms/wsl-opensuse-42

 そのほかにも「Chocolatey」と「Boxstarter」を利用したセットアップスクリプトもサポートされました。セットアップを自動化できるようになったわけです。

コンソールや「メモ帳」も巻き込んで改善中!

 さて、このようにますます使いやすくなっている“WSL”ですが、改善されているのは何も“WSL”側だけではありません。

 “WSL”上で動作するLinuxは、物理マシンや仮想マシンを用意してインストールした場合と異なり、Windowsとファイルシステムを共有しています。もちろん、そのままでは相互運用できないので仮想ファイルシステム(VFS)を介したアクセスとなります(参考記事)。

“WSL”の仮想ファイルシステム(VFS)

 詳細には触れませんが、“WSL”側からWindowsのファイルシステムへアクセスしたり、編集することは可能(その逆は推奨されません)で、その便宜を図るための改善も「October 2018 Update」には含まれています。「メモ帳」でLinuxの改行コードがサポートされたのもその一環ですが、それだけではありません。

 まず、「エクスプローラー」からLinuxシェルを起動する機能です。フォルダーで[Shift]キーを押しながらマウスを右クリックすると[Linux シェルをここに開く]コマンドが追加されており、これを選択すると“WSL”で既定となっているLinuxディストリビューションが起動します。たとえば“C:¥”でこのコマンドを利用すると、“/mnt/c”をカレントディレクトリとしてLinuxのシェルを開くことができます。

フォルダーで[Shift]キーを押しながらマウスを右クリックし、[Linux シェルをここに開く]コマンドへアクセス
“C:¥”でこのコマンドを利用すると、“/mnt/c”をカレントディレクトリとしてLinuxのシェルを開くことができる

 また、ファイルシステムも改善。Linuxはファイル名の大文字と小文字を区別するため、“WSL”もそれに倣っていましたが、Windowsアプリが“WSL”で作成したファイルを扱えないことがあったため、初期状態では無効化されました(Windowsは基本的にファイル名の大文字・小文字を区別しません)。これに伴い、“getfattr”“setfattr”コマンドでファイル名の大文字・小文字の区別を取得・切り替える機能が導入されました。

 さらに、コンソールではキーボードショートカットによるテキストのコピー&ペーストがサポートされました。互換性を損なわないよう、初期状態では無効化されていますが、「コマンド プロンプト」のプロパティ画面から有効化することができます。


    [Ctrl]+[Shift]+[C]キー:選択テキストのコピーを
    [Ctrl]+[Shift]+[V]キー:コンソールへの貼り付け
コンソールではキーボードショートカットによるテキストのコピー&ペーストがサポート

 そのほかにも次期バージョンの「Windows 10 19H1」ではマウスホイールによるズームやカーソルの変更がサポートされる予定。今後のさらなる改善に期待が持てそうです。