前回、Windowsの機能であるWSL (Windows Subsystem for Linux)を使うことで、WindowsでUbuntuを実行できることを紹介した。インストールはwslコマンドを実行してシステムを再起動するだけだ。とても簡単だ。今回は、このUbuntuをWindowsでどのように使っていくかについて整理していく。
開発者のプラットフォーム
現在、WSL (Windows Subsystem for Linux)でUbuntuやほかのLinuxディストリビューションをインストールして使いたいという需要を最も持っているのは、ソフトウェア開発者やシステム運用者ではないかと思う。
現在であれば、クラウドプラットフォームに開発用のLinuxプラットフォームを構築し、WindowsパソコンからLinuxプラットフォームに接続する形でソフトウェア開発を行うケースが多いだろう。このクラウド部分を自分のパソコンに置き換えるというのがWSLの最大のメリットということになる。
ソースコードの共有はGitHub.comやそのエンタープライズプロダクトを使えばよいし、開発グループ内でのコミュニケーションにはGitHub.comやSlackが使われることが多い。開発プラットフォームは個々の開発者が手元にもっておいても問題がないケースもあるのだ。そうなると、わざわざクラウドプラットフォームを用意する必要がなくなるので、その分コストが浮くし、やはり手元に開発環境があるととても便利なのだ。
Dockerで環境を用意する
そうなってくると、やはり使いたいのはDockerなどのコンテナプラットフォームだ。WSLでUbuntuなどを動くようにしておいて、そこでDockerといったコンテナプラットフォームが利用できるようにしておく。開発環境も本番環境もDockerで同じ環境が用意できれば、開発と運用をシームレスにつなげることができる。そして、開発者としても使いやすい。
もっとも、このレベルのユーザーからすると、本連載の内容は不要かもしれない。Linuxについて深い知識と経験を既に備えているので、これまでの経験をそのままWSLで動作するLinuxディストリビューションで使うことができるはずだ。多少の違いはあるものの、WSLで動作するUbuntuとクラウドプラットフォームで動作するUbuntuにほとんど違いはないのだ。WSLのUbuntuの扱いで困ることはないだろう。
Dockerで開発環境を用意し、Visual Studio Codeから接続してリッチな機能を使って開発を行う。テストにはWindowsで動作するMicrosoft EdgeやGoogle Chromeが使えるし、開発にもテストにももってこいだ。ソフトウェア開発者には実に便利な状態が整っている。
Linuxの学習をする
もう一つ、WSLで動くUbuntuが役に立つのはLinuxのビギナーだ。WSLの登場以前であれば、自分でLinuxをインストールして環境を用意するか、Linuxが最初から用意されているクラウドプラットフォームや仮想サーバを契約して使用するか、学校などの教育機関が用意してくれるLinuxなどのプラットフォームを使って学習を行う必要があった。
教育機関であれば教育機関側が用意してくれるが、そうでなければ自分で用意する必要があった。Linuxの経験がないユーザーにとって、最初の環境構築はそれなりにハードルの高い作業だ。
これがWSLの登場で大きく変わった。WindowsでUbuntuが使えるようになるまで、その操作はとても簡単だ。wslコマンドを1回実行してシステムを再起動するだけでよい(参考「WindowsでUbuntuをはじめる(2) Ubuntuをインストールする (1) | TECH+」)。最近のWindowsパソコンであれば自動的にUbuntuも使えるようなものであり、最初の導入の敷居は大きく下がったことになる。
Linuxを学んでWindowsも便利になっていく
初めて使ったパソコンがWindows 10やWindows 11といった世代にとって、ターミナルアプリケーションでコマンドを入力して操作するUbuntu on WSLは新鮮だ。しかし、GUIを使わない環境に慣れるにはそれなりに学習と練習の時間が必要だ。しかし、Windowsでシームレスに使用できるUbuntuはこの用途に向いている。
しかも、WSLで動作するUbuntuは仮想環境という技術の枠を超えて、Windowsプラットフォームともある程度親和性のある状態が実現されている。Ubuntuの学習を行って得たスキルを、Ubuntuの中だけではなくWindowsに対しても使うことができるのだ。これはUbuntuの学習がUbuntuとWindowsの双方で利用できるというかなり美味しい現実である。
本連載でターゲットとしていくのは、こうしたこれからWindowsでUbuntuを使ってみよう、というビギナーユーザーだ。連載が続いていけば、DockerなどのコンテナプラットフォームやVisual Studio Codeとの連携、管理アプリケーションとの統合といったより高度/抽象度の高い操作についても取り扱うことになるかもしれないが、しばらくは基本中の基本を説明しながら、それをWindowsも交えながら説明していこうと考えている。Ubuntuの勉強をしながらWindowsでも使えるスキルを見つけていく、そうした連載にまとめていく予定だ。
まだUbuntu on WSLの環境をセットアップしていないなら、これまでの連載の内容を参考にするなどして環境を整えてもらえればと思う。じっくりこの技術を身につけていこう(参考「【連載】WindowsでUbuntuをはじめる | TECH+」)。
参考
- Windows Subsystem for Linux Documentation | Microsoft Docs
- What is Windows Subsystem for Linux | Microsoft Docs
- Install Linux on Windows with WSL | Microsoft Docs
- Basic commands for WSL | Microsoft Docs
- Run Linux GUI apps with WSL | Microsoft Docs
- Get started using VS Code with WSL | Microsoft Docs
- Set up Node.js on WSL 2 | Microsoft Docs
- Advanced settings configuration in WSL | Microsoft Docs
- Add or connect a database with WSL | Microsoft Docs
- Comparing WSL 1 and WSL 2 | Microsoft Docs
- Manual installation steps for older versions of WSL | Microsoft Docs
- Set up a WSL development environment | Microsoft Docs
- Install Linux Subsystem on Windows Server | Microsoft Docs
- Troubleshooting Windows Subsystem for Linux | Microsoft Docs
- FAQ's about Windows Subsystem for Linux | Microsoft Docs