web-dev-qa-db-ja.com

「xterm」と「screen」はどのように関連していますか?

Screenとxtermの間に微妙な違いや大きな違いがあるかどうかはよくわかりません。私は以前にscreenを使用したことがあり、マルチプレクサのようなものとして説明されていて、xtermを数回試しました。誰かが2つの違いだけでなく、両方の長所と短所を説明できますか?

3
ryekayo

実際の端末 それほど頻繁には表示されませんが、たとえばLinuxテキストコンソールは(CTRL +) ALTF1 使って F6 端末と見なされます。

xtermは、x-windowシステムとグラフィカルユーザーインターフェイスを実行するシステム用のターミナルエミュレータです。通常は単一のプロセス(デフォルトでは対話型シェル)を実行する単一の端末のみを提供します。 Konsoleおよび同様にGnome Terminalは、GUI用の少し高度なターミナルエミュレータです。

ターミナルまたはxtermやPuTTYなどのターミナルエミュレーター内からscreenを実行します。その単一の端末では、ウィンドウ画面は複数の仮想端末を実行するウィンドウマネージャーのように機能します。

9
HBruijn

の観点からxtermおよびscreen

どちらも、実際のハードウェアデバイスの「ターミナル」のエミュレーションです。 VT100:

vt100
VT100-ウィキメディアコモンズ

  • xterm1つの端末をエミュレートし、GUIウィンドウ 画面上で

  • screen複数の端末をエミュレートしますが、実際には出力部分をエミュレートしません-それ自体がプログラムのように動作します-に表示するには端末が必要ですが、1つだけ

それらは異なるを解決しますが、関連の問題を解決します-そして組み合わせて解決することができますより複雑なユースケース:


たとえば、それぞれに端末が必要な2つのプログラムを実行できます。
そしてscreenに、それぞれが端末を取得するふりをさせます。
画面に必要なのは1つだけです。
そして、実際に端末を使用する代わりに、次のことができます。
xtermを使用して端末をエミュレートし、screenの出力を表示します。
これは2つのプログラムの出力を示しています。

terminator のように、xtermおよびscreenatの機能を実装するターミナルエミュレータがいくつかあることに注意してください。同時に-もちろん、この質問に答えるためのベースとして使用すると、完全に混乱します。共通の gnome-terminalkonsoleなど、さらに多くのターミナルエミュレータが1つのウィンドウのタブとして複数の端末をサポートしています。

7
Volker Siegel

それらは根本的に異なります。主な違いは次のとおりです。画面を使用すると、セッションを切り離して、後で別の場所から再接続できます。

たとえば、xtermでいくつかの重要なプロセスが実行されていても、残念ながらモニターが壊れて、コンピューターを使用できなくなったとします。

プロセスがscreenで実行されている場合は、マシンに「ssh」して、使用できないxtermから「画面」を切り離し、ssh接続に再接続できます。

別のシナリオは、リモートマシンで実行されているプロセスです。 screenがないと、ssh接続を切断する必要がある場合にプロセスを再開するのは困難ですが、screenを使用すると簡単です。

5
Fabian