VM なしで Windows 10 で Linux を実行できる Linux 用 Windows サブシステムについて、何度か投稿しました。 Windows 10 上の Linux 用 Windows サブシステムでのコードとファイルの編集に関する私の YouTube をご覧ください。ルールは 1 つだけです。 Linux から Windows ファイルをいじることはできますが、Windows から Linux ファイルをいじることはできません。それ以外の場合は、夢中になって楽しんでください。以下は、チェックすべき私の以前の投稿の一部です:
- (Windows) デスクトップ上の Linux の年 - WSL のヒントとコツ
- Windows 10 上の Linux 内に Shiny 開発環境をセットアップする
- Windows 10 の Ubuntu に Fish Shell をインストールする
- 「Linux 用 Windows サブシステム」を使用して、Visual Studio から Linux C++ アプリケーションを作成およびデバッグする
- Ubuntu が Windows ストアに登場:Windows 10 上の Linux の更新と重要なヒント
ディスクへのアクセスはネイティブの Linux よりも遅いですが、WSL は非常に優れており、毎日使用しています。 Windows 10 マシンで Linux をセットアップする場合は、Linux をオンにしてから、Windows ストアに移動して「Linux」を検索してください。
Windows 10 で Linux をオンにするには、「Windows の機能」と入力し、「Linux 用 Windows サブシステム」をオンにします。次に、Windows ストアから Linux を入手してください。
PowerShell を使用して 1 行で実行する場合は、管理者 PowerShell プロンプトからこれを実行してください:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
次に、ストアからこれらのいずれか (または複数!) を入手してください:
- Ubuntu
- OpenSUSE
- SLES
- カリ Linux
- Debian GNU/Linux
PowerShell や CMD などの Windows シェルを使用している場合、Linux を実行したり、シェル間を快適に移動したりしたい場合があります。いくつかの方法でそれを行うことができます。デフォルトのディストリビューションが起動するため、「wsl.exe」を実行することをお勧めします。ディストリビューションの名前を入力することもできます。そのため、「ubuntu」と入力して、そこに直接アクセスできます。
<ブロック引用>「bash」と入力できますが、シェルを変更した場合はお勧めできません。 zsh または fish をセットアップして bash と入力すると、引き続き bash を実行しようとします。
ここで wslconfig と入力すると、Ubuntu と Debian の両方がインストールされていることがわかります。「wsl」と入力すると、Ubuntu がデフォルトになります。
C:\Users\scott>wslconfig /list
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)
Debian
どこからでも wsl を実行する方法がわかったので、外部から Linux にパイプを送り込むことさえできます。 たとえば、ここでは cmd.exe を使用していますが、Linux でコマンドを呼び出しています。コマンドが出てきて、戻ってくるなどです。好きなように組み合わせることができます!
C:\dev>type hello.sh
echo Hello
C:\dev>wsl cat /mnt/c/dev/hello.sh | wsl fromdos | wsl /bin/sh
Hello
これは、CMD や PowerShell を使用している場合でも、便利で使い慣れた Linux コマンドを使用できることを意味します。たとえば、ここでは、Windows Update のログ ファイルを Linux コマンドの sha1sum コマンドにパイプしています。 Windows からの入力であっても、標準入力を受け入れるために - を使用することに注意してください!
C:\Users\scott\Desktop>type WindowsUpdate.log | wsl sha1sum -
3b48adce8f6c9cb816e8845d824dacc0440ca1b8 -
甘い。 WSL のインストールをよりスマートにし、自動的に構成したい場合は、優れた高度なテクニックがいくつかあります。 /etc/wsl.conf にファイルを作成して、DNS、メタデータ、およびドライブのマウントに影響を与えることができます。
WSL シェルを使用している場合、Windows ドライブ (メイン ドライブ) は /mnt/c にあります。 WSL から見た Windows デスクトップは次のとおりです。
たとえば、私はほとんどの開発作業を /mnt/d/github で行っています。そうすれば、Windows から VS Code を使用しながら、WSL から Node/Ruby/Go/Whatever を実行できます。
<ブロック引用>ファイルを Windows ドライブに保存し、VS Code で編集しますが、WSL で実行します。繰り返しますが、Windows ユーティリティを使用して、WSL/Linux サブシステム上のファイルにアクセスしたり、ファイルを編集したりしないでください。また、CR/LF の状況を常に意識し、Windows と WSL の両方で git を実行する場合は、十分に意識してください。
上が VS Code、下が WSL/Ubuntu 実行ノード、右下が Edge on Windows で実行されているローカル ノード アプリです。ファイル システムとネットワーク ポート空間を共有しています:
WSLENV と呼ばれる特別な環境変数を使用して、WSL と Windows の間で環境変数を共有することもできます。これはかなり高度ですが、非常に強力です。これを注意深く読んでください。 環境間で変換したい他の変数の名前のリストである環境変数を作成します .
つまり、このようなことができます。私は WSL にいて、ファイルシステム上の場所を指す環境変数を持っています。両方の世界で正しい必要があります。
scott@IRONHEART:/mnt/d$ export MYLINUXPATH=/mnt/d/github/expresstest
scott@IRONHEART:/mnt/d$ export WSLENV=MYLINUXPATH/p
scott@IRONHEART:/mnt/d$ cmd.exe
D:\>echo %MYLINUXPATH%
D:\github\expresstest
それを注意深く読んでください。これは素晴らしく、非常に構成可能です。
WSL には多くのユーザーがおり、その多くが Hayden による Awesome-WSL のような優れたリソースのリストを作成しています。
また、WSL は選択できるコンソールの 1 つにすぎないことも指摘しておく価値があります。 PowerShell、CMD.exe、および半ダースの Linux があります。必要に応じて、会社用に独自のカスタム Linux ディストリビューションを作成することもできます。また、conhost.exe の上にある/置き換えるサード パーティのコンソールが世界中にあるので、タブ付きのコンソール、クールなフォント、Web テクノロジに基づくものなどを使用できます。必要に応じて、Visual Studio Code のデフォルト シェルとして WSL/bash を選択することもできます。Ctrl+~ を使用します。
これが Linux on Windows を使い始めるきっかけになることを願っています。私は何を取りこぼしたか?コメントで聞いてください。
スポンサー :アセンブリ エクスプローラー、Git サブモジュール、SQL 言語インジェクション、統合されたパフォーマンス プロファイラー、およびより高度な Unity サポートを備えた最新の JetBrains Rider をプレビューします。