web-dev-qa-db-ja.com

ターミナル対シェル

重複の可能性:
シェル、コンソール、ターミナルの違いは何ですか?

これはおそらくばかげた質問のように聞こえますが、シェル(Bourneやbashなど)とGNOMEのターミナルアプリケーションを明確に区別するのに多くの問題があります。両者は完全に違うと思いますが、テキストで書かれた明確な答えが見つからないようです。誰かが両方を明確に区別できますか?

14
Nicklas Olsen

ターミナルプログラムは、シェルへの単なるグラフィカルインターフェイスです。シェルは、実際にコマンドなどを処理するものです。ターミナルプログラムは、グラフィカル環境と対話する方法を提供するだけです。

15
user55325

シェルは典型的なUnixプログラムです。標準入力からコマンドを読み取り、標準出力に何かを出力します。これはシンプルで良いです。

重要な点は次のとおりです。グラフィカル環境(GNOMEやKDEなど)では、プログラムはデスクトップに直接テキストを書き込むことはできません。プログラムができれば、これはすぐに混乱と混乱になります。したがって、他のプログラムがテキストを書き込むことができるスペースを提供するプログラムが必要です。このプログラムは、ユーザーからのキーストロークも受け入れ、それらをバイトシーケンスに変換します。これは、多くのプログラム(GUIではなくコマンドライン、テキストベース)が期待するものだからです。これはすべて、GNOMEターミナルアプリケーションの仕事です。

つまり、シェル(おそらくbash)があり、その周りにGNOMEターミナルがラップされています。 GNOMEターミナルが正確に何を実行できるかを確認するには、(Alt + F2)gnome-terminalxtermおよびrxvtの間にあり、それらがどこで異なり、何が共通しているかを確認します。

8
Roland Illig

あなたが本当に求めているのは、consolextermのようなterminalアプリケーションの違いは何だと思いますか?

その場合、コンソールはマシンに対してローカルであり、コンソールは1つしか存在できません。コンソールの出力は/dev/consoleに送られます。これは通常、モニターを意味します。一方、端末は、実際には、メインフレームが部屋全体と同じくらい大きく、ユーザーがメインフレームから離れたダム端末と対話していた時代を思い起こさせる端末エミュレーターです。端末は、シリアル回線を介してメインフレームと対話するために端末コマンドを送信します。現在でも端末を使用していますが、端末はエミュレートされているため、複数の端末を使用でき(それぞれ、/dev/pts#のような疑似ttyに関連付けられています)、リモートで使用して、暗号化されたSSHチャネルを介して接続を転送することもできます。インターネットに沿って。

コンソールとターミナルアプリケーションの両方が、ログイン時にシェルを呼び出します。

1
SiegeX