テキストユーザインタフェース
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/10/23 17:46 UTC 版)
|
|
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2020年12月)
|
テキストユーザインタフェース(英: text user interface、TUI)は、テキスト(文字コード)をデータとしてそのまま画面などのユーザインタフェースとのやり取りに使用するためのコンピュータ用語である。TUIと略されて使用されることもよくある。
コンピュータ利用でのユーザー入出力のために、テキスト(文字コード)が表示装置(ディスプレイ)に送られ、ディスプレイ側に「ハード的に用意された文字情報で文字を表示する」のがテキストベースといわれる表示方法の基本的動作である。コンピュータ側での計算も、ディスプレイまでの通信信号経路でも、文字コードだけなので計算データ量、通信データ量が必要最低限ですむ。このデータ表示方法は、線形でデータストリーム型の1次元的表示である。ユーザーが画面でみるときは、当初は一行だけだった。さらに複数行のディスプレイにより改行コードによって複数行にみえるようにもなった。しかし、データ自体に行の概念はない。これが後年グラフィカルユーザインタフェース (GUI) 登場の後に対比でキャラクタユーザインタフェース (CUI) と名付けられた。
GUIが開発され、ディスプレイにドット情報で2次元的にオンオフや濃淡を表示する技術が登場した。文字も画像も関係なくディスプレイはすべてドット情報を受け取りそのまま表現する。このドットの数が800x600や1920x1080と表現される。
最後に、TUIが登場する。文字データでのやりとりはCUI同様、そこにGUIの思想で、2次元的に画面を使うようにした。GUI同様のマウスなどの入力装置も利用できる。
CUI, TUIは、GUIが考案された後に名づけられたレトロニムである。CUIと呼ばれているものでも多くが厳密にはTUIとなっている。
ANSI互換端末でのTUI
ANSI規格 ANSI X3.64 は、エスケープシーケンスの標準を定義したもので、端末上でTUIを生成するのに使う。これをANSIエスケープコードという。全ての端末がこの規格に完全準拠しているわけではなく、非互換だが機能的には等価なエスケープシーケンスをサポートした端末が多数存在する。ここでの「端末」とは単体の独立したハードウェアとしての「ディスプレイ端末」である。このディスプレイ端末が文字コードを受け取り人間のわかる文字に変換する機能がある。のちにソフトウェアとして実装されるとこれは端末エミュレータと呼ばれるようになっている。
DOSおよびMicrosoft WindowsでのTUI
IBM PC やその互換機では、BIOSとDOSシステムコールが画面に文字を出力する手段を提供しており、ANSI.SYSドライバでANSIエスケープシーケンスを処理できる。しかし、スクリーンバッファに直接データを書き込んだほうが高速で、しかもプログラムが単純化され、バグも作りこみにくくなるということが知られるようになった。このようなプログラミング技法の変化によって、DOS上で多数のTUIプログラムが生み出されるようになった。
多くの場合背景は青で、文字は白か黄色で表示していたが、色をカスタマイズできるようになっていたものも多い。その後、GUIに大きな影響を受け、プルダウンメニューやダイアログボックスが追加されていった。マウス入力にも対応するようになり(EGAやVGAアダプタは文字の形状をソフトウェアで変更可能であったため、グラフィックの解像度で識別可能だった)、さらに高機能化していった。
DOS上でTUIを実現していた有名なソフトウェアとしては、初期のMicrosoft Word、MS-DOS Shell、WordPerfect、Norton Commander、Borland Turbo C(conioライブラリを含む)、Lotus 1-2-3 などがある。これらの一部は1990年代初めにWindows 3.xが登場してからも生き延びた。例えば、Microsoft C 6.0 コンパイラはWindows用のGUIプログラムを書くことができたが、それ自体のインタフェースはTUIだった。
初期のWindowsにはDOSソフトウェアを表示するためのコンソールが含まれていた。後のバージョンでは、コマンド行インタフェースやTUIのプログラムのためにWin32コンソールが追加された。コンソールは通常ウィンドウモードで起動されるが、全画面テキストモードに切り替えることもできる(Alt+Enter)。
Unix系システムでのTUI
Unix系オペレーティングシステムでは、TUI構築に端末制御ライブラリであるcursesか、ほぼ互換なncursesを使うことが多い。
BSDで開発されたcursesにより、TUIのための移植性が高く安定したAPIが生まれた。様々な端末で同じAPIでTUIを実現できるため、画面全体を使ったTUIプログラムが多数開発されるようになった。例えば、viなどのテキストエディタ、pineやMuttなどの電子メールクライアント、SMITなどのシステム管理ツール、lynxなどのウェブブラウザである。w3mや初期の pine や vi では curses は使っておらず、より低機能なtermcapライブラリを使い、curses 相当の機能はアプリケーション内部で実現している。
Linuxが広く使われるようになると、DOSユーザーがUnix系プラットフォームに移行するようになり、DOSに影響されたTUIが作られるようになった。例えば、DOS上の通信プログラムTelixをベースとしたUnix系向けのminicomがある。また、移植されたものもあり、例えばTwinというTUIベースのデスクトップ環境がある。
関連項目
- 端末
- キャラクタユーザインタフェース
- コンソールアプリケーション - TUIで操作できるアプリケーション
- ncurses
- ローグライクゲーム
脚注
テキストユーザインタフェース
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/25 02:56 UTC 版)
「ユーザインタフェース」の記事における「テキストユーザインタフェース」の解説
出力はテキスト形式だが、入力はコマンド入力以外の方式も可能なユーザインタフェース。テキスト方式のメニュー操作などを指す。
※この「テキストユーザインタフェース」の解説は、「ユーザインタフェース」の解説の一部です。
「テキストユーザインタフェース」を含む「ユーザインタフェース」の記事については、「ユーザインタフェース」の概要を参照ください。
テキストユーザインタフェースと同じ種類の言葉
- テキストユーザインタフェースのページへのリンク