WSL(Windows Subsystem for Linux)をさらに快適に使うための7つのヒント
Windows Subsystem for Linux(WSL)は、近年登場した最も注目すべきソフトウェアプロジェクトのひとつです。かつてMicrosoft WindowsとLinuxは犬猿の仲と見なされていましたが、今ではデュアルブートや仮想マシンの構築なしに、Windowsシステム上で本格的なLinuxアプリケーションを実行できます。
WSLをすでに使っているなら、どうすればさらに快適にできるのでしょうか?
Windows Terminalを導入する

Microsoft StoreからLinuxディストリビューションをインストールするとターミナルウィンドウが使えますが、それ以外にも優れた選択肢があります。
そのひとつがMicrosoft純正の「Windows Terminal」です。タブ付きウィンドウなど、モダンなターミナルエミュレーターに求められる機能を数多く備えています。しかもWindows TerminalはLinuxだけでなく、PowerShellや従来のコマンドプロンプトにも対応しています。
まだ多少荒削りな部分もあり、設定は.jsonファイルを直接編集する必要があります。とはいえ、コマンドラインを日常的に使うユーザーなら、設定ファイルの編集には慣れているはずです。
シェルを変更する
Ubuntuを含むほとんどのLinuxディストリビューションでは、デフォルトシェルはBashです。Bash自体に問題はありませんが、経験豊富なLinuxユーザーは初期状態のまま満足せず、何かとカスタマイズしたがるもの。シェルもその例外ではありません。
Unix/Linuxの世界で人気の高いBashの代替がzshです。AppleのmacOSではすでにデフォルトシェルとして採用されています。コマンド1つで簡単に切り替えられるのも魅力です。
多くのディストリビューションではzshはデフォルトでインストールされていません。Ubuntuの場合、aptでインストールできます:
sudo apt install zshUbuntu WSLでシェルをzshに変更するには、次のコマンドを実行します:
chsh -s /usr/bin/zsh使用しているディストリビューションによって、シェルの格納場所は異なる場合があります。変更時にはパスワードの入力を求められます。シェルの場所を確認するには:
which zsh別のシェルを使いたい場合は、zshの部分をそのシェル名に置き換えてください。
WindowsとLinuxのファイルにアクセスする

WSLはWindowsとLinuxのプログラムを並行して実行できるだけでなく、両方のシステムのファイルに同時にアクセスすることも可能です。
これは開発プロジェクトにおいて非常に便利です。Windowsのエディターでプログラムを編集し、Linux側のウィンドウでテストするといった使い方ができます。
Windowsのファイルシステムは、Linux側では/mnt/[ドライブ文字]ディレクトリにマウントされます。WindowsのドライブがCなら、/mnt/cとなります。標準的なLinuxコマンドを使って、Windows側のすべてのファイルにアクセスできます。
逆に、WindowsからLinuxファイルシステムへのアクセスも簡単です。エクスプローラーの\\wsl$階層下に表示され、WindowsはLinuxシステムをネットワークドライブとして認識します。Ubuntu 20.04がインストールされている場合は、\\wsl$\Ubuntu-20.04となります。
現在のディレクトリでエクスプローラーのウィンドウを開くには、次のコマンドを実行します:
Explorer.exe .WSL 2へアップグレードする

2020年、MicrosoftはWSL 2を発表しました。WSL 1からの主な改善点は、Windows Update経由で提供される実際のLinuxカーネルを採用したことです。カーネルがLinuxシステムコールを直接実行するため、Windowsシステムコールへの変換が不要になり、パフォーマンスが大幅に向上します。
WSL 2へのアップグレードは、いくつかのコマンドを実行するだけです。まずハイパーバイザーを有効化します。管理者権限でPowerShellウィンドウを開き、次のように入力してください:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartその後、マシンを再起動します。
次にLinuxカーネルをダウンロードします。Microsoftの公式サイトからパッケージを入手し、インストーラーを実行してください。
続いて、今後インストールするディストリビューションのデフォルトをバージョン2に設定します:
wsl --set-default-version 2 既存のインストール環境もWSL 2にアップグレードしておきましょう。幸い、これも簡単に行えます。
インストール済みのディストリビューションを確認するには:
wsl --list Ubuntu 20.04をWSL 2に設定するには、--set-versionオプションを使用します:
wsl --set-version Ubuntu-20.04 2 これで、現在および将来のすべてのインストール環境でWSL 2の高度な機能を利用できるようになります。カーネルはシステム上の他のドライバーと同じく、Windows Updateを通じて自動的に更新されます。
開発ツールを揃える
Linuxは、エディター、コンパイラー、IDE、サーバーソフトウェアなど、膨大なプログラミングツールが利用できることから、今なお開発者の間で絶大な人気を誇ります。
WSLベースの環境にお気に入りのツールを導入するのも、他のシステムと同じように簡単です。各システムに付属する標準のパッケージマネージャーを使うだけです。
DebianとUbuntuではapt、SuSEではYaST、AlpineではAPKが該当します。従来のLinux環境とまったく同じ感覚で、お気に入りの開発プロジェクトに必要なものがすべて揃います。
C言語プログラマーであれば、DebianとUbuntuにはbuild-essentialというパッケージが用意されています。GCCコンパイラー、Cライブラリ、Makeユーティリティ、パッケージ開発ツールが含まれたセットです。本来はディストリビューション自体の開発者向けですが、一般的なC開発にも非常に便利です。
インストールはaptコマンド1つで完了します:
sudo apt install build-essentialパッケージ一覧を眺めて、お気に入りのツールが揃っているか確認したり、思わぬ新発見をしたりするのも楽しいものです。
サービスを管理する

WSLでは通常のコマンド操作が中心ですが、ときにはサービスの起動・停止が必要になることもあります。たとえばWebアプリケーションを開発中で、Webサーバーを使ってテストしたいケースなどです。
幸い、他のLinuxディストリビューションと同じように、サービスの開始・停止は簡単に行えます。
WSL上のUbuntuでは少し仕組みが異なり、SystemdではなくServiceユーティリティを使用します。こちらは古いSystem Vスタイルのinitスクリプトでサービスを管理する方式です。
Apacheサーバーを起動するには、次のコマンドを実行します:
sudo service apache2 startこれでApacheサーバーが起動します。topコマンドで実行中のプロセスを確認し、一覧にapache2が表示されていることをチェックしてみてください。
Apacheサーバーの停止も同様に簡単です:
sudo service apache2 stopさまざまなディストリビューションを試す

WSLの醍醐味のひとつは、複数のディストリビューションを同時に実行できることです。UbuntuやSuSE、Debianと並行して、Alpine Linuxのようなあまり知られていないディストリビューションを試してみてはいかがでしょうか? 新しいお気に入りに出会えるかもしれません。気に入ったディストリビューションがあれば、--set-defaultフラグでメイン環境に設定できます:
wsl --set-default distro-nameここでdistro-nameは、デフォルトに設定したいシステムの名前に置き換えてください。
WSLの世界を探索しよう
WSLには、LinuxとWindowsを組み合わせた新しい世界を探索するための選択肢がたくさんあります。常に何か新しい発見があるのが魅力です。シェルを変え、ターミナルを乗り換え、サービスを起動・停止し、さまざまなディストリビューションを試してみましょう。
Windows Subsystem for Linuxには、通常のLinuxディストリビューションとは大きく異なる特徴が数多くあります。しかし、Windowsマシンから素早くLinux環境にアクセスできるという大きなメリットを考えれば、WSLを活用しない手はありません。
-
WSL(Windows Subsystem for Linux)開発環境の自動セットアップ完全ガイド
私は昔からずっとWindowsユーザーです。Linuxもいろいろ触ってみましたが、結局Windowsの方がしっくりくるので、メイン環境として使い続けてきました。どちらのOSにも長所と短所がありますが、Web開発を学び始めた頃、Windowsで一番不便だったのはLinuxのコマンドラインツールが使えないことでした。 そんな悩みを一掃してくれたのが、Windows Subsystem for Linux(WSL)です。 WSLは本当に便利です。Windows上でBashシェルが動かせ、Node.jsアプリも問題なく実行できます。しかもWindows 10 Fall Creators Update以
-
Windows 10にWSL(Linux用Windowsサブシステム)をインストールする方法
2016年、Microsoftは年次開発者カンファレンス「Build」で衝撃的な発表を行いました。それは、LinuxのシェルであるBashをWindowsデスクトップ上でファーストクラスの機能として提供するというものです。 当初の「Bash on Ubuntu on Windows」という名称は、その裏にある技術の本質を覆い隠していました。Microsoftが実際に実現したのは、エミュレーションや仮想化に頼らず、LinuxスタックをWindows上に重ねて動作させる仕組みです。「Windows Subsystem for Linux(WSL)」は、Windowsカーネルに対してLinuxカーネ