92 lines
10 KiB
Markdown
92 lines
10 KiB
Markdown
---
|
|
source_url: "https://gigazine.net/news/20240630-state-of-terminal/"
|
|
ingested: 2026-06-30
|
|
sha256: 36c0408795b518ec031b94e1a4945422f7460ec8d439f35b1102b2a27fa1668c
|
|
discovered_from:
|
|
platform: discord
|
|
channel_id: "1477793137064935675"
|
|
channel_name: "tw"
|
|
message_id: "1521460815574863942"
|
|
author_id: "1477793167486226708"
|
|
posted_at: "2026-06-30T10:22:05.808000000Z"
|
|
message_excerpt: "ターミナルがなぜ黒背景に白字になったかという記事は、いまの開発環境の見慣れたUIがどこから来たのかを辿る軽めの技術文化史です."
|
|
---
|
|
|
|
2024年06月30日 13時00分 [ソフトウェア](https://gigazine.net/news/C4/)
|
|
|
|
[](https://i.gzn.jp/img/2024/06/30/state-of-terminal/00.jpg)
|
|
|
|
|
|
PCを用いたアプリケーション開発やファイルの操作などを行う際、ユーザーがテキストベースでコマンドを入力して、コンピューターのシステムやアプリケーションを制御するためのホストアプリケーション「 **[ターミナル](https://learn.microsoft.com/ja-jp/windows/terminal/)** 」が用いられることがあります。このターミナルについて、ソフトウェアエンジニアの **[グレゴリー・アンダース](https://gpanders.com/)** 氏がその歴史などについて解説しています。
|
|
|
|
**State of the Terminal | g.p. anders**
|
|
**[https://gpanders.com/blog/state-of-the-terminal/](https://gpanders.com/blog/state-of-the-terminal/)**
|
|
|
|
[](https://gpanders.com/blog/state-of-the-terminal/)
|
|
|
|
|
|
現代まで続くターミナルは、 **[Digital Equipment Corporation](https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E3%83%BB%E3%82%A4%E3%82%AF%E3%82%A4%E3%83%83%E3%83%97%E3%83%A1%E3%83%B3%E3%83%88%E3%83%BB%E3%82%B3%E3%83%BC%E3%83%9D%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3)** が1978年に発売したビデオ表示端末の **[VT100](https://ja.wikipedia.org/wiki/VT100)** にそのルーツをたどることができます。
|
|
|
|
[](https://www.flickr.com/photos/stiefkind/30280228885/)
|
|
|
|
by [Wolfgang Stief](https://www.flickr.com/photos/stiefkind/)
|
|
|
|
ビデオ表示端末とは、それ以前の **[テレタイプ端末](https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%AC%E3%82%BF%E3%82%A4%E3%83%97%E7%AB%AF%E6%9C%AB)** を改良したものです。テレタイプ端末はキーボードで入力した内容や受信したメッセージを紙に出力するものでしたが、ビデオ表示端末は紙を使うことなく、インタラクティブなインターフェイスを備え、ディスプレイ上に情報を表示することができました。
|
|
|
|
VT100の登場まで、ビデオ表示端末は各デバイスごとに独自の **[エスケープシーケンス](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%97%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B9)** を使用していました。そのため、当時のアプリケーションにはどのシーケンスを使うべきかを考えるプロセスが必要となり、さらなる発展の妨げとなっていました。
|
|
|
|
そこで、このような問題を解決するために、 **[Termcap](https://ja.wikipedia.org/wiki/Termcap)** などの **[ヘルパープログラム](https://atmarkit.itmedia.co.jp/icd/root/97/5798697.html)** などが開発されました。現代でも、Termcapの改良版である **[ライブラリ](https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA)** である **[Terminfo](https://ja.wikipedia.org/wiki/Terminfo)** が使用されています。
|
|
|
|
その後、ECMA-48やANSI X3.64のようなエスケープシーケンスの規格が整備され、VT100はこれらのエスケープシーケンス規格をサポートした最初のビデオ表示端末となりました。VT100は標準エスケープシーケンス規格をサポートすることで、確実なプログラムの起動が可能になりました。その結果VT100は高い人気を集め、多くのクローンが生み出されたそうです。
|
|
|
|
[](https://www.flickr.com/photos/stiefkind/15272092560/)
|
|
|
|
by [Wolfgang Stief](https://www.flickr.com/photos/stiefkind/)
|
|
|
|
VT100のターミナルをベースとして、1984年にはマサチューセッツ工科大学でX Window Systemの標準的なターミナルソフトである **[xterm](https://ja.wikipedia.org/wiki/Xterm)** が開発されました。xtermは従来のビデオ表示端末にはなかったマウストラッキングや設定可能なカラーパレットなどの機能を備えており、複数のクローンがこれらの機能をコピーすることになりました。こうしてxtermはターミナルソフトにおける新しいデファクトスタンダードに成長したとのこと。
|
|
|
|
現代のターミナルベースのアプリケーションでは、ユーザーは自身が確認できるテキストと、ターミナルの状態を変更する制御コードという2種類のデータをターミナルに書き込むことになります。制御コードには、カーソルを現在の行の先頭に移動する「/r」や、カーソルを次の行に移動する「/n」などの **[C0制御コード](https://en.wikipedia.org/wiki/C0_and_C1_control_codes)** などが用いられます。
|
|
|
|
これらのターミナルは、シェルから直接コードを実行することができるなど、基本的には非常に使いやすく設計されています。しかし、現代のターミナルエミュレーターのシステムを支えるのは、xtermのような古いテクノロジーであるため、「CtrlやAltなどの修飾キーの扱い方」などの問題が生じてきました。
|
|
|
|
[](https://i.gzn.jp/img/2024/06/30/state-of-terminal/04.jpg)
|
|
|
|
|
|
それでも、度重なるアップデートや開発によってこれらの問題は解決に向かいつつあります。アンダース氏は「ターミナルの基盤となるテクノロジーは、現代のテクノロジーの基準からすると非常に古いものとなっています。しかし、これは欠点ではなく強みです。ターミナルソフトは登場したり消えたりしていきますが、ターミナルの基盤となるプラットフォームが消えることはありません」と述べています。
|
|
|
|
**・関連記事**
|
|
**[ターミナルの文字列出力にかっこいいエフェクトを追加できるライブラリ「TerminalTextEffects」 - GIGAZINE](https://gigazine.net/news/20240529-terminal-text-effects)**
|
|
|
|
**[1930年製のタイプライターをLinuxのターミナル画面にしてアスキーアートまで打ち込ませてしまうムービー - GIGAZINE](https://gigazine.net/news/20200418-typewriter-1930-linux-terminal)**
|
|
|
|
**[ターミナル上でサクッと遊べるテキストベースのシューティングゲーム「Terminal Phase」 - GIGAZINE](https://gigazine.net/news/20200125-terminal-phase)**
|
|
|
|
**[無料でターミナルからグラフィカルにウェブサイトを表示できるテキストベースブラウザ「Browsh」 - GIGAZINE](https://gigazine.net/news/20201119-browsh)**
|
|
|
|
**[1992年のハッカー映画「スニーカーズ」の有名なデータ復号エフェクトを再現するコマンドラインツール「No More Secrets」 - GIGAZINE](https://gigazine.net/news/20230730-no-more-secrets)**
|
|
|
|
**[ターミナルでYouTubeを見たりDOOMを動かしたりできるChromiumベースのブラウザ「Carbonyl」 - GIGAZINE](https://gigazine.net/news/20230130-carbonyl-chromium-running-inside-terminal)**
|
|
|
|
**・関連コンテンツ**
|
|
|
|
- [](https://gigazine.net/news/20250903-return-enter-key/)
|
|
[ReturnキーやEnterキーの誕生経緯](https://gigazine.net/news/20250903-return-enter-key/)
|
|
- [](https://gigazine.net/news/20201227-emoji-utf-8/)
|
|
[絵文字の偉大な功績の1つは「文字コードを統一したこと」](https://gigazine.net/news/20201227-emoji-utf-8/)
|
|
- [](https://gigazine.net/news/20200704-how-vim-become-popular/)
|
|
[全能テキストエディタ「Vim」の歴史と開発者に広く普及した理由](https://gigazine.net/news/20200704-how-vim-become-popular/)
|
|
- [](https://gigazine.net/news/20221108-fortran-programming-code/)
|
|
[世界初の高水準言語「Fortran」が考案から約70年経ってもいまだに使用されている理由とは?](https://gigazine.net/news/20221108-fortran-programming-code/)
|
|
- [](https://gigazine.net/news/20231224-ancient-computer-all-caps/)
|
|
[古いコンピュータやOSで小文字ではなく大文字が使用されていた理由とは?](https://gigazine.net/news/20231224-ancient-computer-all-caps/)
|
|
- [](https://gigazine.net/news/20200418-typewriter-1930-linux-terminal/)
|
|
[1930年製のタイプライターをLinuxのターミナル画面にしてアスキーアートまで打ち込ませてしまうムービー](https://gigazine.net/news/20200418-typewriter-1930-linux-terminal/)
|
|
- [](https://gigazine.net/news/20211113-amiga-at-nasa/)
|
|
[NASAのスペースシャトル打ち上げを制御していたのは「Amiga」だった](https://gigazine.net/news/20211113-amiga-at-nasa/)
|
|
- [](https://gigazine.net/news/20070606_windows_mobile_6_japanese/)
|
|
[本日より提供開始された「Windows Mobile 6日本語版」の機能は?](https://gigazine.net/news/20070606_windows_mobile_6_japanese/)
|
|
|
|
2024年06月30日 13時00分00秒 in [ソフトウェア](https://gigazine.net/news/C4/), Posted by darkhorse\_log
|
|
|
|
You can read the machine translated English article **[What is the background behind the white …](https://gigazine.net/gsc_news/en/20240630-state-of-terminal)**.
|