Share to: share facebook share twitter share wa share telegram print page

 

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

テキストユーザインタフェース英語: 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エスケープコードという。全ての端末がこの規格に完全準拠しているわけではなく、非互換だが機能的には等価なエスケープシーケンスをサポートした端末が多数存在する。ここでの「端末」とは単体の独立したハードウェアとしての「ディスプレイ端末(ディスプレイターミナルDisplay Terminal)」である。このディスプレイ端末が文字コードを受け取り人間のわかる文字に変換する機能がある。のちにソフトウェアとして実装されるとこれはターミナルエミュレーターと呼ばれるようになっている。

MS-DOSおよびMicrosoft WindowsでのTUI

FreeDOS Edit のユーザインタフェース

IBM PCその互換機では、BIOSMS-DOSシステムコールが画面に文字を出力する手段を提供しており、ANSI.SYSドライバでANSIエスケープシーケンスを処理できる。しかし、スクリーンバッファに直接データを書き込んだほうが高速で、しかもプログラムが単純化され、バグも作りこみにくくなるということが知られるようになった。このようなプログラミング技法の変化によって、MS-DOS 上で多数のTUIプログラムが生み出されるようになった。

多くの場合背景は青で、文字は白か黄色で表示していたが、色をカスタマイズできるようになっていたものも多い。その後、GUIに大きな影響を受け、プルダウンメニューダイアログボックスが追加されていった。マウス入力にも対応するようになり(EGAVGAアダプタは文字の形状をソフトウェアで変更可能であったため、グラフィックの解像度で識別可能だった)、さらに高機能化していった。

MS-DOS上でTUIを実現していた有名なソフトウェアとしては、初期の Microsoft WordMS-DOS ShellWordPerfectNorton CommanderBorland Turbo Cconioライブラリを含む)、Lotus 1-2-3 などがある。これらの一部は1990年代初めに Microsoft Windows 3.x が登場してからも生き延びた。例えば、Microsoft C 6.0 コンパイラは Microsoft Windows 用のGUIプログラムを書くことができたが、それ自体のインタフェースはTUIだった。

初期の Windows には MS-DOS ソフトウェアを表示するためのコンソールが含まれていた。後のバージョンでは、コマンド行インタフェースやTUIのプログラムのためにWin32コンソールが追加された。コンソールは通常ウィンドウモードで起動されるが、全画面テキストモードに切り替えることもできる(Alt+Enter)。

Unix系システムでのTUI

電子メールクライアント Mutt の画面

Unix系オペレーティングシステムでは、TUI構築に端末制御ライブラリである curses か、ほぼ互換な ncurses を使うことが多い。

BSDで開発された curses により、TUIのための移植性が高く安定したAPIが生まれた。様々な端末で同じAPIでTUIを実現できるため、画面全体を使ったTUIプログラムが多数開発されるようになった。例えば、vi などのテキストエディタpineMutt などの電子メールクライアントSMIT などのシステム管理ツール、lynx などのウェブブラウザである。w3mや初期の pine や vi では curses は使っておらず、より低機能な termcap ライブラリを使い、curses 相当の機能はアプリケーション内部で実現している。

Linuxが広く使われるようになると、MS-DOSユーザーがUnix系プラットフォームに移行するようになり、MS-DOS に影響されたTUIが作られるようになった。例えば、MS-DOS上の通信プログラム Telix をベースとしたUnix系向けの minicom がある。また、移植されたものもあり、例えば TwinというTUIベースのデスクトップ環境がある。

関連項目

脚注

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9