Ubuntu on Windows Community Preview
「Ubuntu on Windows Community Preview」とは、新機能のテストとコミュニティーからフィードバックを得るために作られた特別な「WSL」向け「Ubuntu」です。新機能とツールのテストを促進するため
「Ubuntu on Windows Community Preview」は新機能とツールのテストを促進するために提供されています。これらの新機能やツールはテストを通じ、将来的に「WSL」で提供されている一般開発者向けの「Ubuntu」に搭載されます。
そのため日常的に「WSL」で利用する「Ubuntu」ではありません。
いち早く新機能を試したいユーザーやテストに参加したいユーザーが利用する「Ubuntu」になります。
ちなみに不具合等のフィードバックは、以下で受け付けています。
Microsoft StoreではLTSリリースのUbuntuを提供
「Microsoft Store」向けに提供している「Ubuntu」は、LTSリリースの「Ubuntu」のみになります。「Ubuntu」は半年に一度リリースされ、2年毎にLTS版をリリースしています。
「Ubuntu」のリリースサイクルは、以下を参照してください。
LTSリリースの「Ubuntu」は長期サポート版であり、幅広い開発者に推奨する「Ubuntu」です。
LTSリリースの「Ubuntu」のサポート期間は、「Ubuntu」がリリースされてから5年間の無償サポートと、さらに5年間追加可能な有償サポートが提供されています。
有償サポートは、以下を参照してください。
一方で通常リリース版の「Ubuntu」は無償サポート期間が9ヶ月と短く、有償サポートも提供されていません。
「Ubuntu」や「Ubuntu」のバージョニングに不慣れなユーザーが混乱しないためにも、LTSリリースの「Ubuntu」のみが「Microsoft Store」向けに提供されています。
ところで、通常リリース版のUbuntuを利用したいユーザーは
上記でも紹介したように「Ubuntu」は半年に一度リリースされ、2年毎にLTS版をリリースしています。「Microsoft Store」向けに提供している「Ubuntu」は、LTSリリースの「Ubuntu」のみになります。
「Ubuntu on Windows Community Preview」の話から逸れますが、「WSL」で通常リリース版の「Ubuntu」を利用したいユーザー向けにサイドローディングでインストールする「Ubuntu」のイメージが以下で提供されています。
もしくは「Ubuntu」ユーザーが「Ubuntu」をアップグレードする時に利用する「do-release-upgrade」コマンドで既存の「Ubuntu」をアップグレードすることも可能です。
というわけで
「Ubuntu」では「WSL」上で動作する「Ubuntu」も公式にサポート対象となっており、「WSL」上の「Ubuntu」の使い勝手を改善・向上させるための取り組みが継続的に行われています。「Windows」環境との統合強化や「Ubuntu」の初期設定を支援するツールの開発など、この取り組みを通じもっと便利な「WSL」上の「Ubuntu」をユーザーに提供できるようになるでしょう。
特徴と注意事項
というわけで「Ubuntu on Windows Community Preview」の特徴や注意事項を見てみましょう。現在はUbuntu 20.10ベース
現在「Ubuntu on Windows Community Preview」は「Ubuntu 20.10」ベースで構築されています。しかし「Ubuntu on Windows Community Preview」のベースとなる「Ubuntu」のバージョンは、安定版リリース前の開発版「Ubuntu」がベースになることもあります。
Microsoft Storeから検索できない
「Ubuntu on Windows Community Preview」は一般開発者向けの「Ubuntu」ではないため、「Microsoft Store」から「Ubuntu on Windows Community Preview」を検索しても見つかりません。「Ubuntu on Windows Community Preview」をインストールする場合、以下のURL経由で「Ubuntu on Windows Community Preview」をインストールすることになります。
インストール後は「Microsoft Store」から管理可能です。
Ubuntu Cooker
「Ubuntu on Windows Community Preview」は新規に開発されたツールを用いて構築されています。このツールは「Ubuntu Cooker」と呼ばれています。
「Ubuntu Cooker」のソースコードは以下で参照できます。
This is the automatic Ubuntu UWP build system that inspired by ubuntu-old-hashioned and ubuntu-bartender.
This allows autoamtic builds of Ubuntu UWP and it outputs local builds(.appxbundle) and upload-only packages(.appxupload).
構築された「Ubuntu on Windows Community Preview」は、「WSL DistroLauncher」を修正したものがベースになっています。
WSL OOBE
「WSL OOBE」は「subiquity」がベースになっています。「subiquity」は「Ubuntu Server」で採用されている「Ubuntu Server」のインストーラーです。
テスト向けのパッケージがPPAから提供されることもある
テスト向けのパッケージが「PPA」から提供されることもあります。これらのパッケージのテストを行うには「PPA」を追加し、事前にパッケージのインストールやアップデートを行っておく必要があります。
これらのパッケージの品質が確保され「Ubuntu」の公式リポジトリーに取り込まれた場合、「PPA」から提供されるパッケージのほうが古くなる可能性があります。
この場合これらのパッケージの最新バージョンを利用するために、「PPA」を手動で削除する必要があります。
頻繁にアップデートされる
「Ubuntu on Windows Community Preview」は「Microsoft Store」で提供される一般開発者向けの「Ubuntu」と異なり、頻繁にアップデートされます。原則として「Microsoft Store」からインストールされた既存の「Ubuntu」環境に影響を与えることはありません。
最新のイメージは、バックグラウンドでダウンロードされローカルにキャッシュされます。
つまりそれだけネットワーク帯域を使用する機会が多く、従量課金の接続や帯域の細い接続には向いていません。
最新版を利用するにはリセットが必要
「Ubuntu on Windows Community Preview」の最新版を利用するには、「Ubuntu on Windows Community Preview」のリセットが必要になります。「Ubuntu on Windows Community Preview」をリセットすると「Ubuntu on Windows Community Preview」環境内で作成・編集したすべてのファイルが削除されます。
リセット後キャッシュされた「Ubuntu on Windows Community Preview」のイメージが展開され環境が再構築されます。
この時リセット前とリセット後で「Ubuntu」のバージョンが異なる場合があります。
既存の環境を保存したい場合は「wsl.exe --export」の機能を利用して環境をエクスポートしてください。
「wsl.exe --export」の使い方は以下を参照してください。
リセットするには
「Ubuntu on Windows Community Preview」をリセットする方法です。1.アプリと機能を開く
「設定」を起動し「アプリ」をクリックします。2.アプリと機能
「アプリと機能」から「Ubuntu on Windows Community Preview」を検索します。「Ubuntu on Windows Community Preview」を選択すると以下のように「詳細オプション」が表示されるので、「詳細オプション」をクリックします。
3.リセット
「リセット」ボタンをクリックします。WSL OOBEによる初期設定の支援
「WSL OOBE」により「Ubuntu」インストール後に初期設定を行う画面が表示されます。「subiquity」がベースになっていることもあり、「Ubuntu Server」ユーザーにとって馴染み深いデザインになっています。
複数の言語に対応
「Ubuntu on Windows Community Preview」を初めて起動した時に、初期設定を行う画面が表示されます。この画面は複数の言語に対応しており、「Windows Terminal」から起動すれば日本語も選択可能です。
ユーザーアカウントの設定
ユーザーアカウントの設定画面です。WSLの設定
主にWindows環境との連携機能に関する設定です。ubuntuwslによる各種設定
「ubuntuwsl」は「WSL」上で動作する「Ubuntu」の設定を行うツールです。各種設定の確認や設定をもっと簡単に行なえます。
「ubuntuwsl」コマンドのヘルプは、以下のようになっています。
$ubuntuwsl --help
usage: ubuntuwsl [-h] [--version] [-y] {help,?,update,up,reset,rs,rm,show,cat,list,ls,visual,ui,tui,export,out,import,in,joke} ...
ubuntuwsl is a tool for help manage your settings for Ubuntu WSL.
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-y, --yes When passed, always assume yes.
commands:
{help,?,update,up,reset,rs,rm,show,cat,list,ls,visual,ui,tui,export,out,import,in,joke}
help (?) Displays help about the specified command
update (up) Change the state of a specific setting
reset (rs, rm) Reset(remove) the value of a specific setting
show (cat) Show the specified stored configuration
list (ls) List all configuration settings from ubuntu-wsl.conf and wsl.conf.
visual (ui, tui) Display a friendly text-based user interface. (Experimental)
export (out) Export settings as a json string (Experimental)
import (in) Import settings from a json file (Experimental)
Note: "Super Experimental" means it is WIP and not working. "Experimental" means it is WIP but most of the part is working.
This cli has the ability to make a joke.
usage: ubuntuwsl [-h] [--version] [-y] {help,?,update,up,reset,rs,rm,show,cat,list,ls,visual,ui,tui,export,out,import,in,joke} ...
ubuntuwsl is a tool for help manage your settings for Ubuntu WSL.
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-y, --yes When passed, always assume yes.
commands:
{help,?,update,up,reset,rs,rm,show,cat,list,ls,visual,ui,tui,export,out,import,in,joke}
help (?) Displays help about the specified command
update (up) Change the state of a specific setting
reset (rs, rm) Reset(remove) the value of a specific setting
show (cat) Show the specified stored configuration
list (ls) List all configuration settings from ubuntu-wsl.conf and wsl.conf.
visual (ui, tui) Display a friendly text-based user interface. (Experimental)
export (out) Export settings as a json string (Experimental)
import (in) Import settings from a json file (Experimental)
Note: "Super Experimental" means it is WIP and not working. "Experimental" means it is WIP but most of the part is working.
This cli has the ability to make a joke.