\r\n\r\n
2016年3月、MicrosoftはCanonicalとの素晴らしい提携を発表しました。Windows上のLinuxとして宣伝され、開発者はBash for Windowsの展望に喜びました。windows 10 anniversary updateは、仮想マシンではなくWindowsにbashのフルパワーをもたらすと約束したのです。
Bash for Windowsがリリースされてしばらく経ちますが、信じられないほど強力です。もちろん、開発者のために、コマンドラインの下にさらに多くの機能が隠されています。Bash-on-Windows のインストール方法とその理由から、意外と知られていない隠れた機能まで、Bash-on-Windows の詳細についてご紹介します。
WindowsへのBashのインストールは非常に簡単ですが、まずは基本的なところから説明します。
Windows 10 Anniversary UpdateがインストールされたWindows 10が動作するPC(64ビットPC)が必要です。このアップデートは開発者向けであるため、デベロッパーモードをオンにすることも必要です。再起動が必要な場合があります。再起動すると、Windowsの機能でWindows Subsystem for Linux (Beta)が有効になる場合があります。すると、再度再起動を促し、ようやく再起動後、Bashが開けるようになります。
だから、WindowsにBashをインストールして実行するのはとても簡単だ。64ビットのwindows 10 PCを装備し、Anniversary Updateをインストールしていれば、オンにする必要のある機能はほんの少しです。
WindowsでBashを使えるようにすることは、それほど難しいことではありません。ここでは、そのインストール方法について説明します。
まず、デベロッパーモードを有効にします。設定> 更新& セキュリティ> 開発者向けを選択し、開発者モードによるバブルを選択します。
次に、Windowsキー+Qを押して、オンまたはオフにするWindowsの機能を検索します。
再び起動したら、スタートメニューを開き、Bashを検索します。Bashの実行コマンドオプションをクリックします。
利用規約に同意するよう促され、規約に同意した上で Bash がダウンロードされます。
そのためには、スタートメニューを開き、「Ubuntu」を検索するだけです。
WindowsのBashで具体的に何ができるのか、というのが大きな疑問です。GNUの標準的なコマンドラインツールには...
grep ssh nano...うまくいくはずです。aptやaptを使ったパッケージやアップデートのインストールも良好です。 SymlinkやファイルシステムのサポートはWSL(Windows Subsystem for Linux)環境で提供され、Python、NodeJS、Perlなどのプログラミング言語もある程度サポートされています。Bashはグラフィカルなアプリケーションの実行には向いていませんが、実装することは可能です。
幸いなことに、Windowsアプリケーションの編集/オープン/削除やWindowsのシステム設定を変更することはできません。これは、コマンドラインを使用する際にエラーが発生する可能性があることを知っているため、良いフェイルセーフとなります。
Linuxでは、アプリケーションを様々な方法でインストールすることができます。コマンドラインが一般的です。apt-getは、依存関係だけでなく、リポジトリからパッケージをダウンロードします。きれいで、こんな感じです(括弧を除いた、実際のパッケージ名)。
sudo apt-get install [packagename]例えば、Gitをインストールする場合は、次のように実行します。
sudo apt-get install git簡単ですが、必ず入れてください。
sudoGitなどはスーパーユーザー権限が必要なので、ソースコードからインストールすることも可能です。
Windows上のBashは、グラフィカルなLinuxアプリケーションをサポートしていませんし、少なくとも公式にはサポートされていません。しかし、コミュニティのメンバーは、LinuxのWindowsサブシステムを使用する方法を見つけました。ある目的のために作られたものではないからといって**、その目的のために使うことができないわけではありません。
例として、Windows用のBashをインストールすると、完全なUbuntuのユーザー空間イメージがインストールされます。基本的に、従来のUbuntuのインストールから、グラフィカル・ユーザー・インターフェース(GUI)を通じて、すべての機能(すべてのバイナリ)を入手することができます。
そのため、Ubuntuの完全なユーザー空間を含めることで、Windows上でグラフィカルなLinuxアプリケーションを実行することが可能になります。この解決策では、Xサーバーをインストールし、apt getでアプリケーションをインストールし、ディスプレイ環境変数を設定し、最後にアプリケーションを起動させる必要があります。特に難しいことではありませんが、グラフィカルアプリケーションを実行するたびにディスプレイ環境変数を設定しなければならないため、面倒な作業となります。
また、未対応の機能であるため、機能は様々な要素に依存します。Linuxネイティブのユーザーなら誰でも知っているように、アプリケーションのインストールには依存関係や調整が必要なことが多いので、これらを実行するためにJerryがWindows上のBashを操作していることは想像に難くありません。
Linuxのグラフィカルなアプリケーションを動かしたい?Cygwinを使うか、Windows上のVMでLinuxディストリビューションを走らせるか、デュアルブートしたほうがいい。繰り返しになりますが、Windows上でのLinuxのグラフィカルなアプリケーションは非常に新しいものです。
Bash for Windowsをインストールすると、Ubuntuの完全なユーザー空間が作成されます。これらのファイルには、Windowsのファイルエクスプローラーを使って簡単にアクセスできます。そのためには、まず「ファイルエクスプローラーの表示オプション」で「隠しファイル、隠しフォルダ、隠しドライブを表示する」を有効にする必要があります。Windowsの各ユーザーアカウントには、それぞれUbuntuのユーザースペースがあり、以下のフォルダーに移動することで見つけることができます。
C:\Users\USERNAME\AppData\Local\Lxssootfsメインアカウントのフォルダは、以下の場所にあります。
C:\Users\USERNAME\AppData\Local\Lxss\home\USERNAMEルートフォルダは
C:\Users\USERNAME\AppData\Local\LxssootBashでWindowsのシステムファイルにアクセスするのは少し違います。Bashのデフォルトは、Windowsのファイルシステムに作成されたUbuntuのルートディレクトリです。ただし、Windowsのシステムドライブをインストールすることは可能です。そこで、C:ドライブをインストールするために、以下のコマンドを使用します。
/mnt/CD:ドライブの場合は、このようになります。
/mnt/Dコマンドラインを使っているので、このようなコマンドを組み合わせると
cd(ディレクトリを変更する)。パーミッションの仕組みは少し変わっています。管理者フォルダにアクセスするために、Bash on Windowsプログラムは「管理者として実行」権限が必要です。
Bash for Windowsを使う超実用的な理由が欲しい?サーバー管理は素晴らしいアイデアです。サーバーを作るのは簡単ですが、それがヘッドレスであるならば、それを管理する方法が必要です。PuTTYをはじめ、多くのアプリケーションがありますが、コマンドラインはシンプルな解決策を提供してくれます。サーバーにsshを接続するだけで、ターミナルから管理することができます。Bashを使ってWindows上でリモートスクリプトを実行するのは非常に効果的であり、これは非常に便利なアプリケーションです。
Bash for Windowsをインストールした後、アンインストールするのはとても簡単です。この方法は主に2つあり、1つはUbuntu環境を削除し、ホームフォルダはそのまま残す方法です。そのためには、コマンドプロンプトまたはPowerShellから次のコマンドを実行します。
lxrun /uninstallアンインストールの結果、"Ubuntu環境だけでなく、変更したアプリケーションや新しいアプリケーションも削除されます。"という警告が表示されます。
分解を続ける場合は、yを入力します。
また、LinuxのWindowsサブシステムを終了させることで、Ubuntu環境とホームフォルダ:を削除する方法もあります。
lxrun /uninstall /fullお知らせ 警告
"これは、Windows上のUbuntuをアンインストールします。これは、Ubuntu環境だけでなく、修正、新しいアプリケーション、およびユーザーデータも削除します。"
ソフトウェアの削除を許可する場合は、yを入力します。
Bash-on-Windowsは、Windowsのブログ、Ubuntuのコミュニティサイト、そしてみんなが大好きなRedditから優れたリソースを得て、大きな可能性を持っています。r/bashonubuntuonwindows スレッドでは、visualstudio コードの実行、Samba ファイルサーバー、WSL での開発などについて会話しています。グラフィカルなアプリケーションを走らせることで、その可能性はほぼ無限であることを証明しています。
現在、WindowsでBashを使う目的は何でしょうか?WindowsでBashを動かしていますか?下記のコメント欄にてお知らせください。