「Windows Terminal」とは何か

【連載】

1からマスター! Windows Terminal入門

【第1回】「Windows Terminal」とは何か

[2020/01/09 08:00]佐々木宣文 ブックマーク ブックマーク

「Windows Terminal」は、Microsoftが開発を進めているWindows環境向けのターミナルアプリケーションだ。Microsoft製と言っても、MITライセンスと呼ばれるオープンソースライセンスの下に開発されており、誰でも無料で利用できるようになっている。また、Microsoft Storeに登録されているストアアプリであるため、サードパーティ製アプリケーションのようにわざわざダウンロードサイトから取得しなければならないといった面倒がなく、Windows環境に簡単にインストールできるようになっている。

では、そもそもターミナルアプリケーションとは何なのか。Windowsユーザーのなかには、「ターミナル」と聞いてもピンと来ない方もいるかもしれない。「ターミナルエミュレータ」「端末エミュレータ」などとも言われるそれは、一言で言うと「コンピュータを対話的に操作するために用意されたCUI(Character User Interface)アプリケーションを、デスクトップ環境上に1つのウインドウ画面として描画する機能を提供するアプリケーション」である。

少々煩雑な説明となってしまったが、要はキーボードを使い、コマンドによってコンピュータを操作する時に利用するCUIツールと思ってもらえればいい。LinuxなどのUNIX環境でシェルに触れたことがある方や、WindowsをコマンドプロンプトやPowershellウインドウといった「Windows Console」使って操作したことがあるユーザーにとっては、なじみのあるアプリケーションと言える。

Windows Terminalの画面(Powershellが動作しているところ)

Windows TerminalはMicrosoft Storeから簡単にインストールが可能

Windows Terminalは2019年5月に登場したばかりの新しいターミナルアプリケーションであり、まだプレビュー版となっている。後発のため、これまでのターミナルアプリケーションと同様の機能を追加しつつ、ユーザーの要望に沿った機能をどんどん実装していくことが予想される。

「Windows Console」と「Windows Terminal」の違い

先程も述べたが、WindowsにはコマンドプロンプトやPowershellウインドウといったターミナルアプリケーションがすでに存在している。Windows Consoleとも呼ばれているそれらのアプリケーションは、Windowsが標準で持っているWindows APIを使って動作を実現している。Windows環境をCUIで操作する場合においては、コマンドプロンプトや、さらに機能を拡張したPowershellウインドウを標準のターミナルアプリケーションとして利用することに何も問題はない。ただし、WindowsからLinuxなどのUNIX環境を操作したいとなるとそうはいかない。

「Windows Consoleも同じターミナルアプリケーションなのだから、UNIX環境の操作にも利用できるのでは?」と思われるだろう。しかしながらWindows ConsoleはもともとWindows向けにフォーカスして開発されてきたものであり、UNIX系環境向けに開発されているターミナルアプリケーションとは提供している機能や概念の出発点が根本的に違うのだ。そのため、Windows Console上でUNIX系のコマンドを満足に利用することはなかなかできなかった。

コマンドプロンプト(左)とPowershellウインドウ(右)

もちろんMicrosoftはこの問題を認識しており、後述するWSL(Windows Subsystem for Linux)の登場もあってWindows ConsoleのUNIX互換機能を強化するようになっていった。例えば、UNIX系コマンドで利用されているエスケープシーケンスに対応することでUNIX系コマンドをWindows Console上で実行した際に問題なく動作するようにしている。

このようにWindows ConsoleのUNIX互換を推し進めつつあったMicrosoftだったのだが、並行してWSLを利用しやすくする新たな道も切り開いた。それが専用のターミナルアプリケーションであるWindows Terminalの開発というわけだ。

WSLの登場とWindows Terminalの必然性

WSLの登場は、MicrosoftにとってWindows Terminalを開発するきっかけの1つとなったのではないかと思われる。そもそもWSLはWindows上でLinuxバイナリ環境をネイティブに実行するために開発された互換レイヤーだ。2016年に開発版が登場し、その後、64bit版Windows 10およびWindows Server 2019に正式な機能として導入された。

WSL自体はあくまで互換レイヤーであってLinuxではない。そのため、WSL上で動作するLinuxが必要となる。ではそのLinuxをどうやって手に入れるのか。答えは簡単で、Microsoft Storeからインストールすればいいのだ。ストアアプリとしてUbuntu、openSUSE、SUSE Linux Enterprise Server、Debian、Kali Linuxなど数多くのLinuxディストリビューションがすでに登録されている。

UbuntuなどのLinux環境は、Microsoft Storeから簡単に入手できる

Windows TerminalがあればWindows ConsoleやWSLの利用が簡単

WSL上のUbuntu環境をWindows Terminalで操作が可能

WSLの登場以前でWindowsからLinuxを利用したいとなった場合、VirtualboxやVMwareといった仮想化アプリケーション上にLinuxを構築して使う、クラウドまたはオンプレミスのLinuxを構築してssh対応アプリケーションを介して利用するなどのやり方があった。これらの方法は手間暇をかける時間やお金といったリソースがあれば問題なく実現できる。しかしながら、WSLの登場によりWindowsユーザーはそれらのリソースの必要なく、手軽にLinux環境を手に入れることができるようになった。

既存のLinux利用者やLinuxビギナーのWindowsユーザーに大きな衝撃を与えたWSL。このWSL上のLinuxを操作するにあたり、Windows Terminalを利用することは良い選択肢の1つではないかと思われる。

Windows TerminalはWSLとの親和性が高く設計されている。Windows Terminalは、そのWindows環境上にあるWSLを一覧にして選択できるようになっている。ユーザーはその中から使用したいLinuxを選択すれば、WSL上のLinuxがすぐに利用できるようになっている。1つのWindows環境上で複数のLinuxを使いたいユーザーにとっては、1つのターミナルアプリケーションで操作できるのは大きな利点だと言える。

また、Windowsに標準で備わるコマンドプロンプトやPowershellといったWindows Consoleも選択できるようになっている。つまり、WSLを使いたいときもWindows Consoleを使用したいときも、Windows Terminalを立ち上げさえすればいいのだ。

今、始まりつつある”Windows Terminal時代”

Windows Terminalはまだプレビュー版であり、既存のターミナルアプリケーションと比較しても特出した機能があるわけではない。だが、先述の通り後発なので既存のターミナルアプリケーションと同様の機能がすぐに実装される可能性は十分にある。例えば、多くのターミナルアプリケーションで採用されているタブウインドウ機能はすでに実装されているし、JSONを使った設定機能を採用するなどのはやりにも乗っかっている。また、オープンソース/無償で提供されているため、開発者やユーザーからの反応は早く、ほかのオープンソースターミナルアプリケーションで搭載された機能が移植されやすいといった側面もある。

プレビュー版ということもあるが、Windows環境にバンドルされていないという点も興味深い。Windowsと切り離されていることでWindowsのリリースと関係なく、開発/アップデートリリースが行え、ユーザーにいち早く最新版を届けることができるといったメリットがある。

そして何よりMicrosoftが正式に開発を行っているところが大きい。Microsoft Storeから簡単にインストールできるWindows Terminalは、各LinuxディストリビューションやmacOSの標準ターミナルのようなWindowsのデフォルトのターミナルアプリケーションとなっていく可能性を十分に秘めているのだ。

Windows Consoleの開発も並行して続いていくだろうことを考えると、Windows Terminalが立ち消えてしまう可能性もゼロではない。だが、それでもなお、今活発に開発が進むWindows Terminalが”熱い”ことに違いはない。

今回は、本連載を始めるにあたり、Windows Terminalとは何たるかについてまずは説明させていただいた。次回からは、Windows Terminalのインストールや各種機能、設定方法などを順次紹介していきたいと思う。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る