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

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
一部のファイルマネージャーはTUIを実装していますここでは:Midnight Commander
Vimは非常に広く使用されているTUIテキストエディタです

コンピューティングでは、テキストベースのユーザーインターフェイスTUI )(テキストだけでなくコンピューター端末のプロパティへの依存を反映するために、代わりに端末ユーザーインターフェイス)は、初期の形式として一般的なユーザーインターフェイス(UI)のタイプを説明するレトロニムです。グラフィカルユーザーインターフェイス(GUI)が登場する前の、人間とコンピューターの相互作用のGUIと同様に、画面領域全体を使用して、マウスやその他の入力を受け入れる場合があります。また、色を使用することもあり、多くの場合、特別なグラフィック文字を使用して表示を構成します。┌や╣など、Unicodeでは「ボックス描画」セットと呼ばれます。現代の使用状況は通常、ターミナルエミュレータです。

テキスト端末の種類

テキストアプリケーションの観点から、テキスト画面(およびそれとの通信)は、次の3つのタイプのいずれかに属することができます(ここでは、アクセシビリティの低い順に並べられています)。

  1. ビデオアダプタまたは中央処理装置自体によって制御される、本物のテキストモード表示これは、さまざまなタイプのパーソナルコンピュータモバイルデバイスでローカルに実行されているアプリケーションの正常な状態ですオペレーティングシステムによって阻止されない場合、スマートプログラムはハードウェアテキストモードの全機能を利用する可能性があります。
  2. テキストモードエミュレータ例としては、xtermのためのX WindowシステムWin32コンソール用(ウィンドウモード)でのMicrosoft Windowsこれは通常、実際のテキストモード表示を期待するプログラムをサポートしますが、実行速度がかなり遅くなる場合があります。独自のフォントのアップロードなど、高度なテキストモードの特定の機能は、ほぼ確実に使用できなくなります。
  3. リモートテキスト端末通信機能は通常、シリアル回線またはそのエミュレーションに限定され、TelnetSecure Shellなどの場合、帯域外チャネルとしてioctl()がほとんど使用されない可能性がありますソフトウェアの制限によりリモートディスプレイデバイスの機能の使用が妨げられるため、これは最悪のケースです。

のLinuxや他のUnixライクなシステム、プログラムを容易に収容し、同じインターフェイス(即ち、ので、3例任意に標準ストリームが)ディスプレイとキーボードを制御します。また、専用のプログラミングライブラリは、特定のディスプレイデバイスとそのインターフェイスに適した方法でテキストを出力するのに役立ちます。Windowsとの比較については、以下参照してください

ANSI互換端末の場合

米国規格協会(ANSI)の標準ANSI X3.64は、端末を駆動してTUIを作成するために使用できるエスケープシーケンスの標準セットを定義しています( ANSIエスケープコードを参照)。エスケープシーケンスは、上記のセクションで説明した3つのケースすべてでサポートされている場合があり、任意のカーソル移動と色の変更が可能です。ただし、すべての端末がこの標準に準拠しているわけではなく、互換性はないが機能的に同等のシーケンスが多数存在します。

DOSおよびMicrosoftWindowsの場合

FreeDOSEditユーザーインターフェイス

上のIBMパーソナルコンピュータ互換、基本入出力システム(BIOS)とDOSのシステムコールは、画面上の書き込みテキストへの道を提供し、ANSI.SYSのドライバが標準ANSIエスケープシーケンスを処理することができます。ただし、プログラマーはすぐに、データを画面バッファー直接書き込む方がはるかに高速でプログラミングが簡単で、エラーが発生しにくいことを学びました詳細については、VGA互換テキストモードを参照してください。このプログラミング方法の変更により、多くのDOSTUIプログラムが作成されました。win32コンソール環境は、特定のEGA / VGAテキストモード機能のエミュレーション、特にアプリケーションがウィンドウで実行されている場合でもテキストバッファへのランダムアクセスで有名です。一方、Windowsで実行されているプログラム(ネイティブアプリケーションとDOSアプリケーションの両方)は、前述のwin32コンソール層があるため、LinuxおよびDOSプログラムよりもディスプレイとキーボードの制御がはるかに少なくなります。

インパルストラッカーのマウスカーソルより正確なカーソル(ピクセルあたりの解像度)は、カーソルが表示されている場所で使用される文字のグリフを、マウスを動かすたびにリアルタイムで再生成することで実現されました。[要出典]

ほとんどの場合、これらのプログラムはメイン画面に青色の背景を使用し、白または黄色の文字を使用していましたが、通常はユーザーによる色のカスタマイズもありました。彼らはIBMのコードページ437でしばしば罫線素片を使用しいました。その後、インターフェイスはグラフィカルユーザーインターフェイス(GUI)の影響を強く受け、プルダウンメニュー、オーバーラップウィンドウダイアログボックスニーモニックまたはキーボードショートカットで操作されるGUIウィジェットが追加されました。すぐにマウス入力が追加されました–単純な色付きのボックスとしてのテキスト解像度、またはの機能のおかげでグラフィック解像度のいずれかでEnhanced Graphics Adapter(EGA)およびVideo Graphics Array(VGA)ディスプレイアダプタは、ソフトウェアによってテキスト文字の形状を再定義し、 追加機能を提供します。

この種の注目すべきプログラムには、Microsoft WordDOS ShellWordPerfectNorton CommanderTurboVisionベースのBorlandTurboPascal TurboC(後者にはconioライブラリが含まれています Lotus1-2-3などがあります。これらのインターフェイスの一部は、1990年代初頭のMicrosoft Windows3.1x期間中も存続しました。たとえば、16ビットWindowsで真のGUIプログラムを作成するために使用されるMicrosoft C 6.0コンパイラには、独自のTUIがあります。

Microsoft Windowsには、発売以来、DOSソフトウェアを表示するためのコンソールが含まれています。それ以降のバージョンでは、コマンドラインインターフェイスおよびTUIプログラムのネイティブインターフェイスとしてWin32コンソールが追加されました。コンソールは通常ウィンドウモードで開きますが、 AltキーEnterキーを同時に押すことで、フルテキストモード画面に切り替えることができ、その逆も可能です。フルスクリーンモードはWindowsVista以降では使用できませんが、いくつかの回避策で使用できる場合があります。[1]

Unixライクなシステムでは

グラフィカルシステムを構成するためにMandrivaLinuxで使用されるTUIである「XFdrake」のスナップショット

Unixライクなオペレーティングシステム、TUIsは、多くの場合、端末制御用いて構築されたライブラリの 呪い、またはncursesの(ほとんど互換ライブラリ)、または別のS-ラングライブラリ。Berkeley Unixでのcursesライブラリの出現により、TUIを作成するためのポータブルで安定したAPIが作成されました。同じインターフェイスを使用してさまざまなテキスト端末タイプと通信できるようになったため、単純なラインインターフェイスを使用する代わりに、端末画面全体を占める「ビジュアル」Unixプログラムがより広く使用されるようになりました。これはviメールクライアントなどのテキストエディタで確認できます。以下のようなmuttのような、システム管理ツールSMITSAMFreeBSDのさんのsysinstallWebブラウザなどのオオヤマネコw3mなどの一部のアプリケーション、および古いバージョンのpineviは、使いにくいtermcapライブラリを使用して、アプリケーション内のcursesに関連する機能の多くを実行します。ウィジェットに基づくカスタムTUIアプリケーションは、ダイアログプログラム(ncursesに基づく使用して簡単に開発できます。ホイップテールプログラム( S-Langに基づく)。

さらに、Linuxの人気の高まりにより、多くの元DOSユーザーがUnixライクなプラットフォームに移行し、多くのTUIでDOSの影響力が高まっています。たとえば、プログラムminicomは、人気のあるDOSプログラムTelixをモデルにしています。Twinデスクトップなど、他のいくつかのTUIプログラムが移植されました。

ほとんどのUnixライクなオペレーティングシステム(Linux、FreeBSDなど)は仮想コンソールをサポートしており、通常はCtrl-Alt-Fキーの組み合わせでアクセスします。たとえば、Linuxでは最大64台のコンソールにアクセスでき(ファンクションキーを介して12台)、それぞれがフルスクリーンテキストモードで表示されます。

無料のソフトウェアプログラムGNUScreenは、単一のTUI内で複数のセッションを管理するために提供されているため、テキストモードおよびコマンドラインインターフェイスのウィンドウマネージャーのようなものと考えることができます。 Tmuxもこれを行うことができます。

独自のmacOS テキストエディタ BBEditに、フルスクリーンのシェルウィンドウとして機能するシェルワークシート機能が含まれています。無料 Emacsのテキストエディタは、同様の機能を提供するために、そのバッファの1のシェル内部を実行することができます。Emacsにはいくつかのシェル実装がありますが、ansi-termTUIプログラムの実行にのみ適しています。他の一般的なシェルモード、shellおよびeshellコマンドラインとTUIプログラムのみをエミュレートすると、「ターミナルが完全に機能していません」と文句を言うか、インターフェイスが文字化けします。無料 のVimNeovimテキストエディタは、ターミナルウィンドウを持っている(シミュレートするのxterm)。この機能は、ジョブ、並列ビルド、またはテストの実行を目的としていますが、軽量のターミナルマルチプレクサとして(ウィンドウ分割とタブページで)使用することもできます。

ActiveX

VAX / VMS(後にOpenVMSとして知られる)には、画面管理機能またはSMGとして知られるcursesと同様の機能がありましたこれは、コマンドラインから呼び出すことも、SMG $ライブラリを使用するプログラムから呼び出すこともできます。[2]

オベロン

画像といくつかのテキストビューアを示すOberonシステムのデスクトップのスクリーンショット

別の種類のTUIは、Oberonオペレーティングシステムのプライマリインターフェイスであり、1988年に最初にリリースされ、現在も維持されています。他のほとんどのテキストベースのユーザーインターフェイスとは異なり、Oberonはテキストモードのコンソールまたは端末を使用しませんが、テキストがマウスクリックの主なターゲットである大きなビットマップディスプレイを必要とします。この形式のコマンドは、ハイパーリンクのように、中クリックでアクティブ化できます 画面上の任意の場所に表示されているテキストを編集でき、必要なコマンド構文でフォーマットされている場合は、中クリックして実行できます。適切にフォーマットされたコマンドを含むテキストファイルは、いわゆるツールテキストとして使用できます。Module.Procedure parameters ~、したがって、ユーザー設定可能なメニューとして機能します。前のコマンドの出力も編集して、新しいコマンドとして使用できます。このアプローチは、従来のダイアログ指向のコンソールメニューまたはコマンドラインインターフェイスの両方とは根本的に異なります。

グラフィカルウィジェットを使用せず、プレーンテキストのみを使用しますが、タイル型ウィンドウマネージャーを備えたGUIと同等の機能を提供するため、テキストユーザーインターフェイスまたはTUIと呼ばれます。簡単な紹介については、最初に公開されたOberonシステムに関するレポートの4ページの2番目の段落を参照してください[3]

OberonのUIは、BellLabsオペレーティングシステムのPlan9用のAcmeテキストエディタと電子メールクライアントの設計に影響を与えました

組み込みシステムの場合

LCD画面にメニューを表示する組み込みシステム

最新の組み込みシステムは、パーソナルコンピュータのようなモニターにTUIを表示することができます。この機能は通常、専用の集積回路、モジュール、またはFPGAを使用して実装されます

ビデオ回路またはモジュールは、通常は使用して制御されているVT100上で互換命令セットをUART[要出典] FPGAは、通常、直接ビデオメモリへのアクセスを許可する設計します。[要出典]

その他の用途

  • コモドール648ビットコンピューターフルスクリーンエディターは、当時の市場セグメントで進歩していました。ユーザーは、カーソルを画面領域全体に移動して、BASICプログラム行を入力および編集したりダイレクトモードコマンドを実行したりできます。すべてのコモドア8ビットコンピューターは、TUIの作成に適した文字グリフを含むPETSCII文字セットを使用していました。
  • AppleのMacintoshProgrammer's Workshopプログラミング環境には、TUIシェルであるCommandoが含まれていました。これは、BBEditのシェルワークシートのインスピレーションでした。
  • その後のAppleIIモデルには、TUIの作成に使用される一連のグラフィカルグリフであるMouseTextが含まれていました。
  • 1982年CorvusConceptコンピューターは、フルページのピボットディスプレイでファンクションキーベースのテキストインターフェイスを使用していました。

も参照してください

プログラミングライブラリの例

参考文献

  1. ^ Windows7のcmdプロンプトの全画面表示Social.technet.microsoft.com。2013年6月15日に取得。
  2. ^ 「OpenVMSRTL画面管理(SMG $)マニュアル」hpe.com2001 2021-01-01を取得
  3. ^ Niklaus Wirth&JürgGutknecht:(1988)オベロンシステム。レポート番号 88