やじうまの杜
Windows 10“バージョン 1803”(RS4)はコマンドラインも充実? 搭載予定機能のまとめ
Linuxとの親和性はますます高まる。コマンドラインでも扱えるUWPアプリも今後登場?
2018年3月9日 12:39
“やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。
「Windows 10」の次期機能アップデート“バージョン 1803”(RS4)におけるコマンドライン開発者向けの新機能が公式ブログにまとめられています。
なかにはこれまで紹介されてこなかった新機能も含まれているようです。
Windows Subsystem for Linux(WSL)
“WSL”は、仮想マシンなどを導入しなくても、Windows上でそのままLinuxを動作させることのできる機能です。当初は「Ubuntu」のシェル「bash」を「Windows 10」で動作させるプロジェクトで、“Bash on Ubuntu on Windows”とも呼ばれていました。しかし、「Fall Creators Update」(バージョン 1709)から正式版として提供され、“Microsoft ストア”から「SUSE」も導入できるようになったのを機に、名称も“Windows Subsystem for Linux(WSL)”へ統一されています。
“バージョン 1803”では、“WSL”にもいくつかの大きな機能改善が加えられます。
まず、“ストア”から入手できるLinuxディストリビューションが拡充され、「Kali Linux」と「Debian GNU/Linux」が利用できるようになりました(バージョン 1709でも利用可能)。
次に、“/etc/wsl.conf”がサポートされました。サブシステムを起動するときに適用しておきたいディスクマウントやネットワークの設定を記述しておくことができます。
さらに、タスクをバックグラウンドで動作させられるようになりました。従来の“WSL”はタスクやデーモンをバックグラウンドで実行することができず、コンソールを開いたままにしておく必要がありましたが、“sshd”や“httpd”、“screen”、“tmux”といった一部のコマンドはコンソールウィンドウを閉じたあとも実行され続けるようになります。
また、相互運用性を高めるための改善もいくつか盛り込まれました。WindowsのパスとLinuxのパスを変換するコマンド「wslpath」の追加、環境変数の共有、Linuxパーミッションを扱うためのファイルシステム(DrvFs)拡張、大文字と小文字区別のオプトイン対応などが例です。“WSL”で動作する「Node.js」をデバッグするためのオプションが「Visual Studio Code」に追加されたのも、相互運用に関する改善と言えるでしょう。
- Share Environment Vars between WSL and Windows - Windows Command Line Tools For Developers
- Chmod/Chown WSL Improvements - Windows Command Line Tools For Developers
- Per-directory case sensitivity and WSL - Windows Command Line Tools For Developers
- Running Node.js on WSL from Visual Studio Code - Windows Command Line Tools For Developers
Windows 10で「tar」や「curl」といったコマンドや「OpenSSH」ベースのクライアント・サーバーが利用できるようになった点や、Unixプロセスでプロセス間通信に使われている“Unixソケット(AF_UNIX)”がサポートされた点もトピックと言えるでしょう。
Hyper-V
一方、仮想マシン機能でもいくつかの改善が盛り込まれています。
たとえば、RDP(リモート デスクトップ プロトコル)経由で“Hyper-V”仮想マシンへ接続する“拡張セッション”モードがLinuxでもサポートされました。“拡張セッション”モードでは、画面サイズの動的変更、クリップボードの共有、ドラッグ&ドロップなどによるファイルのやり取り、デバイスの共有などがサポートされており、仮想マシンの操作性が大きく向上します。
また、仮想マシンを数クリックですばやく作成できる“クイック作成”といった機能も有用です(すでに利用可能)。
UWPコンソールアプリケーション
最後に、“バージョン 1803”では“ユニバーサル Windows プラットフォーム(UWP)”でコンソールアプリケーションが開発できるようになるとのこと。開発したコンソールアプリケーションは“ストア”で配布することもできるそうです。コマンドラインでも扱えるUWPアプリ……なんてのも今後登場しそうで楽しみです。