GUIとCUIの違いと意義

| GUI と CUI の違い | CUI を勉強する意義 | CUIのその他トピック |

GUI と CUI の違い

コンピュータ用語で「ユーザインタフェース」 (User Interface) とは、「コンピュータと人間を結びつけている仕掛け」のことを言います。皆さんが普段使っているコンピュータは、OS (Operating System) の種類 (Windows、Linux、Mac OS など) に関係なく、ウィンドウやアイコンなどをマウスで操作して、キーボードで文字入力を行うタイプの仕掛けが使われています。これは一般的に GUI (Graphical User Interface) のシステムと言います。これに対し、kterm 等のターミナル内でコンピュータを操作する場合はキーボード入力と画面の文字表示のみでコンピュータを操作することになります。このような仕掛けを CUI (Character User Interface) と言います。

1980年代前半に Apple 社が Lisa や Macintosh を世の中に出すまでは、一般の人はマウスや GUI に触れる機会がなく、コンピュータを使うと言えば CUI のシステムを使っていました。1970年頃に登場した UNIX は当然 CUI のシステムであり、現在も CUI だけのシステムとして動作させることができます。UNIX の仕組みを引き継いでいる Linux も当然 CUI のみで動きます。最近の UNIX / Linux 上では Xウィンドウシステムを利用した GUI のシステム (GNOME や KDE) が構築されています。現在はそれらが標準的に使われるようになったので、Linux も Windows や Mac と大して変わらない GUI の操作性を実現しています。

GUI の利点は、文字だけでなくアイコンなどの絵も表示できて操作できる対象物が明確な点や、マウスで比較的簡単に操作できる点にあります。コンピュータ内の状態や様々な情報を分かり易く表現し、即座に操作結果が反映されることから一般の人には非常に使いやすいものと言えます。しかし、大量のファイルを一度に処理したり、複雑な操作を行ったり、それらを連続して処理させる場合などは、非常に使いづらいという欠点があります(徐々に解決されてはいますが)。

CUI の場合は、コマンドを知らないと何も操作できない(ファイルの一覧すら見ることができない)、操作結果が即座に画面に反映されるとは限らない、など GUI と比べて不便と思える特徴が見受けられます。しかし、コマンドさえ憶えていれば、次のような複雑な操作や連続した処理も簡単に操作できます。

複雑な処理の例:
   ファイル名の先頭が abc で始まり、日付が1週間以内のファイルすべてに対し、拡張子 .test を付け加える。

また、GUI のシステムはグラフィクス描画性能などのハードウェア性能の要求があるのに対し、CUI のシステムは比較的ハードウェアの性能が低くても動きます。世の中には GUI が搭載できない性能のコンピュータも存在します(例えばネットワーク機器のルータなど)ので、CUI でないといけない場面もあります。

ページ先頭へ戻る

CUI の勉強を行う意義

上記の通り CUI は非常に複雑な処理も比較的簡単に操作できます。そして、UNIX / Linux は元々 CUI のシステムであり、CUI の設計思想に基づいたソフトウェアが内部で数多く動いています。実際に、インターネットを始めとする世の中のネットワークを支えている仕組み(サーバ用ソフトウェアなど)は基本的に CUI ベースのソフトウェアなのです。これらのことを踏まえると、コンピュータ内部やネットワークを勉強するために CUI による操作方法(コマンド)およびその仕組みを憶え、慣れておくことは、コンピュータ技術を理解するうえで非常に大事なことだと言えます。

一方で、一般の人が使いやすいと思うソフトウェアを開発するためには GUI の事にも詳しくなる必要があります。そして、今後は GUI が必要とする「モニタ画面」に囚われない、様々な次世代ユーザインタフェースについても勉強する必要がでてきます。これらについては、コンピュータの応用分野として後々勉強してゆけばよいでしょう(使い慣れるだけなら大して時間はかかりませんし)。

とにかく、GUI は誰でも簡単に扱えるわけですから、コンピュータを専門とするなら多少は難しい CUI の操作を理解し、憶えるようにしましょう。

ページ先頭へ戻る

CUI その他のトピック

UNIX コマンドとプロンプト

UNIX / Linux のターミナルで CUI による作業をする場合、非常にたくさんの UNIX コマンドが利用でき、それらを駆使して様々な作業を行います。実際にコマンドを打つ際に、ターミナル上で文字入力の位置を示すカーソルの左側には、常にコマンド入力を促すための文字列が表示されています。例えば、

axt31002(81)%

というようなものです。これを「プロンプト」(prompt) もしくは「コマンドプロンプト」(command prompt) と言います。利用するコンピュータによってプロンプトの文字列が変わるほか、ユーザが表示内容をいろいろ変更したりもできます。とにかく、UNIX / Linux の CUI のシステムでは、このようなプロンプトに対してコマンドを入力することで様々な操作が行えます。

CUI による学外(自宅等)から大学のコンピュータシステムの利用

CUI の操作に慣れていると、自宅の PC から大学のコンピュータ (cc2000.kyoto-su.ac.jp) へログインして利用することもできます。授業などで作成したプログラムファイルは大学のコンピュータシステム上に存在するわけですが、これを自宅から編集してコンパイルしたり、そのファイルを自宅のパソコンや別の場所へ転送するということも可能です。このように、遠隔地にある UNIX / Linux 搭載のコンピュータ環境を利用できれば何かと便利です。

大学のコンピュータシステムへログインするには、Linux や Mac OS X を使っている人であれば、ターミナルのコマンドプロンプトで

% ssh UserID@cc2000.kyoto-su.ac.jp

とコマンド実行して、パスワードを入力すればログインできます(UserID の部分は各自のユーザIDを指定すること)。Windows 系 OS の場合、情報センター提供のネットワークサービスのページ にある「遠隔端末接続」の欄を参照して ssh コマンドが利用できる環境を整えてから、上記の通りにすればログインできます。

ページ先頭へ戻る

Valid HTML 4.01!