Windows上でLinuxのコマンドが使えるWSL(Windows Subsystem for Linux)ですが、Windows11以降ではWSL2が標準となりました。
Q:WSLはCUIだけなのか?
いい質問ですね!
WSL(Windows Subsystem for Linux)は基本的にはLinuxのCUI(コマンドライン)環境をWindows上で動かす仕組みです。
WSLの基本的な特徴
- 🖥️ CUI(ターミナル)主体
Linuxのシェルやコマンドを使うのが基本。
ファイル操作やプログラムの実行、パッケージ管理などができます。 - 🖼️ GUIも動かせる(WSL2以降)
最新のWSL2では、LinuxのGUIアプリケーション(例:Gedit、Firefox、VS CodeのLinux版など)もWindows上で起動可能になりました。
WindowsのXサーバーや公式のWSLg機能でネイティブに動きます。 - 🔗 Windowsとファイル共有が可能
Windowsのファイルシステムにアクセスできたり、逆にLinux側のファイルもWindowsから扱えます。
まとめ
項目 | 内容 |
---|---|
CUI | ターミナル操作が基本 |
GUIサポート | WSL2以降はLinuxのGUIアプリも起動可能 |
ファイル共有 | WindowsとLinuxで相互にファイル操作可能 |
つまり「WSLはCUIだけ」というイメージは古くて、今はGUIも含めてかなり便利に使える環境になっていますよ。
Q:Windowsのパワーシェルでwslってやって実行するんだっけ?それをすると画面上はどんな挙動?
そうです、WindowsのPowerShellやコマンドプロンプトで
wsl
と入力して実行すると、WSL(Windows Subsystem for Linux)のLinux環境のターミナルに切り替わります。
実行するとどうなるか?
- PowerShellやcmdのウィンドウ内でLinuxのシェル(通常はbash)に切り替わる
→ 画面のプロンプトがLinux風(例:username@hostname:~$
)になります。 - Linuxコマンドをそのまま実行できるようになる
→ls
、pwd
、cat
などのLinuxコマンドが使えます。 - PowerShellから直接Linuxコマンドを実行可能
例えば、wsl ls -la
とすると、そのままLinuxの
ls -la
コマンドが実行され、結果がPowerShell上に表示されます。 - 終了するには
exit
コマンドを入力
Linuxシェルを抜けて元のPowerShellやcmdの画面に戻ります。
見た目のイメージ
C:\Users\YourName> wsl
YourLinuxName@YourPCName:~$
こんな感じで、プロンプトが変わりLinuxのターミナルに変わります。
Q:じゃあそこでfirefox ってやると、LinuxとしてFirefoxが起動する?
基本的には、WSLのLinux環境で
firefox
とコマンドを打てばLinux版Firefoxが起動します。ただし…
1. WSL2かつGUI対応環境であること
- WSL2の最新版には「WSLg」という機能があり、LinuxのGUIアプリをWindows上でネイティブに表示できます。
- これが有効になっている必要があります。
WSLgが有効か確認する方法(Windows 11 / WSL2 前提)
- PowerShellまたはWSL内で以下を実行:
echo $DISPLAY
- 結果が
:0
や:0.0
のように出れば WSLgは有効。
有効になっていない場合の有効化手順
- Windowsを最新にアップデート
- PowerShellを「管理者として実行」して以下を実行:
wsl --update
wsl --install
- PCを再起動すればOK。GUIアプリ(例:
gedit
やfirefox
)が起動すれば成功。
Windows11以降は基本的にWSLgは有効になっているのが正常な状態です。
2. FirefoxがWSL内にインストールされていること
- 例えばUbuntuなら(WSLは通常だとUbuntuがインストールされてます)
sudo apt update
sudo apt install firefox
でインストールします。
実際の動作イメージ
- PowerShellで
wsl
を起動し、Linuxのターミナルに入る - そこで
firefox
コマンドを実行すると、Windows上にFirefoxのウィンドウが表示される(Linuxの画面ではなく) - 普通のWindowsアプリのように操作可能
注意点
- WSL1ではGUIは動かせないので、Firefoxは起動しません。
- 古いWSL2やWindowsバージョンだとWSLgが使えない場合があるため、最新版へのアップデートが必要です。
Q:普通WSL2はUbuntuなのだから標準でfirefoxは入ってる?
いいえ、Ubuntuの標準インストールにはFirefoxは最初から入っていません。
どういうことか説明しますね
- Ubuntuのデスクトップ版(GUI付き)にはFirefoxがプリインストールされていますが、
- WSL2のUbuntuは基本的にCLI(CUI)環境の最小構成でインストールされるため、
FirefoxなどのGUIブラウザは含まれていません。
Firefoxを使いたければ
以下のように手動でインストールが必要です。
sudo apt update
sudo apt install firefox
まとめ
環境 | Firefoxの初期状態 |
---|---|
Ubuntuデスクトップ版 | 最初からインストール済み |
WSL2 Ubuntu(CLI版) | インストールされていない |
Q:基本的にはCUIオンリーを想定してるけど、GUIも使いたければ、特に追加の設定など必要なく、aptとかでアプリをインストールすれば使えると?
そうですね、ざっくり言うとその理解で合っています!
WSL2でのGUIアプリ利用のポイント
- WSL2の最新版(Windows 11以降)にはWSLgという機能が組み込まれていて、
特別な追加設定をしなくても、aptでGUIアプリをインストールすればWindows上で起動できます。 - 例えば、
sudo apt update sudo apt install firefox firefox
とすれば、WindowsのデスクトップにFirefoxのウィンドウが表示されます。
- ただし、
- Windows 10の場合はWSLgが標準搭載されていないので、別途Xサーバーの導入などが必要
- 古いWSL2環境やアップデートされていない場合は動かないこともある
まとめ
状況 | GUIアプリの起動 |
---|---|
Windows 11 + WSL2 最新版 | ほぼ追加設定なしで動く |
Windows 10 + WSL2 | Xサーバー導入など設定が必要 |
古いWSL2環境 | 動作しない、または追加設定が必要 |
もしあなたの環境がWindows 11でWSL2最新版なら、かなり手軽にGUIも使えますよ。
追伸
LinuxやUbuntuをこれから試してみたい!と言う人や、今までWindowsで使っていたPCをWindowsは残したままLinuxやUbuntuを活用してみたい人は以下の本がおすすめ!
https://amzn.to/44AU7B5
LinuxやUbuntuを使おうとして、初心者の人が最初にコマンドで戸惑うのが普通です。そんな初心者に向けてマンガで超わかりやすいコマンドについて学べるのはシス管系女子みんとちゃんの本!
https://amzn.to/3FMTx5v