「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は追加されるかもわからないので、今のバックグラウンドタスクの機能を使ってどしどしフィードバックしましょう。

A Guide to Invoking WSL – Windows Command Line Tools For Developers

情報源: A Guide to Invoking WSL – Windows Command Line Tools For Developers

以前にも書いていますが、CUとFCUとでは複数のディストリビューションに対応したことから、WSLのコマンドがかなり変更されているので、よくドキュメントを読みましょう。

Learn about the Windows Subsystem for Linux

Windows Subsystem for Linuxでの複数ディストリビューションの管理

Reference listing and configuring multiple Linux distributions running on the Windows Subsystem for Linux.

情報源: Manage Linux Distributions

上に書いてあるとおりです。

Windows 10 Fall Creators Update(RS3)よりWindows Subsystem for Linuxで複数ディストリビューションを同時実行できるようになり、それに伴いディストリビューション管理用のコマンドが追加されているほか、コマンドが新しくなっています。

機能的には上にあるようにインストールされているディストリビューションの一覧、既定のディストリビューションの設定、登録されているディストリビューションの解除が行えます。

このようにディストリビューション名と既定(Default)であるかどうかが表示されます。

既定とそうでは無いものとの違いは、既定となっているディストリビューションはwsl.exe(従来のbash.exeに変わる物)もしくはbash.exe(将来的になくなる可能性有り)コマンドで呼び出されるディストリビューションとなります。また、既定でないディストリビューションを呼び出す場合には、ストタートメニューから該当するディストリビューションのアイコンをクリックするか、上のwslconfig /lコマンドで表示されるディストリビューション名をコマンドプロンプトもしくはPowerShellから起動します。

また、wsl.exeとディストリビューション名で呼び出したときの細かな違いとしては、wsl.exeの場合ログイン時のフォルダがWindows側のユーザーフォルダ(/mnt/(systemdrive)/users/(username))であるのに対して、ディストリビューション名で呼び出した場合には、Unixファイルシステム側のHOMEディレクトリ(~)になります。ただこのあたりの動作も今後RS4に向けて仕様が変わらないとも限りません。ユーザーフィードバック次第だと思います。

ということで、RS3以降追加されたコマンドや挙動もそれなりに変わっているので、上情報源等MSDNのドキュメントを今一度ご確認ください。また、リリースノート、開発陣のBlogを追いかけておくことも大事です。

リリースノート https://msdn.microsoft.com/ja-jp/commandline/wsl/release-notes

Windows Command Line Tools For DevelopersのBlog https://blogs.msdn.microsoft.com/commandline/

Windows Subsystem for LinuxチームのBlog https://blogs.msdn.microsoft.com/wsl/