トップページインストール,運用WSL 2, WSL のインストール,設定WSL 2 のインストール,Ubuntu 20.04, 18.04 のインストールと利用(Windows 上)

WSL 2 のインストール,Ubuntu 20.04, 18.04 のインストールと利用(Windows 上)

これは,Windows 10 May 2020 Update (2020年5月27日リリース)対応の記事である.

Windows での Windows Subsystem for Linux 2 (WSL 2) のインストール,Ubuntu 18.04, 20.04 のインストール,Ubuntu 18.04, 20.04 のシェルの起動や設定など,利用の手順を,スクリーンショット等で説明する.最新の Windows を使用する.

【サイト内の関連ページ】:

参考 Web ページ:

前準備

Windows 10 May 2020 Update (2020年5月27日リリース)かそれ以降のものに更新する.

自動で更新されない場合は, 次のサイトを利用できる.

https://www.microsoft.com/en-us/software-download/windows10

更新による不具合の可能性がある. 大事なデータのバックアップを取っておくなど,慎重に行うこと.

Hyper-V,Linux 用 Windows サブシステム,仮想マシンプラットフォームを有効にする

  1. Windows の機能の有効化または無効化」で,

    Hyper-V」にチェックする.(すでにチェックされている場合には,何も行わなくて良い)

    [image]

    Linux 用 Windows サブシステム」と 「仮想マシンプラットフォーム」にもチェックし, 「OK」をクリック.

    [image]

    ※ なお,「Linux 用 Windows サブシステム」がないというときは, 「Windows Subsystem for Linux」と 「仮想マシンプラットフォーム」にもチェックし, 「OK」をクリック.

    [image]

    「Windows の機能の有効化または無効化」の表示法

    1. Windows のメニューで「設定」を選ぶ
    2. アプリ
      [image]
    3. 下の方へスクロールし,「プログラムと機能
      [image]
    4. 「Windows の機能の有効化または無効化」を選ぶ.
      [image]

    コントールパネルに慣れている場合など,コントールパネルで,「プログラム」,「プログラムと機能」,「Windows の機能の有効化と無効化」という操作でもよい.

    Windows の検索機能で,「Windows の機能の有効化または無効化」でもよいでしょう

  2. 画面の指示により,Windows を再起動する.
    [image]
  3. Windows の PowerShell を,管理者として実行する.
    [image]
  4. Windows Subsubsystem for Linux を有効化する

    https://docs.microsoft.com/en-us/windows/wsl/install-win10に記載の手順による

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    

    [image]
  5. 仮想マシンプラットフォームのオプションコンポーネントを有効化する

    https://docs.microsoft.com/en-us/windows/wsl/install-win10に記載の手順による

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    

    [image]
  6. WSL の既定(デフォルト)のバージョンを 2 に設定する

    https://docs.microsoft.com/en-us/windows/wsl/install-win10に記載の手順による

    wsl --set-default-version 2
    

    ※ このとき「 WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel」 のようなメッセージが表示されることがある.

    その場合は,表示の指示に従い, https://aka.ms/wsl2kernel から,Linux カーネル更新プログラムパッケージをダウンロードし,インストールする.

Linux ディストリビューションのインストール

Ubuntu, OpenSUSE, SUSE Linux Enterprse Server, Lali Linux, Debian GNU/Linux から選ぶことができる.

  1. Windows で,コマンドプロンプトを実行
  2. マイクロソフト・ストアを開く.
    start ms-windows-store:
    

    [image]
  3. 検索窓で「linux」と入れる

    [image]
  4. Linux ディストリビューションを選ぶ.

    ※ 「Ubunt 20.04 LTS」を選んだとして説明を続ける.

    [image]
  5. 入手」をクリック

    入手」が表示されていなくて, 「インストール」が表示されているというときは, 「インストール」をクリック.

    [image]
  6. インストールが始まる.

    [image]
  7. 「この製品はインストール済みです」と表示されたら, インストールが終了している. 確認のため,この画面の「起動」をクリック.

    [image]

    新しい画面が現れる. Linux ディストリビューションの初期化が始まる. しばらく待つ.

    [image]

    Ubuntu を起動したあと,「The Windows Subsystem for Linux optional component is not enable. Please enable it and try again」と表示され,進まない場合がある.

    [image]

    上の「Hyper-V,Linux 用 Windows サブシステム,仮想マシンプラットフォームを有効にする」に戻って,やり直してみる.

    Ubuntu を起動したあと,「WslRegisterDistribution failed with error: 0x800701bc」と表示され,進まない場合がある.

    [image]

    このときは,次の操作で解決する可能性がある.

    1. 表示の指示に従い, https://aka.ms/wsl2kernel から,Linux カーネル更新プログラムパッケージをダウンロード

      [image]
    2. まず,「Linux カーネル更新プログラムパッケージ」を右クリックし, 「アンインストール」を選び,アンインストールする.

      [image]
    3. そして,「Linux カーネル更新プログラムパッケージ」を右クリックし, 「インストール」を選び,インストールする.

      [image]

    その他, Linux ディストリビューションのインストールができないときは, 次のページより手がかりが得られる可能性がある.

    https://docs.microsoft.com/en-us/windows/wsl/install-win10

  8. ユーザ名とパスワードを設定する

    このときに設定したパスワードは,sudo コマンドの実行で必要になるので覚えておくこと. パスワードが画面に表示されないのは正常動作である.

    [image]

    [image]
  9. Windows のスタートメニューには「Ubuntu 20.04 LTS」が増えている.

    [image]
  10. インストール済みの Linux ディストリビューションの名前と,WSL のバージョンの確認.

    Windows で,コマンドプロンプトを開き,次のコマンドを実行.

    wsl -l -v
    

    次のように表示される場合は,WSL のバージョンは 1.

    [image]

    次のように表示される場合は,WSL のバージョンは 2.

    [image]

  11. Linux カーネル更新プログラムパッケージのインストール

    「Linux カーネル更新プログラムパッケージ」をインストールしていない場合には, WSL バージョン2が使えるようにするために, 次のページからダウンロードし,インストールする.

    https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel

  12. Linux ディストリビューションの WSL のバージョンの変更

    WSL のバージョンが 1 のとき, 次のコマンドで,WSL のバージョンを 2 に変更できる.

    Ubuntu-20.04」のところには, いま確認を行ったLinux ディストリビューションの名前を指定すること.

    wsl --set-version Ubuntu-20.04 2
    wsl -l -v
    

    [image]

WSL 2 を使い,インストールした Linux を起動する

wsl コマンドの使用法については, https://docs.microsoft.com/ja-jp/windows/wsl/reference

  1. wsl コマンドで,既定(デフォルト)で起動する Linux ディストリビューションの設定

    Windows で,コマンドプロンプトを開き,次のコマンドを実行.

    wsl -s Ubuntu-20.04
    

    [image]
  2. wsl ls」のように,頭に wsl を付けて Ubuntu のコマンドを実行できる.

    [image]
  3. wsl sudo <コマンド名>」のように,頭に 「wsl sudo」 を付けて Ubuntu のコマンドUbuntu 内での管理者権限で実行できる.

    [image]
  4. wsl」の実行により,Linux の bash シェルが起動する.

    [image]

Ubuntu の最低限のおすすめ設定

Ubuntu 20.04 でも Ubuntu 18.04 でも同様の手順になる.

「wsl」を実行したあと,次のコマンドを実行.

  1. ダウンロード元が海外 (Ubuntu本家やfr) になっている場合、日本に設定
    sudo sed -i 's/\/\/archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
    sudo sed -i 's/\/\/us.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
    sudo sed -i 's/\/\/fr.archive.ubuntu.com/\/\/jp.archive.ubuntu.com/g' /etc/apt/sources.list
    
  2. OS のシステム更新と,システムの再起動
    sudo apt -y update
    sudo apt -yV upgrade
    

    [image]
    以下省略
  3. C/C++ コンパイラ,Python 3 ヘッダファイル・ライブラリ等のインストール
    sudo apt -y update
    sudo apt -y install build-essential python3-dev python3-pip
    

    試しに Cコンパイラを使ってみる. エディタを使って次のプログラムファイルを作成。「hello.c」のようなファイル名で保存.

    #include <stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%ld\n", sizeof(size_t));
        return 0;
    }
    

    次のコマンドで,コンパイルして,実行

    gcc -o a.out hello.c
    ./a.out
    

    [image]

    今度は,Python 3 を使ってみる.

    python3
    print("Hello,World")
    exit()
    

    [image]

WSL 内 Ubuntu の X ウインドウ・アプリの画面を Windows に出す

Ubuntu の X ウインドウ・アプリを使いたいときのため

[image]
  1. Windows 側の設定

    次の手順で,SSH サーバを動かす.あわせて,Ubuntu が「デスクトップ」として機能するためのソフトをインストールする.

    1. 「wsl」コマンドを実行
    2. 次のコマンドにより,ubuntu-desktop, openssh-server, net-tools をインストール, ssh サーバのホスト・キーのファイルを生成
      wsl sudo apt -y install ubuntu-desktop openssh-server net-tools
      wsl sudo /usr/bin/ssh-keygen -t rsa -b 1024 -f /etc/ssh/ssh_host_rsa_key -C '' -N ''
      
    3. /etc/ssh/sshd_config の「PasswordAuthentication」の行をyesに設定
    4. 「sudo service ssh restart」を実行し,ssh サーバを再起動する.このとき,エラーメッセージが出ていないことを確認する.
  2. Windows 側の設定

    X サーバソフトとして, MobaXTermをインストール.

  3. 以上の設定で準備完了.次の手順で動かす.
    1. コマンドプロンプトで,IP アドレスを調べておく

      次のコマンドで,「inet」のところに表示されるのが,IP アドレスである.

      wsl ifconfig
      

      [image]
    2. MobaXTerm を起動.次のコマンドでログイン
      ssh -X <ユーザ名>@<IPアドレス>
      

      [image]
    3. 下図のように, 自分が使いたい Ubuntu の X ウインドウ・アプリの画面が表示されることを確認.

      [image]

      [image]