Moving Your JavaScript Development To Bash On Windows

著者について

Burke Hollandは、世界で最も素晴らしい都市、テネシー州ナッシュビルに住むフロントエンド開発者である。 彼はJavaScriptをとても楽しんでいます。なぜなら、それは彼が…More aboutBurke↬

  • 24 min read
  • JavaScript
  • Saved for offline reading
  • Twitterでシェアする。 LinkedIn
Bashターミナルが好きだけどPCも好きですか? 新しい Surface ハードウェアに目をつけていたけれど、ターミナルなしでは乗り換えられないという方もいらっしゃるでしょう。 今なら Windows と Bash の両方を手に入れることができます。 この記事では、JavaScript 開発のために Windows/Linux 開発ボックスをセットアップする方法を詳しく見ていきます。

私は Bash ターミナルなしでは生きていけない人間の1人です。 この唯一の事実が、Windows でフロントエンドの仕事をすることを困難にしています。 私は Microsoft で働いていますが、Mac を使っています。 数年前、新しいハードウェアラインであるSurfaceが登場するまで、私は気づきませんでした。

そこで私は、1台手に入れました。 正確には、Windows 10 を実行する Surface Book 2 です。 今、その上でこの記事の下書きをしています。 そして、私のかわいい、かわいい Bash プロンプトはどうなりましたか? この記事では、Windows 10 の新しいテクノロジーにより、Windows 上で完全な Linux ターミナルを実行する方法について詳しく見ていきます。 また、私の素晴らしいターミナル設定 (「私」によって「史上最高」と名付けられた) と、あなた自身の Windows/Linux 開発マシンを設定する方法も紹介します。

もしあなたが Surface ハードウェアを渇望していて、Linux ターミナルなしでは生きていけないなら、正しい場所に来たと言えます。

注意: この記事の執筆時点では、Windows を含むさまざまなアイテムの「プレビュー」または「インサイダー」ビルドを使用するか、それに切り替える必要があるものが多くあります。

Windows Subsystem For Linux (WSL)

Windows Subsystem for Linux、つまり「WSL」は、Windows 上で Linux を実行できるようにするものです。 しかし、このマッド サイエンスは一体何なのでしょうか。

現在の WSL は、Linux システム コールを Windows システム コールに変換する翻訳レイヤーです。 Linux は WSL の上で実行されます。 つまり、Windows で Linux を使用するためには、次の 3 つのことを行う必要があります。

  1. Enable the WSL,
  2. Install Linux,
  3. Always include three items in a list.

結果として、その翻訳層は少し遅い側であることがわかっています – まるで spliceslice か必要性を覚えようとしているかのようなもの。 これは、WSL がファイルシステムを読み書きしているときに特に当てはまります。 適切な npm install があれば、何千ものファイルがあなたのマシンにコピーされるので、これはウェブ開発者にとって大きな問題のようなものです。 つまり、あなたのことは知りませんが、私は自分の文字列を左詰めするつもりはありません。

WSL のバージョン 2 は別の話です。 翻訳レイヤーを使用する代わりに Windows の仮想化コアを活用するため、現在のバージョンよりもかなり高速になります。 私が「かなり速い」と言ったのは、「ずっと、ずっと速い」という意味です。 私が「splice vs slice」とググるのと同じくらいの速さです。

そのため、WSL 2 をインストールする方法を紹介します。 執筆時点では、Windows の「Insider」ビルドであることが必要になりそうです。

まず最初に、この短いガイドに従って Windows 10 で WSL を有効にして、Windows バージョン番号を確認します。

インストールしたら、Windows キーを押して「Windows insider」と入力します。

(Large preview)

どの「リング」にするかについては、いくつかの選択肢があります。 私の知り合いは、速いリングに乗っている人が多いですね。 私は慎重派ですけどね。 子供の頃、遊園地の滑り台を腹ばいで横につかまりながら降りたことがあるんだ。 だから、ゆっくりしたリングの上にいるんだ。 WSL 2 が欲しいけれど、滑り台で死にたくなければ、良い選択肢だと思います。

(Large preview)

Note: この記事を公開した後に、WSL 2 は実際にはスロー リング上にないことが判明しました。 高速リングでないと手に入りません。 この記事を書く過程で、私はいつの間にかファストリングにいたのでしょう。 だから高速リングなんだ。 スライドで頑張ってください!

次に、WSLバージョン2で必要なWindowsの「仮想マシンプラットフォーム」機能を有効にする必要があります。 この画面を表示するには、Windowsキーを押しながら「windows features」と入力します。 次に、「Windowsの機能のオンとオフを切り替える」を選択します。 仮想マシンプラットフォーム」を選択します。 Windows Subsystem for Linux」オプションはすでに有効になっているはずです。

(Large preview)

WSL が有効になったので、Linux をインストールできます。 これは、皮肉なことに、Windows ストアから直接行うのです。 2019 年になって初めて、「Windows ストアから Linux をインストールする」ことをお勧めします。

選択できるディストリビューションはいくつかありますが、Ubuntu が、この後設定する VS Code を含むすべてのツールで最もサポートされていると思われます。 ここから先の説明はすべて、Ubuntu をインストールすることを前提としています。 別のディストロをインストールすると、すべてが台無しになります。

Windowsストアで「Ubuntu」を検索します。 Ubuntu、Ubuntu 18.04、Ubuntu 16.04の3つから選択することになります。 Ubuntu は本当にその 04 というマイナー バージョン番号が好きですね。

(大きなプレビュー)

「Ubuntu」ディストロ(このスクリーンショットでは最初のもの)は「メタ バージョン」、つまり最新バージョンを指すだけのプレースホルダーです。 この後、Windows エクスプローラーで Linux ファイル システムをブラウズする方法を紹介しますが、ドライブ名として「Ubuntu 18.04」があるのは、「Ubuntu」だけと比べると、ちょっと面倒なので、メタ バージョンにしました。 わずか 215 メガバイトですが、私はこちらでギガビット接続を使用していますし、誰かがギガビット接続を使用しているかどうかはどうやって知ることができますか?

インストールすると、スタートメニューに「Ubuntu」アプリが表示されます。

(Large preview)

これをクリックすると、Bash のターミナルが表示されます!

Ubuntu のインストールが完了しました。

(Large preview)

技術の奇跡にしばし浸ってください。

「Windows」キーを押し、「Powershell」と入力します。

(大きなプレビュー)

PowerShellターミナルから、wsl --list --verboseを実行すると、どのバージョンのWSLがあるかが確認できます。

(Large preview)

バージョン 1 を表示している場合は、--set-version コマンドを実行してインスタンスの名前 (Ubuntu) と希望のバージョン (2) を指定します。

wsl --set-version Ubuntu 2
(Large preview)

これは、マシンにどれだけ肉がついているかによって少し時間がかかりそうですね。 私のは「何分も」かかりました。 これが終わると、あなたは WSL の最新かつ最高のバージョンになります。

The Is Your Brain On Linux… On Windows.

Linux は Windows ではありません。 WSL は Windows オペレーティングシステムの上にある bash プロンプトではありません。 独自のフォルダ構造とインストールされたアプリケーションを持つ、それ自体が完全なオペレーティング システムなのです。 WindowsインストーラでNodeをインストールした場合、Linuxでnodeをタイプすると失敗します。 しかし、WSL の真のマジックは、Windows と Linux をシームレスに接続し、それらがマシン上で 1 つのファイル システムとして表示される方法にあります。

File And Folder Navigation

デフォルトでは、Ubuntu のターミナルは Linux ホーム ディレクトリ(または /home/your-user-name)に移動します。 /mnt/c.

(Large preview)

ここで、いくつかのパーミッションが拒否されることに注意してください。 これらのファイルにアクセスするには、Ubuntuのアイコンを右クリックして、「管理者として実行」をクリックする必要がありますね。 これは、Windowsが昇格したパーミッションを行う方法です。 Windows には sudo はありません。

Launching Applications

Ubuntu のターミナルから任意の Windows アプリケーションを起動することができます。 たとえば、UnbuntuのターミナルからWindowsエクスプローラを開くことができます。

(Large preview)

これは逆にも作用します。 Linux側にインストールされている任意のアプリケーションを実行することができます。 ここでは、Linuxにインストールされている「fortune」をWindowsのコマンドラインから実行しています。 (ランダムで無意味なおみくじがなければ、適切な Linux インストールとは言えませんから。)

(Large preview)

2 つの異なるオペレーティング システムです。 2つの異なるファイルシステム。 2つの異なるインストールされたアプリケーションのセット。

すべてを整理するために、すべての JavaScript 開発ファイルおよびツールは Linux 側にインストールしておくことをお勧めします。 とはいえ、Windows と Linux の間を移動し、両方のシステムからファイルにアクセスする能力は、WSL の中核となる魔法です。 これを忘れてはいけません。なぜなら、このセットアップ全体が、標準的な Linux ボックスよりも優れているからです。

Setting Up Your Development Environment

ここから先は、私が考えるキラー Linux on Windows セットアップに関する意見的項目のリストを提供するつもりです。 ただ、覚えておいていただきたいのは、私の意見はあくまでも「意見」だということです。 意見です。 たまたま、すべての私の意見と同様に、それらは 100% 正しいのです。

Getting A Better Terminal

そうです、Ubuntu をインストールしたときに、ターミナルを手に入れましたね。 これは、実際には、Linux ディストリビューションに接続された Windows コンソールです。 これは悪いコンソールではありません。 サイズを変更したり、(設定で) コピー/ペーストを有効にしたりできます。 しかし、タブや新しいウィンドウを開くようなことはできません。 多くの人がMacで代替のターミナルプログラムを使っているように(私はHyperを使っています)、Windowsにも他のオプションがあります。 Github の Awesome WSL リストには、かなり網羅的なリストがあります。

これらはすべて素晴らしいエミュレーターですが、Windows をよく知る人々によって作られた新しいオプションがあります。 かなり長い間使っていますが、十分な機能があり、安定しているので、全面的に支持します。

新しい Windows Terminal は、完全なタブ インターフェイス、コピー/貼り付け、複数のプロファイル、透明な背景、背景画像、さらに透明な背景画像も備えています。 ターミナルをカスタマイズするのが好きな人は運動会で、私はこの袋小路レースに勝つためにやってきました。

これが私の現在のターミナルです。 ここで、重要な調整をいくつか紹介します。

(大きなプレビュー)

Windows ターミナルはかなりカスタマイズが可能です。 左上の「⌄」矢印 (「+ 」記号の隣) をクリックすると、「設定」にアクセスできます。

Bind Copy/Paste

ファイルの先頭には、すべてのキー バインドがあります。 最初に行ったことは、「コピー」を Ctrl + C に、「貼り付け」を Ctrl + V にマッピングすることでした。 Windows 用の多くのターミナルでは、コピー/貼り付けをそれぞれ Ctrl + Shift + C および Ctrl + Shift + V にマップすることでこれを処理しています。 問題は、Windowsではコピー/ペーストがCtrl + C / Ctrl + Vになっていることです。 ターミナルでCtrl + Cを何度も何度も押してコピーしていました。

Windows ターミナルでは、これは異なる方法で処理されます。 テキストが強調表示されているときに Ctrl + C を押すと、テキストがコピーされます。 もし実行中のプロセスがあれば、やはりSIGINTコマンドを下して割り込みます。 つまり、Windows ターミナルで Ctrl + C / Ctrl + V をコピー/貼り付けに安全にマッピングでき、プロセスを中断する能力を妨げないということです。 デフォルトでは、それは Powershell です。 下にスクロールして、Linux のプロファイルを探します。 これはwsl.exe -d Ubuntuを開くものです。 その GUID をコピーして defaultProfile 設定に貼り付けます。

この 2 つの設定を移動して、見やすくするために互いに隣接させました:

(Large preview)

Set The Background

私は背景は暗い単色にして右隅に平たい感じのロゴを表示させるようにしました。 これは、ロゴが明るく目につき、かつ、テキストの邪魔にならないようにしたいからです。 これは自作ですが、Simple Desktops には素晴らしいフラット画像のコレクションがあります。

背景は backgroundImage プロパティで設定します:

"backgroundImage": "c:/Users/YourUserName/Pictures/earth.png"
(大きいプレビュー)

また、「アクリル」という設定があることに気づかれると思います。 これは、背景の不透明度を調整できるようにするものです。 背景色がベタ塗りであれば、これはとても簡単です。

"background": "#336699","useAcrylic": true,"acrylicOpacity": 0.5
(大きなプレビュー)

背景画像でも、arcylicOpacity設定とbackgroundImageOpacityを組み合わせれば、これを実行することが可能です。

"backgroundImage": "c:/Users/username/Pictures/earth-and-stars.png","useAcrylic": true,"acrylicOpacity": 0.5
(Large preview)

私のテーマでは、透明度が高いとすべてが淡い感じになるので、useAcrylicfalseに設定しています。

フォントの変更

Windows ターミナルを構築しているチームは、「Cascadia Code」という新しいフォントにも取り組んでいます。 この記事の執筆時点では、このフォントは使用できませんので、代わりに Windows の既定のフォントが使用されます。

Windowsターミナルの既定のフォントは「Consolas」です。 これは、Windows コマンド ラインが使用するフォントと同じです。 Ubuntu の真の感触を得たい場合、Chris Hoffman は、公式の Ubuntu Mono フォントをインストールする方法を指摘しています。

"fontFace": "Ubuntu Mono"
(大きなプレビュー)

これらはかなり似ています。主な違いは、Ubuntu Mono の間隔がほんの少しタイトでクリーンになっていることです。 私はベースラインとして「Campbell」カラースキームをコピーしました。 色と名前を一致させるようにしていますが、不正をすることも怖くはありません。

(大きなプレビュー)

私が「地球」と名付けたこの特定の配色が好きなら、スクリーンショットからこの混乱をすべて手動でコピーする必要がないように、この gist をまとめました。

注意: カラー プレビューは、VS Code の “Color Highlight” 拡張機能によって実現されます。

Change The Default Starting Directory

デフォルトでは、WSL Profile は Windows 側であなたのホーム ディレクトリにドロップされます。 この記事で推奨しているセットアップに基づくと、代わりに Linux home フォルダにドロップされることが望ましいでしょう。 これを行うには、「Ubuntu」プロファイルのstartingDirectory設定を変更します:

"startingDirectory": "\\wsl$\Ubuntu\home\burkeholland"

そこにあるパスに注意してください。 このパス (余分なエスケープ スラッシュを除く) を使用して、Windows コマンド ラインから WSL にアクセスできます。

(Large preview)

Zsh/Oh-My-Zsh

Zsh および Oh-My-Zsh を使ったことがなければ、本当に楽しいことでしょう。 Zsh (または “Z Shell”) は Linux 用の代替シェルです。 暗黙のディレクトリ切り替え (cd と入力する必要はありません)、より良いテーマのサポート、より良いプロンプトなど、Bash の基本機能を拡張しています。

Zshをインストールするには、aptパッケージマネージャで入手してください。 Oh-my-zsh は zsh 用の設定セットで、プラグイン、テーマ、および無数のキーボードショートカットによりシェル体験をさらに向上させます。 肯定的に答えれば、Zsh と Oh-My-Zsh を使い始めることができます。

(Large preview)

プロンプトがかなりきれいになったことに気がつくでしょう。

これを nano で開くと、VIM のようなものですが、いろいろ編集して必要なときに終了できます。

nano ~/.zshrc

テーマを設定している行を変更します。 その上にテーマの全リストが載っているURLがあります。 雲」のがいいと思います。 そしてかわいい。

(Large preview)

.zshrcの変更を拾ってもらうには、ソースが必要です:

source ~/.zshrc
(Large preview)

注意事項です。 グリフを必要とする “agnoster” のようなテーマを選択した場合、グリフを持つ Ubuntu Mono の電力線注入バージョンが必要になります…。 さもなければ、あなたのターミナルは、キーボードに顔をぶつけたような奇妙な文字でいっぱいになってしまいます。 Nerd Fonts は、かなりうまく機能するものを提供しています。

これで、ディレクトリ名を入力するだけでディレクトリを変更するようなことができるようになりました。 cd は必要ありません。 ディレクトリをさかのぼりたいですか? ..を実行するだけです。 ディレクトリ名全体を入力する必要はなく、最初の数文字を入力してタブを押すだけです。 Zsh は検索に一致するすべてのファイル/ディレクトリのリストを表示し、それらをタブで移動できます。

(Large preview)

Installing Node

Web 開発者として、あなたはおそらく Node をインストールしたいと思うことでしょう。 Web 開発を行うために Node をインストールする必要はないと思いますが、2019 年には確かにそのように感じます!

最初の直感は apt で node をインストールすることかもしれませんが、これは可能です、しかし、次の 2 つの理由により、それを後悔することになります:

  1. apt 上の Node のバージョンがひどく古い;
  2. Node をバージョン管理ツールを使ってインストールし、権限の問題に直面しないようにすべきです。

これらの問題の両方を解決する最良の方法は、nvm (Node Version Manager) をインストールすることです。 zsh をインストールしたので、zshrc ファイルに nvm プラグインを追加するだけで、あとは zsh が処理してくれます。

まず、zsh-nvm レポでクローンしてプラグインをインストールします。 (心配しないでください、Ubuntu インストールには Git が標準装備されています。)

git clone https://github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm

それから、~/.zshrc ファイルにプラグインとして追加します。

`nano ~/.zshrc`plugins (zsh-nvm git)
(Large preview)

zshrc ファイルを source ~/.zshrc で再度ソースすると、nvm がインストールされていることがわかります。

(Large preview)

これで nvm で node をインストールできるようになりました。 これは、複数のバージョンの node を並べてインストールし、 それらを楽に切り替えることを容易にします。 また、グローバルな npm インストールを行う際のパーミッションのエラーもありません!

nvm install --lts

このプラグインは、nvm を簡単にアップグレードする能力を与えてくれるので、標準の nvm インストールよりもこれをお勧めします。 これは、標準の “curl” インストールではちょっと面倒です。

nvm upgrade

Utilize Auto Suggestions

私のお気に入りの zsh のプラグインのひとつに zsh-autosuggestions があります。 このプラグインは、ターミナルで以前に入力した内容を記憶し、再び入力し始めるとそれを認識し、必要な行を “自動提案” してくれます。 このプラグインは私が覚えている以上に重宝しています。特に、過去に使ったことがあるのに思い出せないような長いCLIコマンドを入力するときに便利です。

レポを zsh extensions フォルダにクローンします:

git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

それから zsh plugins に追加して zshrc ファイルをソースします:

nano ~/.zshrc# In the .zshrc fileplugins(zsh-nvm zsh-autosuggestions git)source ~/.zshrc

プラグインはあなたの zsh の歴史を読むので、前に入力したコマンドを入力し始めてマジックを見てみてください。 上の長い clone コマンドの最初の部分を入力してみてください。

(Large preview)

もし、↹を押すと、コマンドは自動で補完されます。 ↹を押し続けると、一致する可能性のある履歴のコマンドを循環します。

重要なキーボード ショートカット

私がいつも使用するターミナルのショートカットがいくつかあります。 これは、VS Code を含む、私のすべてのツールで見つかります。 すべてのショートカットを覚えようとするのは時間の無駄です。

ここでは、私が定期的に使用するものをいくつか紹介します。

Ctrl + L これはターミナルをクリアしてトップに戻すものです。 Ctrl + U 現在の行だけを消去します。 Ctrl + A コマンドラインの先頭にカーソルを移動させます。 Ctrl + E 行末に移動します。 Ctrl + K カーソル以降の文字を削除します。

以上です(`・ω・´)。

Configuring Git(Hub/Lab/Whatvs)

Git は Ubuntu に入っているので、インストールは必要ありません。 Github の説明では、ssh 鍵をコピーするために “copy” ユーティリティを使用するように指示されていることに留意してください。 Ubuntu には “xcopy” コマンドがありますが、Linux と Windows の間にはクリップボードという点での相互運用性がないため、ここでは使えません。

代わりに、Windows Clipboard 実行ファイルを使用して、ターミナルから直接呼び出せばよいのです。 cat で最初にテキストを取得し、それを Windows のクリップボードにパイプする必要があります。

cat ~/.ssh/id_rsa.pub | clip.exe 

Github docs には、ssh-agent が実行されていることを確認するように書かれています。 そうではありません。 エージェントにキーを追加しようとすると、このように表示されます:

(Large preview)

エージェントは起動できますが、次に Windows を再起動するか WSL が停止すると、再び起動する必要があります。 これは、WSLに初期化システムがないためです。 WSLが起動したときに、すべてのサービスを開始するsystemdや他のプロセスは存在しません。 WSL はまだプレビュー中で、チームはこれに対する解決策に取り組んでいます。

一方、信じられないかもしれませんが、これに対する zsh プラグインもあります。 これは ssh-agent と呼ばれ、oh-my-zsh と一緒にインストールされるので、.zshrc ファイルで参照するだけです。

zsh-nvm zsh-autosuggestions ssh-agent git

これは、WSL を最初に起動したときに ssh-agent が起動していなければ、自動的に起動するものです。 欠点は、WSLを新しく起動するたびにパスフレーズを要求されることです。 つまり、基本的にコンピュータを再起動するときはいつでもです。

(Large preview)

VS Code と WSL

WSL には GUI がないので、VS Code などの視覚ツールをインストールできないのです。 それは Windows 側にインストールする必要があります。 これは、Windows 側で実行されているプログラムが Linux 側でファイルにアクセスするため、あらゆる種類の癖や「許可されない」問題を引き起こす可能性があるという問題を提示します。 一般的な経験則として、Microsoft は、Windows プログラムで WSL 側のファイルを変更しないよう推奨しています。

これを解決するために、VS Code には “Remote WSL” という拡張機能があります。 この拡張機能は Microsoft 製で、WSL 内で、VS Code の内部から開発することができます。

この拡張機能をインストールしたら、コマンド パレット (Ctrl + Shift + P) を開いて「リモート WSL: 新規ウィンドウ」を選択すれば、Ubuntu 側へ VS Code を直接アタッチすることができます。

(Large preview)

これで VS Code の新しいインスタンスが開き、あたかも完全に Linux 側で作業しているかのようにすることができるようになります。 ファイル/開く」を実行すると、Windows のファイル システムではなく Ubuntu のファイル システムを参照します。

(Large preview)

VS Code の統合ターミナルでは、美しくカスタマイズした zsh セットアップが開きます。

ターミナルから code . でコードを開くと、VS Code はそれが WSL から開かれたことを自動的に検出し、リモート WSL 拡張を自動でアタッチします。 その場合、WSL からプロジェクトを開いたときに、VS Code にインストールした拡張機能は自動的に表示されません。

たとえば、私は VS Code で Vue プロジェクトを開いています。 構文強調表示や書式設定などのために正しい Vue 拡張機能をすべてインストールしたにもかかわらず、VS Code は .vue ファイルを見たことがないように動作します。

(Large preview)

インストールしたすべての拡張機能は WSL で有効にすることができます。 WSL で必要な拡張機能を見つけ、[WSL にインストール] ボタンをクリックするだけです。

(大きなプレビュー)

WSL にインストールしたすべての拡張機能は、拡張機能 Explorer ビューに独自のセクションで表示されます。 多くの拡張機能がある場合、それぞれを個別にインストールするのは少し煩わしいかもしれません。 WSLにインストールされているすべての拡張機能をインストールしたい場合は、’Local – Installed’セクションの上部にある小さなクラウドダウンロードアイコンをクリックします。

(大きなプレビュー)

How To Setup Your Dev Directories

これはすでに意見のある記事なので、ファイル システム上でプロジェクトをどのように構成すべきかについて私が考える、求められていない記事を紹介しましょう。 私のプロジェクトを “マイ ドキュメント” に置き、WSL からそれらを使って作業しようとはしません。

私は /dev というフォルダを作成し、Linux の /home フォルダのルートに配置します。 そのフォルダの中に、私の Github リポと同じ名前のものをもう一つ作成します。 /burkeholland. そのフォルダーには、Github にプッシュされていないものも含め、すべてのプロジェクトが入ります。

別の Github アカウント (たとえば “microsoft”) からレポをクローンする場合、私は “dev” に /microsoft という新しいフォルダーを作成します。 そして、その中のフォルダーにレポをクローンします。

基本的に、私は自分のローカル マシン上のソース管理と同じ構造を模倣しています。 プロジェクトがどこにあり、どのリポジトリに属しているかは、その場所によってはるかに簡単に推論できます。 シンプルですが、すべてを整理しておくのに非常に効果的です。

(大きなプレビュー)

Windows エクスプローラからファイルを参照する

Linux で Windows 側からファイルを参照することが必要な場合があります。 WSL の素晴らしいところは、まだそれができることです。

1つの方法は、WSL にマップされたドライブと同じようにアクセスすることです。 エクスプローラー バーから直接 \wsl$ でアクセスします:

\wsl$
(Large preview)

多くの異なる理由でこれを行う場合があります。 たとえば、ちょうど今日、私は Web ストアにない Chrome 拡張機能が必要でした。 そこで、WSL でレポをクローンし、「Unpacked Extension」としてナビゲートして Edge にロードしました。

Linuxで頻繁に行うことの1つに、ターミナルからファイルを含むディレクトリを直接開くことがあります。 WSL でも、explorer.exe を直接呼び出すことで、これを行うことができます。 例えば、このコマンドは Windows Explorer でカレントディレクトリを開きます。

$ explorer.exe .

このコマンドはちょっと面倒ですけどね。 Linuxでは、open .だけです。 ~/.zshrc.

alias open="explorer.exe"

Docker

すべてのツールは Linux 側にあるべきと言ったのは、そういう意味です。 これには Docker も含まれます。

ここが本当に道路と接触し始めるところです。 ここで必要なのは、Windows の内部で動作する Linux の内部で動作する Docker です。 ブログの記事で書くと、ちょっとしたロシアの入れ子人形ですね。

Windows 用の Docker の正しいバージョンが必要です。 この記事を書いている時点では、WSL 2 Tech Preview です。

インストーラーを実行すると、Linux コンテナーではなく Windows コンテナーを使用するかどうか尋ねられます。 あなたは間違いなくそうします。 そうでなければ、WSL で Docker を実行するオプションは得られません。

(Large preview)

システム トレイのアイテムをクリックして、「WSL 2 Tech Preview」を選択すると、WSL で Docker を有効にできます。

(Large preview)

サービスを開始すると、期待どおりに WSL で Docker が使用できるようになりました。 WSL で Docker を実行すると、パフォーマンスが大幅に向上し、コンテナのコールドスタート時間も延長されます。

VS Code 用 Docker 拡張機能もインストールすることをお勧めします。 Docker のセットアップに視覚的なインターフェイスを追加し、コマンドライン フラグやオプションをすべて覚える必要がないため、Docker での作業が容易になります。

Get More Bash On Windows

この時点で、Windows に Bash を入れる方法と、入れた後の動作について理解しているはずです。 ターミナルを無限にカスタマイズでき、PATH 変数の自動設定、エイリアスの作成、ターミナルでの ASCII カウの取得など、さまざまなことを行うために追加可能なあらゆる種類のすばらしいプログラムがあります。 私は、生産性の面で大好きな Windows と、開発者として依存している Linux を組み合わせることができます。 そして何より、1 台のマシンで両方のプラットフォーム用のアプリケーションを構築できるようになったのです。

Further Reading

Bash on Windows の詳細については、こちらを参照してください。

  • “Windows Subsystem For Linux Installation Guide For Windows 10”, Microsoft Docs
  • “How To Install And Use The Bash Shell On Windows 10,” Chris Hoffman, How-To Geek
  • “Sharing SSH With WSL,” Drew Wilson
  • “Getting Crazy With The Window Subsystem For Linux.”、”Winodows Subsystem For Linux のインストールと使用方法”, Microsoft Docs
  • “Windows 10 のインストールと使用方法”, Microsoft Docs。「Brian Ketelsen

  • “Everything You Can Do With Windows 10’s New Bash Shell,” Chris Hoffman, How-To Geek

Special thanks to Brian Ketelsen, Matt Hernandez, Rich Turner, and Craig Loewen with their patience, help and guidance in this article.

(RB, DM, IL)

コメントを残す

メールアドレスが公開されることはありません。