Windows
 Computer >> コンピューター >  >> システム >> Windows

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

Windows Subsystem for Linux(WSL)は、対応ディストリビューションが大幅に拡充されました。

更新日:2018年5月11日

はじめに

筆者は以前からテクノロジーの探求者として活動しており、早くも2016年にはWSLについて取り上げ、「Windows 10上でBASHを実行する方法」を紹介していました。さらにその後、X11サーバーを活用すればWindows上でLinuxのグラフィカルアプリケーションも動作させられることをお見せしました。これは本当に便利な機能です。

当初のWSLは、自然な流れとしてUbuntu中心に語られることがほとんどでした。しかし最近になってMicrosoftは、Microsoft Storeで提供するディストリビューションのラインナップを大きく拡大し、まずKali Linuxが登場しました。その後も複数のシステムが追加されており、改めて総まとめを行う良い機会となりました。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

ディストリビューションの入手方法

まずMicrosoft Storeを起動しましょう。実はサインインは必須ではありません。検索ボックスに「linux」と入力すると、比較的シンプルなリストが表示されます。そこにはKali、Debian、SLES(SUSE Linux Enterprise Server)、NAS向けツール、そしてopenSUSEが並んでいます。Ubuntuだけは従来どおり「BASH」カテゴリーの下に配置されています。

注目すべきは、エンタープライズ向けディストリビューションが含まれている点です。クロスプラットフォームソリューションの開発を目指す人にとって、この存在は非常に大きな意味を持ちます。Microsoftは開発環境の整備に力を入れており、開発者を自社プラットフォームへ誘致しようとしています。モバイル分野での苦い経験を教訓にしているのかもしれません。さらに言えば、PowerShell for Linuxも登場しています。これらすべてが、ここ数年でLinux開発者にとってWindowsの魅力を一変させました。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

openSUSEを試してみた

今回はopenSUSEを選んで検証してみました。取得してインストールすれば、すぐに使い始められます。Ubuntuと同様に初回のユーザー設定があり、管理者権限を付与するかどうかを選択できます。セットアップ後はヘッドレスサーバーとして稼働し、現時点ではネットワーク機能に一部制限があるものの、Microsoftがカスタマイズしたカーネル4.4の上で動作します。以降は標準的な管理コマンドやテクニックがそのまま使えます。ZypperもYastも、お好みのツールをどうぞ。SUSEを使ったことがある方なら、迷うことはないでしょう。全体的にUbuntuでの体験とよく似ています。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

気になった点

ひとつ不満を挙げるとすれば、Windowsのコマンドライン(CLI)はテキストの選択・コピー・ペーストがやや面倒なことです。ウィンドウのバーを右クリックしたりと、ひと手間必要になります。Linuxで当たり前の中クリックによる貼り付けには対応していません。少なくとも現時点では。また、デフォルトのフォントサイズがかなり小さいため、Windows標準のコンソールに合わせて拡張する必要がありました。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

グラフィカルアプリケーション――Plasmaデスクトップ全体を動かす

リリースノートの淡々とした要約だけを繰り返すのは避けたいところです。そこで今回は、システムを最新化したうえで、KDE Plasmaデスクトップ一式と関連アプリケーションをインストールし、X11サーバーを起動してデスクトップを実際に表示させてみました。しかも、いくつかのUbuntuアプリと並行して動作させるという、実用的なユースケースです。

結果としては、やや動作が重いものの、概ね問題なく動きました。注意点として、Plasmaシェルを強制終了した場合、SUSE側のウィンドウ(シェル)も終了する必要があります。/tmp配下に孤立したロックファイルが残り、新しいセッションの起動を妨げるためです。手動でクリーンアップすることもできますが、少し面倒ですね。もちろん、GUI部分の見た目は今ひとつ華やかさに欠けますが、これは3Dアクセラレーションなしで実行しているためです。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

これは背景画像ではなく、本物のPlasmaデスクトップです。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

画面を見ると、なんと3つのOSのコンポーネントが並んでいます。

動作状況――いくつかのエラーも発生

全体的には良好でしたが、もちろん細かなエラーもありました。まずPlasmaインストール時に依存関係の問題が発生。正直、新規セットアップでサードパーティのリポジトリを一切追加していないにもかかわらず、奇妙な依存関係の競合に遭遇するのは予想外でした。コミュニティリポジトリを使う場面ならともかく、純正の状態でのこの事態には驚きです。

具体的には、kio-extras5がlibsmbclient.so.0を要求するものの、提供候補との整合が取れないというエラーで、krb5-miniの削除、plasma5-desktopのインストール中止、依存関係の無視といった選択肢を提示されました。

また、更新やパッケージインストールの過程でも、次のような不可解なメッセージが表示されました。

「Warning: running kernel does not support fscaps」「Failed to connect to bus: No such file or directory」など、systemd由来のバス接続エラーが複数回出力されたほか、coreutilsのインストール後スクリプトでは「mkinitrdの実行を促す」メッセージも現れました。いずれもWSL特有の制約によるもので、致命的ではありません。

こうした課題はあるものの、結局のところ私たちはみな一つのファミリーです。共通のカーネルベースであることは、開発の容易さと共通性をもたらします。この仕組みには大きな意義があり、現時点でも十分に安定しており、本格的な投資に値する水準に達しています。新しいサブシステムも開発中なので、近いうちに単なる技術デモ以上のものが手に入るでしょう。

WSL(Windows Subsystem for Linux)徹底活用ガイド:Windows 10でopenSUSEなど多彩なLinuxディストロとGUIアプリを動かす

独自ディストロの登録

Storeに並んでいる以外のディストリビューションを使いたい場合、頭脳と指先をフル稼働させる覚悟が必要です。Microsoftは「WSL-DistroLauncher」というツールを公開しており、これを使えば独自ビルドを作成できます。ただし難易度は相当高く、イメージとしてはLFS(Linux From Scratch)に近い作業です。簡単な道筋はありませんが、ディストロの保守担当者や開発者にとっては確実に魅力的な選択肢となるでしょう。

まとめ

WSLは着実に成長を続けています。少しずつ意味のある機能が追加され、Linuxコミュニティでの認知度も高まり、最終的にはエンドユーザーの利益につながる可能性を切り開いています。考えてみれば、開発者が一度に複数のOS向けのソリューションを快適に作成・テストできるようになれば、クロスプラットフォーム互換性の向上が期待できます。将来的には、Microsoft OfficeがネイティブにLinuxへ対応する日や、Androidエコシステム全体がWindows上で動く未来だって排除できません。

イデオロギーの観点で言えば、これはある意味、MicrosoftがLinuxを「尊敬に値する、協力すべき本物のプレイヤー」と認めた証拠でもあります。感情的ではなく実用的・合理的なアプローチです。Microsoftにとっては人材獲得とソリューション開発が容易になり、あらゆる場所でより優れた製品が生まれます。最大の勝者はユーザーです。まだ始まったばかりですが、今後数年のうちにOS同士が美しく融合し、ユーザーに多様な可能性を開いていくことを筆者は確信しています。まずはWSLを入手して、いろいろ試してみてください。きっと楽しいはずです。続きはまた。

それでは、また会いましょう。

  1. Windows 10で検索インデックスの「詳細オプション」を無効化する方法【レジストリ/グループポリシー】

    Windows 10には、入力したキーワードに関係なく検索結果をすばやく表示するための「検索インデックス」機能が搭載されています。しかし、複数人でPCを共有している場合など、他のユーザーにインデックスオプションの設定を勝手に変更されたくないケースもあるでしょう。そんなときは、インデックスオプション内の「詳細オプション」を無効にすることで、設定変更を防ぐことができます。 この操作にはサードパーティ製アプリは一切不要です。レジストリエディターまたはローカルグループポリシーエディターを使用すれば、標準機能だけで対応できます。 インデックスオプションの「詳細オプション」でできること まず、「インデック

  2. Microsoft Edgeで「お使いのブラウザは組織によって管理されています」と表示される原因と解除方法

    Microsoft Edgeの右上にある3点リーダー(その他のオプション)メニューを開くと、「お使いのブラウザは組織によって管理されています」というメッセージが表示されることがあります。このリンクをクリックすると、Edge内の以下のページへ移動します。edge://managementこのページには、次のような説明が表示されます。Microsoft Edgeは組織によって管理されています。学校や職場でMicrosoft Edgeを使用している場合、所属する組織がEdgeを管理・設定・保守している可能性があります。組織は特定の機能を設定または制限したり、拡張機能をインストール・ブロックしたり、利