Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

Windows 10でLinux Bashシェルを使う方法|インストール手順から活用テクニックまで徹底ガイド

2016年3月、MicrosoftはCanonicalとの提携を発表しました。「Windows上のLinux」として大きな注目を集め、開発者たちはBashがWindowsに搭載されることを喜んで迎え入れました。仮想マシンではなく、Windows 10 Anniversary UpdateによってBashのフル機能がWindows上で直接利用できるようになったのです。

Bash on Windowsは登場からしばらく経ちますが、その能力は非常に強力です。開発者向けの機能はもちろん、コマンドラインの裏には意外と知られていない隠れた機能も数多く潜んでいます。この記事では、Bash on Windowsのインストール方法や導入すべき理由から、あまり知られていない活用術まで、詳しく解説していきます。

WindowsでBashを使うためのシステム要件

Windows 10でLinux Bashシェルを使う方法|インストール手順から活用テクニックまで徹底ガイド

Bash on Windowsのインストールはとても簡単ですが、まずは基本となる必要条件から確認しましょう。

必要なのは、64ビット版Windows 10が動作するPCと、Windows 10 Anniversary Updateが適用されていることです。このアップデートは開発者向けの機能のため、開発者モードを有効にする必要もあります。途中で再起動を求められる場合があり、再起動後には「Windowsの機能」から「Windows Subsystem for Linux (Beta)」を有効化します。さらに再度再起動が必要となり、システムが起動すれば、ついにBashを開けるようになります。

Windows 10でLinux Bashシェルを使う方法|インストール手順から活用テクニックまで徹底ガイド

このように、WindowsでのBashのインストールと実行は驚くほど簡単です。64ビット版のWindows 10 PCでAnniversary Updateさえ適用されていれば、いくつかの設定を切り替えるだけで使えるようになります。

Bash on Windowsを有効にする手順

Bash on Windowsの有効化は、思ったよりも難しくありません。以下の手順に沿ってインストールを進めましょう。

まず、開発者モードを有効にします。[設定] > [更新とセキュリティ] > [開発者向け] の順に移動し、[開発者モード] のラジオボタンを選択してください。

次に、Windowsキー + Q を押して検索ボックスを開き、「Windowsの機能の有効化または無効化」を検索します。

OK をクリックして再起動します。再起動が完了したら、スタートメニューを開いて「Bash」と検索し、「Bash run command」オプションをクリックします。

利用規約への同意を求められるので、同意するとBashのダウンロードが開始されます。

ダウンロードが完了したら、いよいよBashを実行できます。スタートメニューを開いて「Ubuntu」と検索するだけです。

Bash on Windowsで実際にできること

ここで最大の疑問、「Bash on Windowsで実際に何ができるのか?」に答えましょう。まず、grep、ssh、nanoといった標準的なGNUコマンドラインツールは問題なく動作します。

grep
ssh
nano

また、aptやapt-getを使ったパッケージのインストールやアップデートも快調に機能します。シンボリックリンクやファイルシステムのサポートはWindows Subsystem for Linux(WSL)環境によって提供されており、Python、Node.js、Perlなどのプログラミング言語にも対応しています。Bash on Windowsはグラフィカルアプリの実行を想定していませんが、工夫すれば実行することも可能です。

一方で、Windowsアプリの編集・削除やWindowsシステム設定の変更はできないようになっています。コマンドラインの操作ではミスがつきものなので、これは心強いフェイルセーフといえるでしょう。

Linuxソフトウェアのインストール方法

Windows 10でLinux Bashシェルを使う方法|インストール手順から活用テクニックまで徹底ガイド

Linuxでは、複数の方法でアプリをインストールできますが、最も一般的なのがコマンドラインです。apt-getはリポジトリからソフトウェアパッケージを依存関係ごとまとめてダウンロードしてくれます。とても便利で、基本的な書式は以下の通りです(括弧部分を実際のパッケージ名に置き換えてください)。

sudo apt-get install [パッケージ名]

例えばGitをインストールする場合は、次のように実行します。

sudo apt-get install git

とても簡単ですね。ただし、スーパーユーザー権限が必要になるため、先頭に sudo を付けるのを忘れないようにしましょう。なお、Gitなどのソフトウェアはソースコードからビルドしてインストールすることも可能です。

グラフィカルアプリを実行できるのか

Bash on Windowsは、少なくとも公式にはグラフィカルなLinuxアプリをサポートしていません。しかし、コミュニティのメンバーたちが、驚くほど多用途なWindows Subsystem for Linuxを応用して、これを実現する方法を見つけました。ある目的のために作られた仕組みでも、別の用途に転用できないというわけはないのです。

その仕組みの鍵は、Bash for Windowsをインストールすると、Ubuntuのユーザースペースイメージ一式が丸ごと導入されることにあります。つまり、GUIを持つ従来のUbuntuに含まれるすべてのバイナリが手元に揃うのです。

完全なUbuntuユーザースペースが含まれているため、Windows上でグラフィカルなLinuxアプリを動かすことが理論上可能になります。具体的には、X Serverのインストール、apt-getによるアプリの導入、DISPLAY環境変数の設定、そしてアプリの起動という手順を踏みます。それほど難しい作業ではありませんが、グラフィカルアプリを実行するたびに環境変数を設定し直す必要があるため、やや面倒です。

さらに、これは公式にサポートされた機能ではないため、動作はさまざまな要因に左右されます。ネイティブのLinuxユーザーならご存知の通り、アプリのインストールには依存関係の解決や細かな調整がつきものです。それをBash on Windows上で強引に動かすとなると、想像するだけで一苦労でしょう。

素直にLinuxのGUIアプリを使いたいなら、Cygwinを利用するか、VM上でLinuxディストリビューションを動かすか、デュアルブート環境を作るほうが賢明です。とはいえ、「Windows上でLinuxのGUIアプリが動く」という珍しい体験には、独特の魅力があります。

Ubuntu側のファイルへのアクセス方法

Bash for Windowsをインストールすると、完全なUbuntuユーザースペースが作成されます。これらのファイルには、Windowsのエクスプローラーから簡単にアクセスできます。ただし、場所が隠されているため、まずエクスプローラーの表示オプションで[隠しファイル、隠しフォルダー、および隠しドライブを表示する]を有効にしておきましょう。UbuntuユーザースペースはWindowsユーザーアカウントごとに個別に存在し、以下の場所に格納されています。

C:\Users\ユーザー名\AppData\Local\lxss\rootfs

ホームフォルダーは次の場所にあります。

C:\Users\ユーザー名\AppData\Local\lxss\home\ユーザー名

ルートフォルダーはこちらです。

C:\Users\ユーザー名\AppData\Local\lxss\root

逆に、Bash側からWindowsのシステムファイルへアクセスする方法は少し異なります。Bashの初期位置は、Windowsファイルシステム内に作成されたUbuntuのルートディレクトリですが、Windowsの各ドライブをマウントしてアクセスすることも可能です。例えばC:ドライブは次のパスで参照できます。

/mnt/C

D:ドライブなら以下の通りです。

/mnt/D

以降も同様の形式になります。コマンドラインからは、これらのパスを cd(ディレクトリ移動)コマンドなどと組み合わせて自由に行き来できます。なお、権限の扱いは少し特殊で、管理者用フォルダーへアクセスするには、Bash on Windowsを「管理者として実行」で起動する必要があります。

サーバー管理への実用的な活用

Bash for Windowsの実用的な活用例をお探しなら、サーバー管理がおすすめです。サーバーの構築自体は今どき簡単に行えますが、モニターを繋がないヘッドレス運用の場合、リモートから管理する手段が必要になります。PuTTYをはじめ専用アプリも多数ありますが、コマンドラインならもっとシンプルに解決できます。SSHでサーバーに接続すれば、ターミナルから直接操作できるのです。Bash on Windowsからのリモートスクリプト実行もスムーズで、実用性の高い使い方といえるでしょう。

Bash for Windowsをアンインストールする方法

一度インストールしたBash for Windowsも、アンインストールは比較的簡単です。主な方法は2つあります。1つ目は、Ubuntu環境を削除しつつホームフォルダーを残す方法です。コマンドプロンプトまたはPowerShellで次のコマンドを実行します。

lxrun /uninstall

すると、削除の影響を警告するメッセージが表示されます。「この操作により、Ubuntu環境と、加えた変更および新しくインストールしたアプリケーションが削除されます…」

続行する場合は y を入力してください。

もう1つの方法は、Windows Subsystem for Linux自体を無効化するもので、Ubuntu環境ホームフォルダーの両方が完全に削除されます。

lxrun /uninstall /full

この場合の警告メッセージは次の通りです。

「この操作により、Windows上のUbuntuがアンインストールされます。Ubuntu環境、変更内容、追加したアプリケーション、ユーザーデータがすべて削除されます。」

y を入力すると削除が実行されます。

Windows 10でLinux Bashシェルを使う方法|インストール手順から活用テクニックまで徹底ガイド

Bash on Windowsには大きな可能性が詰まっています。Windows公式ブログやUbuntuコミュニティサイト、そしてお馴染みのRedditなど、役立つ情報源も豊富です。/r/bashonubuntuonwindowsスレッドでは、Visual Studio Codeの実行、Sambaファイルサーバーの構築、WSLを使った開発など、多彩な話題が交わされています。グラフィカルアプリの実行が示しているように、できることの幅はほぼ無限大です。

あなたは現在、Bash on Windowsを何に使っていますか? そもそもBash on Windowsを使っていますか? ぜひコメント欄でお聞かせください!


  1. Windows 10の新しいクリップボード機能を使いこなす方法|履歴・同期設定ガイド

    Windows 10の最新アップデートでは、ユーザー体験を向上させる魅力的な新機能が多数追加されました。今回はその中から「クリップボード」の新機能をご紹介します。この機能を活用すれば、よく使う項目を素早く記録したり、重要な用件を効率的に管理したりと、日々の作業がぐっと快適になります。さらに、クリップボードにピン留めした項目の履歴をすべて確認できるだけでなく、複数のデバイス間でクリップボードデータを同期することも可能です。それでは、Windows 10のクリップボード機能を使って、全く新しい体験を楽しんでみましょう!Windows 10でクリップボードを有効化する方法現時点では、この機能はIns

  2. Windowsユーザーデータのバックアップ入門 - 手軽にできる暗号化バックアップ作成ガイド

    数ヶ月前、Linuxのホームディレクトリをバックアップする方法についての記事を公開しました。データやアプリケーション設定、さらには暗号化まで網羅した内容で、どのLinuxシステムにも搭載されているシンプルなツールだけで実現できるため、いつでもどこでも活用できるものでした。その後、読者の皆さんから「Windows版のチュートリアルも欲しい」というメールやご提案を多数いただきました。当初はコマンドライン中心のガイドとして、Windowsシェルスクリプトを使った内容を考えていましたが、もっとシンプルな形にすることにしました。大多数の方はGUIでWindowsを操作しているため、今回は画面ベースで分か