テキストユーザインタフェース

テキストユーザインタフェース(TUI)とは



テキストユーザインタフェース(Text User Interface, TUI)は、コンピュータとユーザー間のインタラクションにおいて、テキスト(文字コード)を主要なデータ形式として用いるインターフェースです。TUIは、しばしばCUI(Character User Interface)と混同されますが、より進化した概念であり、GUI(Graphical User Interface)の要素を取り入れたものと言えます。ここでは、TUIの基本的な概念から、その歴史、技術的な側面、そして様々なOSでの実装例について詳しく解説します。

TUIの基本



TUIの基本は、コンピュータが画面に文字コードを表示し、ユーザーがキーボードなどを使ってテキストベースで操作を行う点にあります。初期のコンピュータでは、ディスプレイに文字情報を表示するために、ハードウェア的に用意された文字情報を使っていました。この方式では、計算データや通信データが文字コードのみで済むため、処理や通信の負荷が非常に低いという利点がありました。しかし、初期のTUIは一行表示が基本であり、複数行表示を実現するためには改行コードを利用する必要がありました。

CUIとの違い



CUI(Character User Interface)は、TUIの前身とも言える概念で、テキストベースのインターフェースを指します。CUIは、線形的なデータストリーム型の表示を基本としており、画面全体を二次元的に使用する概念はありませんでした。これに対し、TUIはGUIの登場後にCUIと対比される形で名付けられ、CUIのテキストベースの操作に加え、GUIのような二次元的な画面構成を取り入れるようになりました。

TUIの進化



GUIの登場は、コンピュータのユーザーインターフェースに大きな変革をもたらしました。GUIでは、ドット情報を基に二次元的な表示が可能になり、文字や画像に関係なく自由に画面を表現できるようになりました。このGUIの登場と並行して、TUIも進化を遂げました。TUIは、CUIの文字ベースの操作を継承しつつ、GUIの思想を取り入れ、二次元的な画面表示やマウスなどの入力デバイスをサポートするようになりました。

ANSI互換端末でのTUI



ANSI規格(ANSI X3.64)は、エスケープシーケンスの標準を定めたもので、TUIを生成するために使用されます。ANSIエスケープコードを利用することで、カーソルの移動、文字色の変更、画面のクリアなど、さまざまな操作がテキストベースで可能になります。ただし、すべての端末がANSI規格に完全準拠しているわけではなく、機能的には同等だが非互換のエスケープシーケンスをサポートする端末も存在します。ここでいう端末とは、ハードウェアとしてのディスプレイ端末を指し、文字コードを人間が理解できる文字に変換する機能を持っています。後にソフトウェアとして実装されると、これはターミナルエミュレーターと呼ばれるようになります。

MS-DOSおよびMicrosoft WindowsでのTUI



IBM PCとその互換機では、BIOSやMS-DOSのシステムコールが画面に文字を出力する手段を提供していました。ANSI.SYSドライバを利用することで、ANSIエスケープシーケンスの処理も可能でしたが、スクリーンバッファに直接データを書き込む方が高速で、プログラムも単純化されるため、多くのTUIプログラムが開発されました。初期のMS-DOSでのTUIは、青い背景に白や黄色の文字で表示されることが多かったですが、色のカスタマイズが可能になったものも多く、プルダウンメニューやダイアログボックスが追加され、GUIの影響を受けて高機能化していきました。有名なMS-DOS上のTUIソフトウェアとしては、Microsoft Word、MS-DOS Shell、WordPerfect、Norton Commander、Borland Turbo C、Lotus 1-2-3などがあります。初期のWindowsにはMS-DOSソフトウェアを表示するためのコンソールが含まれており、後のバージョンではコマンド行インタフェースやTUIプログラムのためにWin32コンソールが追加されました。

Unix系システムでのTUI



Unix系オペレーティングシステムでは、TUIの構築にcursesライブラリや、その互換であるncursesがよく使われます。cursesはBSDで開発され、TUIのための移植性が高く安定したAPIを提供します。これにより、さまざまな端末で同じAPIを使ってTUIを実現できるようになり、画面全体を使ったTUIプログラムが多数開発されました。viなどのテキストエディタ、pineやMuttなどの電子メールクライアント、SMITなどのシステム管理ツール、lynxなどのウェブブラウザがその例です。Linuxが普及するにつれて、MS-DOSユーザーがUnix系プラットフォームに移行するようになり、MS-DOSに影響を受けたTUIが作られるようになりました。例えば、MS-DOSの通信プログラムTelixをベースとしたminicomや、TUIベースのデスクトップ環境Twinなどが挙げられます。

TUIのまとめ



TUIは、テキストベースのインターフェースでありながら、GUIの概念を取り入れ、二次元的な画面表示やマウス操作などを実現したものです。初期のコンピュータでは文字コードを基盤としたシンプルなインターフェースでしたが、技術の発展とともに進化を遂げてきました。現在でも、ターミナルアプリケーションや特定のシステム管理ツールなどで利用されており、コンピュータの歴史と深く関わっています。

関連項目



端末
キャラクタユーザインターフェース
コンソールアプリケーション
ncurses
* ローグライクゲーム

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。