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

Windows 10 Insider Build 17093でのWSL強化点

AF_UNIXを使用したWindowsアプリケーションとの相互運用

Windows/WSL Interop with AF_UNIX

Windows Insiderビルド17093以降、WSLアプリケーションはUnixソケットを介してWindowsアプリケーションと通信できます。先のIPでWindows側でAF_UNIXに対応しましたが、これを利用してWSL上のLinuxのプロセスと通信が可能になりました。

またこの通信はWindows側のプロセスを配置した場所のアクセス権限を利用して、通信方向の制御、通信自体の禁止を行えます。詳しくは上Blogを参照ください。サンプルコードもあります。

WSLでの起動設定

Automatically Configuring WSL

Insider Build 17093から、WSLの特定の機能を自動的に設定する方法を追加しました。この機能は、サブシステムを起動するたびに適用されます。これには、自動マウントオプションとネットワーク構成が含まれます。(ディストリビューションに関係なく共通の設定になるようです。)

設定は /etc/wsl.conf/wsl.confを編集して行います。編集後の反映にはサブシステムの再起動が必要なので注意が必要です。また、設定可能な内容も多くは有りません。詳細は上Blogをご確認ください。

Announcing Windows 10 Insider Preview Build 17093 for PC

情報源: Announcing Windows 10 Insider Preview Build 17093 for PC – Windows Experience BlogWindows Experience Blog

新しいIPのビルドです。Fast Ring向け。

  • ゲームバーの機能向上(お願いだからゲームモードをですね…)
  • 診断データの改善
  • グラフィックスの改善 – HDR対応の強化
  • マルチGPUシステム用の新しいグラフィックス設定 – NVIDIAコントロールパネルの簡易版ですが、こちらの設定が優先されるそうで…
  • Windows Sではスマートフォン等を使ったサインインが可能になります。
  • アイコンとロールの改善
  • セキュリティ強化
  • Bluetoothの改善
  • Edge強化
  • 対応言語の拡充
  • 簡単操作の強化
  • WSLの強化
  • その他

詳細は情報源をご確認ください。

wsltty 1.8.3

wsltty 1.8.3

minttyのアップデートがお主なアップデート。詳細とダウンロードは上リンクからどうぞ。

私の環境ではうまく動作しませんでした。うまく動かない場合には1.8.2を再インストールしてください。(7:04)

Share Environment Vars between WSL and Windows

情報源: Share Environment Vars between WSL and Windows – Windows Command Line Tools For Developers

Build 17063以前ではWSLの環境のPATH環境変数に、Windows側のPATHがそのまま連結される形で渡されていましたが、不都合が多いとのフィードバックも有り、Buid 17063からはWSLENVが追加されました。

WSLENVはWindowsとWSLとで共有する必要があるpathのリストで、それぞれの環境のPATH環境変数のように動作します。WSLからWindowsのプログラムを呼び出すケース、あるいはその逆にWindowsからWSLのプログラムを呼び出すケースで使用できます。

詳細な内容、使用方法については情報源のリンク先をご確認ください。

AF_UNIX comes to Windows

情報源: AF_UNIX comes to Windows – Windows Command Line Tools For Developers

WindowsでAF_UNIXやっとサポートされることになったようです。

これで、UnixアプリケーションのWindowsへの移植に際してわざわざIPC等に書き換えると言った複雑な手順を経る必要がなくなります。

使用できるのは最新のInsider Preview Build 17061そのSDKを使用する場合です。

詳細やフィードバックの方法については上情報源をご確認ください。

wsltty

Mintty as a terminal for Bash on Ubuntu on Windows / WSL

簡単に言うと、WSL向けMintty。ConEmuとWindows 10 FCUの標準コンソールに満足していたのでコンソールアプリ自体探していなかったのだけど、こういうものが有る。というMemo。

インストールすると下のようなショートカットがスタートメニューに登録される。

この中のadd to context menuを選択すると、Explorerのコンテキストメニューにショートカットが追加されて、そのフォルダをpwdにしてWSLのプロンプトを開けるようになるのでだいぶ便利。

こうしておくと、Windows側のVSやVS CodeでCのソース直して、WSL側でコンパイル・デバッグみたいな事がだいぶやりやすくなると思います。

WSL Interoperability with Docker

情報源: [Cross Post] WSL Interoperability with Docker – Windows Command Line Tools For Developers

Memo.

WSL上でDockerが動くというわけではなく、WSLのWindowsプロセスとのパイプ接続の仕組みを利用して、Docker for Windows上でDockerのコンテナが動作する仕組みとなっているようです。下の図が仕組みを表しております。

WSLでのバックグラウンドタスクのサポート

情報源: Background Task Support in WSL – Windows Command Line Tools For Developers

Windows Insider Build 17046よりバックグラウンドタスクの実行がサポートさえています。sshd、httpd、screen、そしてtmaxに関しては起動したコンソールを閉じても動作し続けます。

WSLタスクの昇格について

バックグラウンドプロセスサポートの一環として、GitHubリポジトリからのディスカッションに従って、複数のWSLインスタンス(2つ以上のコンソールウィンドウでWSL)を実行しながら、より良いエクスペリエンスを求めています。 他のセッションの権限に影響を与えることなく、昇格したWSLインスタンスと昇格していないWSLインスタンスを同時に実行できるようになりました。

スタートアップタスクについて

デーモンをバックグラウンドで実行することについて話すたびに、スタートアップタスク(init、システム、クラウド初期化など)をサポートするかどうか尋ねる必然性があります。 WSLはLinuxスタートアップタスクをサポートしていませんが、Windowsタスクスケジューラを使用してカスタムスタートアップスクリプトやその他のスケジュールされたタスクを作成することができます。 また、initスタイルの機能を調べています。 私たちにフィードバックを送ってください。

ウォークスルー

情報源をご確認ください。

ということで、バックグラウンドタスクが追加されましたが、非常に限定的です。まぁあくまでも開発補助機能ですので。ただ、initは追加されるかもわからないので、今のバックグラウンドタスクの機能を使ってどしどしフィードバックしましょう。