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を打ち込むと
ストアのキャッシュがクリアされて上手くいくこともあり
(私は1回目失敗しましたが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年勤務後、精密機器メーカーのソフト開発部門に勤務し今に至ります。
error: Content is protected !!