OS

【WSL】WindowsでLinuxを動かす

【※ 当記事は2020年7月2日時点の情報です】

ペイヴメント(@pavement1234)です。

エンジニア
エンジニア

Windows10上でLinuxを動かせるWSL(Windows Subsystem for Linux)について知りたい

こんな悩みを解決します。

バージョン情報

Windows10 Home(64bit)1903

WSL 1.0

WSLについて

VMwareとかVirtualBoxにLinuxを入れるのは身近で見かけますが、Windows10ってやつは、とうとうWSL(Windows Subsystem for Linux)というLinuxが動くミドルウェアを作っちゃいましたね。

WSLをインストールする

WSLでwindows上にLinuxのGUI環境を作る[メモ]を読みながらインストール。

①WSLをインストール

Power Shellを管理者権限で立ち上げます。スタートメニューから起動してもいいし、管理者権限で立ち上げたCMDプロンプトからpowershell.exeを打ち込んでもいい。

で、これを打ち込むと再起動が促されるので、従う。

 

PS C:\WINDOWS\system32> WSResetEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

 

②マイクロソフトストアからUbuntuをダウンロード

ストアを開き「入手」をクリック。インストールが始まります。

マイクロソフトストアからのダウンロードがうまくいかないときはPowerShellからWSResetを打ち込むとストアのキャッシュがクリアされて上手くいくこともあり。(私は最初失敗しましたがWSResetの後は成功しました。)

PS C:\WINDOWS\system32> WSReset

インストールできました。初回起動時、アカウントを作るみたいですがスクショ忘れました(↓の画像はもうアカウント出来ちゃってる)。

③VcXsrvをインストール

VcXsrvをインストールします。詳細は私の記事【ネットワーク】WindowsからUbuntu14.04に接続する方法2つを参照。

④xfceをインストール

WSLのUbuntuシェルから以下を打ち込みます。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install xfce4-terminal
$ sudo apt-get install xfce4

じゃんじゃかメッセージが出てくるのでしばらく放置。気づくとインストールが完了してます。

xfceのインストールが失敗したら、以下のやつを打ち込むといいみたい。

sudo apt-get install xfce4 –fix-missing

ダメだったらクリーンするとうまくいくかも。

sudo apt-get clean

sudo apt-get install xfce4 –fix-missing

⑤ubuntuの環境変数の設定

.bashrcに以下の内容を追記する。

export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=1

環境変数を読み込む。

source .bashrc

※Cygwinで0.0を使ってると重複するので1.0とか2.0を指定すればよいみたい。

⑥XLaunchを立ち上げる

⑦Xウィンドウを起動する

startxではなくstartxfce4を打つ。

$ startxfce4

なんかドルドルっとメッセージが出て…。

Xウィンドウが起動。

誰この子?かわいいんですけど。

WSL2.0が出たみたい

Windows 10 The Latest:完全なLinuxがWindows 10上で稼働する? 「WSL 2」とは – @ITにある通り、WSL2.0が出た様子。次回試してみます。

まとめ

WSLのインストール方法をまとめました。

Windows上でうごく公式Linuxが今後も発展していくと思っていて、用途によってはVMware、VirtualBoxなどの仮想OSではなくWSLで、というケースが増えそうですね。

ABOUT ME
ペイヴメント
ペイヴメントのエンジニア塾(当ブログ)では20年以上の経験から得られたプログラミング系ノウハウについてベテランにも満足して頂けるような内容の濃いコンテンツを初心者にも分かりやすい形で日々発信しています。【経歴】ベンチャーのソフトハウスで4年勤務後、精密機器メーカーのソフト開発部門に勤務し今に至ります。