Windows 10にLinux Bashシェルをインストールして使用する方法

まず、機能ウィンドウまたは「wsl --install」コマンドからWindows Subsystem for Linux(WSL)を有効にします。PCを再起動した後、Microsoft StoreからUbuntuまたは任意のLinuxディストリビューションをインストールします。

アニバーサリーアップデートで導入されたWindows Subsystem for Linuxは、Fall Creators Updateで安定した機能になりました。現在は、Ubuntu、openSUSE、Fedoraのリミックス版、その他多数をWindowsで実行できます。今後、さらに多くのLinuxディストリビューションが追加される予定です。

Windows 10のBashシェルについて知っておくべきこと

Windows Subsystem for Linux 1(WSL1)の仕組み

Windows 10は、Linuxソフトウェアを実行するための完全なWindows Subsystem for Linux(WSL)を提供しています。これは、仮想マシン、コンテナ、Windows用にコンパイルされたLinuxソフトウェア(Cygwinなど)ではありません。これは、WindowsでAndroidアプリを実行するためのMicrosoftの廃止されたProject Astoriaの作業に基づいています。

Wineの逆と考えてください。Wineを使用すると、WindowsアプリケーションをLinuxで直接実行できますが、Windows Subsystem for Linuxを使用すると、LinuxアプリケーションをWindowsで直接実行できます。

MicrosoftはCanonicalと協力して、このサブシステム上で動作する完全なUbuntuベースのBashシェル環境を提供しました。技術的には、これはLinuxではありません。Linuxは、基盤となるオペレーティングシステムのカーネルであり、ここでは使用できません。代わりに、Bashシェルと、通常Ubuntu Linuxで実行するまったく同じバイナリを実行できます。フリーソフトウェアの純粋主義者は、Linuxカーネル上で動作する多くのGNUソフトウェアであるため、平均的なLinuxオペレーティングシステムを「GNU/Linux」と呼ぶべきだと主張することがよくあります。使用するBashシェルは、実際にはそれらのGNUユーティリティとその他のソフトウェアのすべてです。

この機能はもともと「Bash on Ubuntu on Windows」と呼ばれていましたが、Zshやその他のコマンドラインシェルも実行できます。現在は、他のLinuxディストリビューションもサポートしています。Ubuntuの代わりにopenSUSE LeapまたはSUSE Enterprise Serverを選択でき、Fedoraのリミックス版も利用できます。

ここにはいくつかの制限があります。公式には、グラフィカルなLinuxデスクトップアプリケーションでは動作しません。この機能は完璧ではないため、すべてのコマンドラインアプリケーションが動作するわけでもありません。

Windows Subsystem for Linux 2(WSL2)の仕組み

Windows Subsystem for Linux 2(WSL2)は、前身とまったく同じユーザーエクスペリエンスを提供するように設計されていますが、類似点はほとんどありません。

WSL2は、非常に効率的な仮想マシンで完全なLinuxカーネルを実行します。WSL1と同様に、WSL2ではUbuntu、Debian、Kali、openSUSE、FedoraなどのさまざまなLinuxディストリビューションを使用できます。つまり、ほとんどのLinuxアプリケーション、パッケージ、コマンドが問題なく動作することを意味します。

WSL2は、Windows 11でGUIアプリケーションをサポートします。

Windows 10にBashをインストールする方法

この機能はWindows 10の32ビット版では動作しないため、Windowsの64ビット版を使用していることを確認してください。32ビット版を使用している場合は、Windows 10の64ビット版に切り替える必要があります。

64ビット版のWindowsを使用していることを前提に、まず「コントロールパネル」>「プログラム」>「Windowsの機能の有効化または無効化」に進みます。リストで「Windows Subsystem for Linux」オプションを有効にして、「OK」ボタンをクリックします。

コンピューターの再起動を求められたら、「今すぐ再起動」をクリックします。再起動するまで、この機能は動作しません。

または、PowerShellを使用してインストールすることもできます。PowerShellを管理者として起動し、次を入力します。

wsl --install

必要なコンポーネントをすべてダウンロードしてインストールするには数分かかる場合があります。インストールが完了したら、コンピューターを再起動する必要があります。

コンピューターが再起動したら、スタートメニューからMicrosoft Storeを開き、ストアで「Linux」を検索します。

Windows Storeで現在利用可能なすべてのLinuxディストリビューションのリストが表示されます。これには、Ubuntu、openSUSE Leap、openSUSE Enterprise、Debian、Kaliなどが含まれます。2023年11月の時点で公式バージョンはありませんが、Fedoraのリミックス版もいくつか見つけることができます。

特定のディストリビューションが必要な場合は、「Linux」ではなくそれを検索してください。より良い結果が得られます。

Linuxディストリビューションをインストールするには、それをクリックしてから「入手」または「インストール」ボタンをクリックして、他のストアアプリケーションと同様にインストールします。

どのLinux環境をインストールすればよいかわからない場合は、Ubuntuをお勧めします。この人気のLinuxディストリビューションは以前は唯一の選択肢でしたが、現在はより具体的なニーズを持つ人向けに他のLinuxシステムが利用可能になっています。

複数のLinuxディストリビューションをインストールすることもでき、それぞれに独自のショートカットが割り当てられます。異なるウィンドウで複数の異なるLinuxディストリビューションを同時に実行することもできます。

Bashシェルを使用し、Linuxソフトウェアをインストールする方法

Ubuntu、またはインストールした他のLinuxディストリビューションを介して、完全なコマンドラインbashシェルが使用できるようになりました。

同一のバイナリであるため、Ubuntuを使用している場合は、Ubuntuのaptまたはapt-getコマンドを使用してUbuntuのリポジトリからソフトウェアをインストールできます。通常、そのLinuxディストリビューションで使用しているコマンドを使用してください。すべてのLinuxコマンドラインソフトウェアにアクセスできますが、一部のアプリケーションは完全に動作しない場合があります。

インストールしたLinux環境を開くには、スタートメニューを開き、インストールしたディストリビューションを検索します。たとえば、Ubuntuをインストールした場合は、Ubuntuのショートカットを起動します。

このアプリケーションのショートカットをスタートメニュー、タスクバー、またはデスクトップにピン留めして、簡単にアクセスできるようにすることができます。

Linux環境を初めて起動すると、UNIXのユーザー名とパスワードの入力を求められます。これらはWindowsのユーザー名とパスワードと一致させる必要はありませんが、Linux環境内で使用されます。

たとえば、資格情報として「bob」と「letmein」を入力すると、Linux環境でのユーザー名は「bob」になり、Linux環境内で使用するパスワードは「letmein」になります。Windowsのユーザー名とパスワードは何であっても関係ありません。

インストールしたLinux環境は、wslコマンドを実行することで起動できます。複数のLinuxディストリビューションがインストールされている場合は、このコマンドで起動するデフォルトのLinux環境を選択できます。

Ubuntuがインストールされている場合は、ubuntuコマンドを実行してインストールすることもできます。openSUSE Leap 42の場合は、opensuse-42を使用します。SUSE Linux Enterprise Server 12の場合は、sles-12を使用します。これらのコマンドは、Windows Storeの各Linuxディストリビューションのページに記載されています。

bashコマンドを実行することで、デフォルトのLinux環境を起動することもできますが、Microsoftはこれは非推奨であると述べています。つまり、bashコマンドは将来的に機能しなくなる可能性があります。

Linux、Mac OS X、またはその他のプラットフォームでBashシェルを使用することに慣れている場合は、すぐに使いこなせるでしょう。

Ubuntuでは、コマンドにsudoをプレフィックスで付けて、root権限で実行する必要があります。UNIXプラットフォームの「root」ユーザーは、Windowsの「Administrator」ユーザーと同様に、システムにフルアクセスできます。Windowsのファイルシステムは、Bashシェル環境の/mnt/cにあります。

移動するには、使用するLinux端末コマンドと同じものを使用します。DOSコマンドを備えた標準的なWindowsコマンドプロンプトに慣れている場合は、BashとWindowsの両方に共通する基本的なコマンドを以下に示します。

  • ディレクトリの変更: Bashのcd、DOSのcdまたはchdir
  • ディレクトリの内容を一覧表示: Bashのls、DOSのdir
  • ファイルの移動または名前の変更: Bashのmv、DOSのmoveおよびrename
  • ファイルのコピー: Bashのcp、DOSのcopy
  • ファイルの削除: Bashのrm、DOSのdelまたはerase
  • ディレクトリの作成: Bashのmkdir、DOSのmkdir
  • テキストエディタの使用: Bashのviまたはnano、DOSのedit

Windowsとは異なり、BashシェルとそのLinux模倣環境は大文字と小文字を区別することに注意することが重要です。つまり、大文字の「File.txt」は、大文字のない「file.txt」とは異なります。

詳細な手順については、Linuxコマンドラインの初心者向けガイドや、Bashシェル、Ubuntuコマンドライン、Linuxターミナルのその他の同様の紹介をオンラインで参照してください。

aptコマンドを使用して、Ubuntu環境のソフトウェアをインストールして更新する必要があります。これらのコマンドには必ずsudoをプレフィックスとして付けます。これにより、LinuxのAdministratorに相当するrootとして実行されます。知っておく必要があるapt-getコマンドを以下に示します。

  • 利用可能なパッケージに関する更新情報をダウンロード: sudo apt update
  • アプリケーションパッケージをインストール: sudo apt install packagename(「packagename」をパッケージ名に置き換えます。)
  • アプリケーションパッケージをアンインストール: sudo apt remove packagename(「packagename」をパッケージ名に置き換えます。)
  • 利用可能なパッケージを検索: sudo apt search word(「word」を、パッケージ名と説明を検索する単語に置き換えます。)
  • インストールされているパッケージの最新バージョンをダウンロードしてインストール: sudo apt upgrade

SUSE Linuxディストリビューションをインストールした場合は、zypperコマンドを使用してソフトウェアをインストールすることもできます。

アプリケーションをダウンロードしてインストールしたら、プロンプトでその名前を入力してからEnterキーを押して実行します。詳細については、その特定のアプリケーションのドキュメントを確認してください。

Windows 10で真のUbuntu体験を実現するためにUbuntuフォントをインストールする

Windows 10でより正確なUbuntu体験を実現したい場合は、Ubuntuフォントをインストールしてターミナルで有効にすることもできます。デフォルトのWindowsコマンドプロンプトのフォントは私たちには見栄えが良いので、これは必須ではありませんが、オプションとしてあります。

以下はその様子です。

フォントをインストールするには、まずUbuntuのWebサイトからUbuntuフォントファミリーをダウンロードします。ダウンロードした.zipファイルを開き、「UbuntuMono-R.ttf」ファイルを探します。これはUbuntuの等幅フォントで、ターミナルで使用されている唯一のフォントです。インストールする必要があるのはこのフォントだけです。

「UbuntuMono-R.ttf」ファイルをダブルクリックすると、フォントのプレビューが表示されます。システムにインストールするには「インストール」をクリックします。

コンソールでUbuntu等幅フォントを使用する

コンソールでUbuntu等幅フォントを使用できるようにするには、Windowsレジストリに設定を追加する必要があります。

キーボードでWindows+Rを押してレジストリエディタを開き、regeditと入力してからEnterキーを押します。次のキーに移動するか、コピーしてレジストリエディタのアドレスバーに貼り付けます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

右ペインで右クリックし、新規>文字列値を選択します。新しい値に000という名前を付けます。

作成したばかりの「000」文字列をダブルクリックし、値データとしてUbuntu Monoと入力します。

Ubuntuのウィンドウを起動し、タイトルバーを右クリックして「プロパティ」コマンドを選択します。「フォント」タブをクリックし、フォントリストから「Ubuntu Mono」を選択します。

ターミナルでUbuntu等幅フォントを使用する

Windowsターミナルを使用している場合(ほとんどの場合、大幅に改善されているため、使用すべきです)、フォントの変更は簡単です。Ubuntuフォントをインストールしたら、ターミナルを開き、小さな下向き矢印をクリックして「設定」を選択します。

既定値>外観を開き、利用可能なフォントのリストから「Ubuntu Mono」を選択します。

ターミナルは、設定アプリと同様に、ウィンドウのサイズに応じて左側のサイドバーのラベルを自動的に展開または折りたたみます。ウィンドウのサイズによっては、「既定」のテキストラベルが表示されない場合があります。

注意: Bashシェルにインストールしたソフトウェアは、Bashシェルに限定されます。これらのプログラムには、コマンドプロンプト、PowerShell、またはWindowsの他の場所からアクセスできますが、bash -cコマンドを実行した場合のみです。