Build 17046のWSLとコンソールに関する変更点
2017年11月22日にリリースされた「Build 17046」の「WSL」に関する変更の紹介です。WSLとは
「WSL」は、「Windows」上でLinuxバイナリーを動作させるための仕組みです。「Windows」上で「Ubuntu」や「openSUSE」などLinux環境を構築し、「Windows」からLinuxの実行ファイルを利用することができます。
「WSL」及びLinuxディストリビューションのインストール方法は、以下を参照してください。
- WindowsストアからUbuntuをインストールするには
- WindowsストアからopenSUSE Leap 42をインストールするには
- WindowsストアからSUSE Linux Enterprise Server 12をインストールするには
- Windows Server 2016にUbuntuをインストールするには
リリースノート
以前の変更点は、リリースノートを参照してください。今回コンソールに関する変更点はありません。
WSLの機能の改善や変更
「WSL」に関する機能の改善や変更です。1.アクティブなターミナルがなくてもプロセスが実行可能に
アクティブなターミナルがなくてもプロセスが実行できるようになりました。これにより改善する問題は、以下を参照してください。
- Windows Bash services are stopped when closing the Bash tab
- nohup/tmux processes killed when last terminal closes
- disowned XTerm process should remain running when 1st bash exits
- tmux sessions not kept across bash exits
- Data loss may occur when closing Bash, since Windows then closes all WSL background processes. Here are three suggested ways of fixing the problem.
- その他
2.CLONE_VFORKとCLONE_VMのサポート改善
「CLONE_VFORK」と「CLONE_VM」のサポートが改善されました。これにより改善する問題は、以下を参照してください。
- localedef: ../sysdeps/unix/sysv/linux/spawni.c:360: __spawnix: Assertion `ec >= 0' failed.
- Ubuntu 17.10 `bash` preinst: ../sysdeps/unix/sysv/linux/spawni.c:360: __spawnix: Assertion `ec >= 0' failed.
3.TDIフィルターのスキップ
「WSL」からネットワークの操作を行う際、TDIフィルターをスキップするようになりました。これにより改善する問題は、以下を参照してください。
4.特定の条件下でDrvFSがNTシンボリックリンクを作成するように変更
特定の条件下で「DrvFS」がNTシンボリックリンクを作成するように変更されました。- Symlinks on the mounted Windows directories are not compatible with native.
- Unify lxss symlinks and win32 symlinks on driveFS?
- Symlink in windows mount does not translate to Windows junction
- リンクターゲットが相対パスであること
- どのようなマウントポイントもシンボリックリンクも横断しないこと
- リンクターゲットが存在していること
- 開発者モードがオフなら、ユーザーが「SE_CREATE_SYMBOLIC_LINK_PRIVILEGE」権限を所有していること(通常WSLを管理者として実行で起動すれば、この権限が得られる)
条件を満たさない場合は、従来通り「WSL」のシンボリックリンクが作成されます。
5.権限が異なるWSLインスタンスの共存が可能に
管理者として実行する「WSL」と通常のユーザーとして実行する「WSL」を、同時に実行できるようになりました。6./proc/sys/kernel/yama/ptrace_scopeのサポート
「/proc/sys/kernel/yama/ptrace_scope」がサポートされました。7.wslpathコマンドの追加
「WSL」のパスと「Windows」のパスを相互に変換する「wslpath」コマンドが追加されました。
wslpath usage:
-a force result to absolute path format
-u translate from a Windows path to a WSL path (default)
-w translate from a WSL path to a Windows path
-m translate from a WSL path to a Windows path, with ‘/’ instead of ‘\\’
EX: wslpath ‘c:\users’
-a force result to absolute path format
-u translate from a Windows path to a WSL path (default)
-w translate from a WSL path to a Windows path
-m translate from a WSL path to a Windows path, with ‘/’ instead of ‘\\’
EX: wslpath ‘c:\users’