web-dev-qa-db-ja.com

なぜこれほど多くのターミナルエミュレータパッケージが必要なのですか?それらの用途は何ですか?

これは私にとって長い間とても混乱してきたことです。
Linuxを使用していますが、特定の側面についての理解にギャップがあり、1つはターミナルに関するものです。
私が理解したように、コンソールとは古い端末のエミュレーターです。
しかし、私はこれとの取引が何であるか理解できません。
私が読んだ最も古い端末は、VTシリーズとベクターグラフィックスタイプ(Tektronix)でした。
したがって、現在のエミュレーターはこれらをエミュレートしていると思います。
Linuxでのディスプレイの表示に関する私のニーズは、vimにカラースキームを使用し、ファイルでdiffを実行するときに色を認識することまでに達しました。
しかし、問題が発生した場合は、通常、xterm-256またはscreen-256などを設定するためのアドバイスを見つけます。
さらに、次のことを行います。ls /lib/terminfo/(私が推測する)さまざまな種類のエミュレータータイプの構成を持つディレクトリが約12個あります。

だから私の質問は、これらのxterm-256またはscreen-256と残りは、過去数十年のトップ端末だけをエミュレートするという考えにどのように適合するのかということです。
これほど多くの端末タイプが必要なのは何ですか?それは私がもっと調べるべきものですか?
そして、なぜ今日の最新技術では、VTのようなこれらの古い端末をエミュレートする必要があり、新しいものがないのでしょうか。

おそらく私のニーズは単純すぎて、これの微妙さを理解しすぎているかもしれませんが、それは私を非常に困惑させたものでした。たとえば、colorschemeに問題がある場合は、何をしているのか、何が問題なのかを実際に理解せずに、GoogleでTERMなどについて見つけたものをコピーして貼り付けるだけです。

誰かが私がこれを理解するのを手伝ってくれるなら、それは本当にありがたいです

8
Jim

Unixの奇妙な側面は通常、正当な理由で存在するので、あなたはそれを探すのが正しいです。しかし、この場合、正当な理由は長い間時代遅れになっており、あなたは過ぎ去った時代のアンティークのアーティファクトを見ています。

今日存在するほぼ唯一の「ターミナル」isxterm&バリアント。それらの機能はごくわずかに異なり、いくつかのプログラムにのみ関係します。 xtermを使用するだけで、TERM変数に触れたり、terminfoデータベースを覗いたりしない場合は、一般的に生活が良くなります。

TERM変数は、端末に関する情報を伝達しますto環境を介してアプリケーションを伝達します。 man xterm。変更しても変更されませんterminal;これは、アプリケーションのさまざまな端末機能を表すだけです。

有線端末の時代には、接続された端末を表すようにTERMを設定する必要がありました。 xtermの場合、ソフトウェアは変数自体を設定できます。 vimドキュメントのクイックツアーでは、(コメントで述べているように)色をサポートするように変更する必要があることが示されています。それはあなたにとって進歩です。

なぜ今日... VTのようなこれらの古い端末をエミュレートし、新しいものがないのですか?

答えは技術的であると同時に人類学的でもあります。

GUIの前は、Unixマシンへのアクセスはダム端末を介して行われました。 VT-100。 topのようなシェルとユーティリティはすでに存在していました。 1980年代にGUIが技術的に実用化されたとき(Xが役割を果たした)、Unixユーザーは依然としてそれらのプログラムを使用する必要があったため、xtermは古いVT-100をエミュレートするために発明されました。

それは一時的なものとして意図されていました。 「誰もが」端末は過去であり、GUIは未来であり、誰もが「すべて」にGUIを介してアクセスすることを期待していました。たとえば、元のMacintoshには矢印キーがありませんでした。なぜそれらが必要なのか?確かに、母音が欠落していて無力なヘルプがある、不可解なUnixコマンドライン

$ help
help: not found

すぐにドラムメモリとパンチカードの道を行くでしょう。そして、ある意味でそれは実現しました。WindowsまたはOS Xを実行している10人中9人のユーザーは、テクニカルサポートが何かを修正するために立ち寄る場合を除いて、コマンドラインを表示しません。

次に、UnixGUIに2つのことが起こりました。特にウィンドウズは市場からお金を使い果たしました。それを標準化する大きな動きがあり(SunNewsとOSFMotifを参照)、1990年頃に停止しました。ちょうどその頃、インターネットが普及し、UnixのグラフィカルなものがWebブラウザに移行しました。 Unix用の完全なGUIを設計し、マニュアルのセクション8のすべてを廃止するという動機とお金(ほとんど同じこと)が消えました。

もう1つの理由もあります。それは、コマンドラインがGUIよりも優れているということです。パイプラインと正規表現は、シェルの履歴とスクリプトで繰り返し可能であることは言うまでもなく、非常に強力です。 GUIのコンテキストでも、コマンドラインはsefulのままでした。今日でも強化され続けているほどです。

あなたの質問が示唆するように、必要なのは、GUIが勝利するという仮定の再検討と、その不可欠な部分としての端末の再発明です。プロポーショナルフォントとビットアドレス可能なグラフィックを備えた新しい端末が必要です端末内

残念ながら、誰もそれをする準備ができていないようです。いかなる企業体もそれを引き受けません。市場は巨大ですが、それでもコンピュータユーザーのごく一部にすぎません。論理的な資金提供者はDARPAのような政府機関ですが、ヒューマンインターフェイスの研究は最近「完了」したと見なされています(私たちはすでにGUIを発明していませんか?)。より多くの人々(より多くの人々)がその必要性を認識するまで、xtermはあなたの友達であり、あなたの孫の友達でもある可能性があります。

9
James K. Lowden