Linuxの端末に関する世界観です。
機械いじりが子供のごろから好きだった父親の話を参考にしています。
昔のコンピュータは、コンピュータそのものが高価かつ大型であったことから、今のように個人が専有する「パソコン」ではなく、ひとつの中央コンピュータに何台もの「端末」が繋がる形のコンピュータが一般的でした。
それぞれの端末デバイスは、計算能力や記憶能力を持っておらず、端末が接続したひとつのコンピュータにだけ、計算処理装置や記憶処理装置があり、端末は主に入力と出力などの「操作と確認」を行うものでした。
UNIXのようなマルチユーザー・マルチタスクのタイムシェアリングシステムで、コマンドライン操作を行うのは、この端末を中心とした入出力デバイスで行うのが基本となっています。たくさんのユーザーが同時にログインして、複数のタスクを同時に動かすのが前提となっています。
端末には歴史があります。まず、UNIXの黎明期に使われていたのがテレタイプと呼ばれる端末で、出力はプリンター、入力は紙テープやタイプライターでした。
UNIXでは端末のことを「tty」と呼びますが、これはテレタイプ(teletype)から来ています。
その次に普及したのが、文字だけを表示できるモニタと、キーボードのキャラクタ端末・ダム端末です。モニタには文字しか表示できず、コンソール(黒画面の端末)のような画面で操作を行いました。
その後に、ビットマップの点による画像を表示できる、ビットマップディスプレイ・X端末が普及しました。この頃から、GUIのアプリケーションを操作できるようになりました。
詳しくは以下の書籍が参考になります。
古いコンピュータ(メインフレーム・ミニコン)やX11も参照のこと。
現代のパソコンでは、それぞれのパソコンに計算装置と記憶装置が備わっており、ターミナルで使うのであっても、Xで使うのであっても、端末として特別なハードウェアは必要ありません。便宜上、コンソールやコマンドライン操作画面のことを端末と呼ぶことはあります。
UNIXでは、端末を使ってコマンドラインのプログラムを操作しますが、この端末を現代のXでソフトウェアでエミュレートして再現したのが「端末エミュレータ」です。現代のLinuxでは、Xで端末エミュレータを使うか、あるいは黒画面の仮想コンソールで操作することで、コマンドライン操作を行います。
Linuxでは、GNOMEやKDEのような「Windowsを模した統合デスクトップ環境」の上で、端末エミュレータを使ってコマンドライン操作を行うのが一般的です。
このような経緯と設計があることから、UNIXは昔から、大量のタスクやリクエストを安定して壊れずにさばくのに向いています。FreeBSDなどのBSD系のUNIXは、昔からネットワークや大量のタスクをさばくのが得意で、Linuxでもこれは変わりません。UNIXではWindowsよりも早くからネットワークの機能も充実しており、そのため、LinuxやBSDなどのUNIXは今でもサーバーで標準的に使われます。逆に、WindowsのようにグラフィックスやGUI操作を前提として作られていないため、WindowsのようなGUIシステムは不得意で、現在でも、X11を使うのであっても端末エミュレータからコマンド操作をしなければ使えません。
端末は一般的に、以下の3つに分けられる。
・キーボードとモニタにじかに繋がった端末
・シリアル回線(モデム・RS-232回線)の端末
・ネットワーク上の端末
/dev/tty0が一番目、tty1が二番目の仮想コンソール。また/dev/ttyS0は一番目のシリアル回線の端末を意味するデバイスファイル。
端末のストリームを読むとキーボードからの入力が得られ、端末のストリームに書くとモニタに文字を表示できる。
詳しくは以下の書籍が参考になります。
ttyとpts(sshやtelnetでリモートログインした時に使われるデバイスファイル)について詳しくは、以下を参照のこと。
Linuxデバイスファイルも参照のこと。
仮想コンソール機能を使うことで、LinuxをDOSのような黒画面のコマンドライン環境で使っている時に、画面を複数使ってログインシェルを複数起動することが出来る。
Alt+F1~F6で切り替えられる。Xからの切り替えはCtrl+Alt+F1~F6。
また、X11のウィンドウシステムの画面はAlt+F7に設定されていることが多い。
GNU Screenはコンソールでもウィンドウシステムと同じように画面を作成・破棄できるソフトウェア。複数の端末でウィンドウシステムのように並列して作業することができる。
後日注記:また、GNU Screenは起動元のプロセスが消えても処理を継続することができる機能があり、リモートからバッチ処理を行うような時にも使える。
tmuxという新しいソフトウェアも開発されている模様。
byobuというソフトウェアもある。
昔は、今のようなテレビやディスプレイはなく、遠くに離れたデータを転送するためには、テレタイプという方法を使っていました。
欧米で、昔から使われた文字の入力・印刷機械に、タイプライターがあります。タイプライターは、キーボードに文字が並んでいて、タイプすることで文字の字体(フォント)を紙に転写します。
テレタイプは、あるタイプライターでタイプした内容を、遠く離れた別のタイプライターに、機械的に転送することができます。
情報通信技術では、文字をデジタル情報(コード・符号)に直して、文字を数値化した符号を送ることができますが、この符号は標準化されています。まだ日本語のような英語以外の文字を扱わなかった時代に、基本的な英語のアルファベットや、数字や基本的な記号を、数値に直す際に、どの文字は何番だ、という符号化を、ANSIというアメリカの標準化団体が、ASCIIという文字コードで標準化しました。
転送には、昔は電話線を用いていました。ですが、電話線はアナログな音声を伝えるものであり、デジタルデータの転送には適していません。ここで生まれたのが、アナログな音声とデジタルなデータを変換する機械であるモデムです。モデムは昔のインターネットで電話線を通じて通信するためによく使われていました。
通信技術において、有線の電信・電話線があることは昔は重要でした。その理由は、無線がなかったからです。なので、戦争で通信兵などは、ジャングルの奥地を切り開いて、電信・電話基地を開設するという、通信手段を確保する上で、とても重要な仕事をしていました。
ですが、無線が使われるようになると、有線で電信・電話線を張り巡らせなくても、ひとつの中央の無線基地局から、無線で通信ができるようになりました。
無線の歴史は古く、電話よりもモールス信号を使った無線通信が古くからあり一般的でした。モールス信号は、「ツー」と「トン」の二種類の信号で、アルファベットを信号に直して転送します。昔のアマチュア無線でも、昔はモールス信号を使っていました。
そのようなテレタイプは、FAXの登場によって置き換えられました。FAXはやはり電話線を使いながら、画像を転送して再生することのできる装置です。FAXは今でも使われています。そのうち、映像を転送できるテレビ放送が生まれ、文字だけを表示できるキャラクタ端末や、テレビと同様のCRTディスプレイが作られるようになり、またインターネットの登場によってデジタル回線が引かれるようになりました。
2025.01.18-19