Windows 11には、Linuxアプリケーションを実行する機能「WSL 2 (Windows Subsystem for Linux version 2)」が搭載されている。これにより、LinuxアプリケーションやLinuxコマンドを利用することが可能であり、Ubuntuをインストールすればすぐに使うことができる状態だ。

WSL 2はWindows 10にも搭載されている機能だが、Windows 10では明示的に機能を有効化してセットアップしなければ使うことができなかった。しかし、Windows 11ではセットアップがとても簡単だ。本稿では、この機能を使ってWindows 11でLinuxのGUIアプリケーションやCUIコマンドを実行する方法を説明する(注1)。

Ubuntuインストールとセットアップ

Linuxアプリケーションの実行を実現するWSL 2の機能は、「wslコマンド」を使って操作を行う仕組みだ。Windows 11では最初からこのwslコマンドが利用できる。

  • wslコマンド on Windows 11

    wslコマンド on Windows 11

管理者権限で起動したWindows Terminalで次のコマンドを実行してUbuntuをインストールする。

Ubuntuをインストール

wsl --install -d Ubuntu
  • Ubuntuのインストール例

    Ubuntuのインストール例

いったんシステムを再起動する。再起動後にメニューからUbuntuを起動する。最初の起動でユーザ名とパスワードの設定を求められるので、ここで設定を行う。

  • Ubuntu最初の起動でユーザ名とパスワードを設定

    Ubuntu最初の起動でユーザ名とパスワードを設定

インストールしたUbuntuは英語モードで動作するので、次のコマンドを実行してパッケージのアップデートと日本語関係のパッケージインストールおよび環境変数の設定を行っておく。

Ubuntuセットアップ - アップデート、日本語関係パッケージインストール、環境変数設定

sudo apt update
sudo apt upgrde
sudo apt install language-pack-ja
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
  • パッケージメタデータのアップデート

    パッケージメタデータのアップデート

  • パッケージアップグレード

    パッケージアップグレード

  • 日本語関連パッケージのインストール

    日本語関連パッケージのインストール

  • 環境変数を設定

    環境変数を設定

Ubuntuのターミナルを終了して、再度Ubuntuターミナルと起動するか、Windows TerminalでUbuntuセッションを開くと、日本語が扱える状態になっていることを確認できる。

Linuxアプリケーションを実行

Windows 11のWSL 2はLinuxのGUIアプリケーションを実行することができる。「sudo apt install x11-apps」でシンプルなGUIアプリケーション類をインストールして試してみよう。

シンプルなGUIアプリケーションをインストール

sudo apt install x11-apps
  • x11-appsパッケージのインストール例

    x11-appsパッケージのインストール例

xcalc、xeyes、xlogoといったコマンドを実行すると、次のようにWindows 11でLinuxのGUIアプリケーションが実行されることを確認できる。

  • LinuxのGUIアプリケーションの実行を確認

    LinuxのGUIアプリケーションの実行を確認

Windows 10においては、LinuxのCUIコマンドを実行することはできたが、GUIアプリケーションを実行することはできなかった(今後のビルドでWindows 10にも同様の機能が導入される可能性がある)。Windows 11では最初からLinuxのGUIアプリケーションを実行する機能が用意されている(注2)。

Linuxコマンドを実行

新しくLinuxのCUIコマンドをインストールして使ってみよう。例えば、「sudo apt install neofetch」でneofetchコマンドをインストールする。

neofetchコマンドをインストール

sudo apt install neofetch
  • neofetchコマンドのインストール例

    neofetchコマンドのインストール例

インストールしたneofetchコマンドを実行する。

  • neofetchコマンドの実行例

    neofetchコマンドの実行例

Linuxコマンドはwslコマンドに続けて実行することで、UbuntuからではなくWindows 11から直接実行することもできる。

  • Windows 11 PowerShellからLinuxのコマンドを実行

    Windows 11 PowerShellからLinuxのコマンドを実行

この方法を使うことによって、Windows 11からLinuxの豊富なコマンドを活用することができる。

Windows 11というLinuxプラットフォーム

MicrosoftはWindows 10に対して漸進的にLinuxコマンドを実行する機能を導入してきた。機能の導入が始まった当初と比べると、Windows 10で実行できるLinuxコマンドはかなり多くなった。しかし、GUIアプリケーションを実行する機能はまだ導入されておらず、基本的にはLinuxのCUIコマンドを実行するための機能という位置付けになっている。

MicrosoftはWindowsでLinuxバイナリを実行する機能であるWSL 2を拡張し、LinuxのGUIアプリケーションを実行する機能も開発してきた。Windows 11では最初からこの機能が有効になっている点がポイントだ(注3)。Windows 11以降はLinuxのGUIアプリケーションもWindowsで実行することができ、Linuxアプリケーションやコマンドのほとんどが使用できることになる。

Windowsは世界で最も普及しているデスクトップ/ノートPC向けのオペレーティングシステムだ。このオペレーティングシステムでLinux向けソフトウェアのほとんどが利用できるようになることには大きなインパクトがある。

2021年後半以降はコンシューマー向けPCもエンタープライズ向けPCも、Windows 11を搭載したモデルがデフォルトになっていく見通しだ。これはLinuxソフトウェアを自在に利用できるプラットフォームが広く普及することを意味している。WindowsにおけるLinuxソフトウェアの利用がこれまでとは大きく変わる可能性がある。今後どのような活用が進んでいくのか、今後の動向が注目される。

注1、2、3:動作確認を行ったのは「Windows 11 Pro, version 21H2 build 22000.51」。これ以降のビルドでは挙動が変わっている可能性があるため注意いただきたい。