「WSL」カテゴリーアーカイブ

Windows 10 Fall Creators UpdateでのWindows Consoleについて

情報源: What’s new in Windows Console in Windows 10 Fall Creators Update – Windows Command Line Tools For Developers

Windows 10 Fall Creators Update(RS3)の一般提供が来週の17日に迫ってきたことも有り、RS3でのコンソール機能の変更についてまとめられています。

以下は私のメモ程度の簡約なので、正確な記載については上の情報源を参照ください。

Windowsコンソールのアクセシビリティの向上

長らくWindowsのコンソールはスクリーンリーダーに対応していませんでしたが、RS3からはWindows UI Automationインフラストラクチャ(UIA)を使用するスクリーンリーダーでコンソールの内容が読み取れるように改善されました。

これについての詳細は今後まとめられるようです。

テキストレンダリングとVTシーケンスのサポートの改良

Windows 10 Creators Update(RS2)にてVTシーケンスのサポートなどの改善が行われましたが、より表示がLinuxあるいはMacのコンソールと同じように動作するよう改善されました。

また、Windowsコンソールの今後のリリースでは、いくつかの重要な入力、テキスト、その他のVTの改善が計画されています。

新しいデフォルトカラースキーム

コンソールのカラースキームが下図の上から下に変更されました。現代の高解像度LCDパネルでわかりやすいカラースキームに変更されています。

ColorToolを使用したカスタムカラースキーム!

カスタムカラースキームの正式なサポートにはまだ時間がかかるものの、最近リリースしたOSSのColorToolを使用することでカラースキームのインポートが可能になりました。

コンソールのオーバーホール

コンソールチームはWindowsのコンソールを近代化し、より信頼性の高いものにするようオーバーホールしています。

この作業は続行されますが、主要なアーキテクチャ変更作業の終わりに近づいています。あなたにふさわしい世界最高レベルのコンソールエクスペリエンスを提供するように努めています。

Consoleの今後の計画

RS4のInsider Previewに今後数週間で新しいコンソールがが登場し、数ヶ月後の正式リリース時には改良されたコンソールがリリースされる予定です。改良点等についてはWindows ConsoleチームのブログRich TurnerのTwitterでお知らせします。

問題が見つかった場合には以下のGitHubへ登録をお願いします。

https://github.com/microsoft/console

Learn About Bash on Windows Subsystem For Linux – Windows Command Line Tools For Developers

情報源:Learn About Bash on Windows Subsystem For Linux – Windows Command Line Tools For Developers

とりあえずWSLの情報がCreators Updateリリース時の状態で止まっている人は、正式リリースとなるFall Creators Updateに備えて予習しておきましょう。

ディストリビューションはUbuntu, SUSE, Fedoraの中から選べるようになりますし、カーネルの互換性も上がっていて、パフォーマンスも改善されています。

ただし、余り欲張りな期待を持つのは禁物です。Linuxカーネルの全てのシステムコールにはまだ対応していません。WSLはLinuxサーバーの代わりにはなりませんし、しても行けません。X Windowsのアプリケーション実行も正式サポートにはなりません。

あくまでもWSLは「Windowsではこんなのも動かないの?」対策であることにFall Creators Updateでも変わりはありません。

Windows Subsystem for Linux on Windows Server

The Windows Subsystem for Linux (WSL) is available in Windows Insider builds of Windows Server. Now developers and application administrators can run tools they use in Linux environments alongside Cmd and PowerShell. If you want to jump straight in, the installation guide is available here. Why include WSL on Windows Server? We want Windows, including […]

情報源: Windows Subsystem for Linux on Windows Server – Building Apps for WindowsBuilding Apps for Windows

Windows ServerにWSLを組み込む理由

Windows Serverを含むWindowsを開発者にとって最適な場所にしたいと考えています。開発者、システム管理者、サービス管理者、サービス構築者は、Linux上で利用可能なツールを必要とすることがあります。利便性の問題として、Linuxツールをワークフローの一部として実行したいと考えている人がさらにいます。

LinuxツールをWindows Server上で使う方法には二つの方法がありました。一つはCygwinなどを使ってWindowsへ移植されたツールを使う方法ですが、しばしばこれはGemやライブラリの互換性の問題に直面し上手く行かないことが有ります。またそもそも移植されていないツールを使用することは出来ません。二つ目の方法はWindows Server上で仮想マシンを使う方法ですが、これではホストのWindowsとは切り離されすぎています。

WSL上でLinuxを動かすことで、この二つの方法での問題を改善できます。WSLは変更されていないLinux(ELF64)バイナリをネイティブに実行します。この事によりWindowsに統合された環境でほぼ全てのLinuxコマンドラインツールをインストールして実行できます。

あなたがサーバーエンジニアで、Linuxの環境、ファイルレイアウトを前提とするnode.js, Ruby, Python, Shell Script, その他のツールを実行させる必要があるなら、WSLを使用してLinuxをインストールして実行する機能により、Windows Server上で自由にツールを拡張できます。

WSLはLinuxサーバーでは無い

Windowsクライアント上のWSLと同様に、MySQL、PostgreSQL、sshdなどのデーモンやジョブを対話型シェルで実行できますが、WSLを使用して永続的なLinuxサービス、デーモン、ジョブなどをバックグラウンドタスクとして実行することはできません。

Windowsで永続的にLinuxのサーバーアプリケーションを動作させたい場合については、Build 2017の発表からHyper-V分離コンテナ上でのLinux実行について参照してください。

Windwos Server上でWSLを使用するにはどうすれば良いか?

WSLはWindows Server Insider Build 16237から追加されました。

次のインストール手順に従ってインストールすることが出来ます。

Install the Linux Subsystem on Windows Server

Windows Subsystem for LinuxからBetaが外れました

情報源: Windows Subsystem for Linux out of Beta! – Windows Command Line Tools For Developers

Windows 10 Insider Preview #16215にてWSLからBetaが外れました。

これでまた一段製品に近づいたことになります。またBetaが取れることで、フィードバックHUBを使用してフィードバックやサポートを得ることが出来るようになります。

ここで、WSLについておさらいしましょう。

WSLがサポートするもの

  • ソフトウェア開発と(基本的な)システム管理のためのコマンドラインツールの実行
  • Linux環境から同一マシンのWindowsファイルシステムへのアクセス
  • LinuxからWindowsプロセスの起動。 例:

  • WindowsコマンドラインからLinuxプロセスの起動。 例:

WSLがサポートしないもの

  • WSL上で動作するLinuxディストリビューションは、対話型のユーザーシナリオ用であり、Apache / nginx / MySQL / MongoDB / etcでの運用ワークロードの実行用ではありません。
  • LinuxファイルにはWindowsからアクセスできません(私たちはこのシナリオを時間の経過とともに改善するよう努めています)
  • 現時点では、X / GUIアプリケーション、デスクトップ、サーバーなどをサポートする現在の計画はありません

サポート

マイクロソフトとディストリビューターの役割分担

  1. マイクロソフトはWSLインフラストラクチャとツールをサポートします。
  2. ディストリビューターは自らのディストリビューションの内部構造を担当します。

期待通りに動作しない場合、WSLのGitHub issueにフィードバックを送ってください。フィードバックを送る際にはコントリビューションガイドライン新しいテンプレートに沿って記述しissueに登録してください。

WSLにSUSEが追加されました

情報源: SUSE’s Linux distros for WSL now available in the Windows Store – Windows Command Line Tools For Developers

WSLのディストリビューションにUbuntuに続き、SUSEが追加されました。しかもSUSEはOpen SUSE Leap 42とSUSE Enterprise 12両方です。

Windows Storeよりインストールします。インストールにはWindows 10 Insider Preview #16215以上が必要で、且つそれらでWindows Subsystem for Linux(WSL)をインストールしておく必要があります。

Ubuntuとの共存も可能です。残りはFedoraという事になります。

追記(2017/07/23 19:43)

openSUSE Leap 42をGUIアイコンでなく、コマンドラインより起動する場合にはコマンドラインより、「openSUSE-42」とタイプします。

また、ディストリビューション毎の起動コマンドは以下のようにFall Creator Updateより追加される「wslconfig」コマンドで確認することが出来ます。

LegacyはFall Creators Update(RS3)前までのubuntuのディストリビューションなので、「lxrun /uninstall」コマンドにて削除してしまった方が良いです。(私の環境で残してしまっていた)

また、(規程)となっているディストリビューションが、「bash」コマンドで起動されるディストリビューションとなり、変更は「wslconfig /setdefault」コマンドにより行います。

UbuntuがWindowsストアに登場しました

情報源: Ubuntu now available from the Windows Store! – Windows Command Line Tools For Developers

WSLでは、Ubuntu, SUSE, Fedoraのディストリビューションがサポートされ、ストア経由でインストールされることが発表されていますが、Ubuntuがストアに追加されました、その他のディストリビューションについても追加される予定です。

このUbuntuを使用するにはWindows Insiderプログラムに登録し、ビルド#16215以上のビルドがインストールされている必要があります。

Windows Subsystem for Linuxの仕様にあたり、開発者モードの設定が不要に

情報源: Developer Mode no longer required for Windows Subsystem for Linux – Windows Command Line Tools For Developers

Windows 10 Insider Preview Build 16215よりWSLの仕様に当たって開発者モードの設定をする必要がなくなります。

これは、開発中の不安定な機能を使用するものだったため、非技術ユーザーを保護する目的で設置されていましたが、昨年からの二つの大きな更新でMSとして自信が持てたので、このツールセットを多くのユーザーが利用できるよう、開発者モードの設定無しで使えるようにするということのようです。

このため、今後WSL自体の機能をWindowsに追加するには、Windowsの機能にて「Windows Subsystem for Linux(Beta)」を選択するだけです。

Windows 10 SでWSLは動くのか?

情報源: Will Linux distros run on Windows 10 S? – Windows Command Line Tools For Developers

教育分野用のWindows 10のエディションとして、Windows Sが先頃発表されました。このWindows SはWindowsストア経由でのアプリケーションのインストールが行えませんし、ストア経由でインストールしかアプリケーションを実行できません。また、先のBuild 2017ではWSLのユーザーランドがUbuntuだけでなくSUSE, Fedoraが追加され、それがストア経由で選択してインストール出来るようになることが発表されました。

そこで、誰もが疑問に思うのがそれだったらWindows SでWSLが動くんじゃ無いかって事です。

答えはNO

理由はWSLが前提としているデスクトップブリッジが広範な権限を必要とするため、Windows Sでは動かないから。記事では同様な理由でWindows Sは開発者向けではないとしています。

Surface LaptopのようなWindows SがプリインストールされたPCを入手した場合には、Pro等へのアップグレードが必要となります。

New distro’s coming to Bash/WSL via Windows Store – Windows Command Line Tools For Developers

Memo.

情報源: New distro’s coming to Bash/WSL via Windows Store – Windows Command Line Tools For Developers

WSLのディストリビューションを今までのUbuntuに加え、SUSE, Fedoraが追加され、その中から選択できるようになりました。これでyum派のみなさんも安心ですね!

File System Improvements to the Windows Subsystem for Linux

This is part of a series of blog posts on the Windows Subsystem for Linux (WSL). For background information you may want to read the architectural overview , introduction to pico processes , WSL system calls , and WSL file system blog posts.

情報源: File System Improvements to the Windows Subsystem for Linux

WSLでWindowsのファイルシステムをマウントし、差分を吸収する仕組みがDrvFsだが、mountコマンドでDrvFsを使用するための解説。SMBなシェアフォルダもマウントできるようです。