VNCとssh -Xの違い


27

を単に使用するのではなく、なぜVNC(またはその点でNX)を使用するのでしょうかssh -X (-Y)。VNCはより少ない帯域幅を使用することを読みましたが、それぞれのツールに他の違い/利点はありますか?

回答:


30

帯域幅と遅延の問題(わずかに異なる場合があります)のほかに、大きな違いは提供する機能です。

VNCはセッション全体、デスクトップ、およびすべてをエクスポートしますが、sshは単一のプログラムを実行し、ワークステーションにウィンドウを表示します。

VNCサーバーは、画面を切断しても存続するセッションをエクスポートし、すべてのウィンドウを開いた状態などで後で再接続できます。これは、ssh Xトンネルでは不可能です。Xサーバーが停止すると、ウィンドウが消えます。


5
これが、私が常にVNCを使用する最大の理由であり、Xウィンドウを直接使用しないでください。(SSHトンネルでVNCを使用しています)。ラップトップの蓋を閉じると、接続が切れます。ssh -Xでは、再開する方法がありません。アプリケーションを最初から再起動する必要があります。VNC(直接およびsshトンネルの両方)を使用すると、中断したところから再接続して続行できます。
デビッドケーリー

8
少しOTですが(このQはおそらくGUIアプリのみに関するものです):実際のGUIアプリが不要で、基本的なシェルアクセスのみが必要な場合(たとえば、xterm)、「ssh」に続いて「screen bash」を実行します。切断された場合(ラップトップが閉じられた、VPNが切断されたなど)、リモートシェルはアクティブのままです。「screen -r」を使用して再ログインおよび再接続します。基本的なシェルアクセスのためだけにvncを実行している(またはローカルに表示されたリモートのxtermを実行している)のを見てきたので、これだけを取り上げました。ほとんどの場合(もちろん、常にではありません)、単純なシェルアクセスで十分です。
マイケル

1
@michael_nスクリーンバッシュについてあなたが言うこのことに興味がありますが、私はそれを機能させることができません。「ssh -X -t myusername @ remotehost screen bash」と入力し、接続が切断された後、「screen -r」と入力しますが、「再開する画面はありません」と表示されます。私は何をすべきか?
シモナ

2
sshログインに成功した後、@ simonaを実行し、画面を実行しますssh user@host。そして、ログイン後:screen bash; 切断するには、ctrl+a続きますctrl+d。ログアウトして再度ログインすると、次のようにscreen -lsなりscreen -rます。bashを終了すると、画面セッションが終了します。より(はるか)は、以下を参照してください様々なチュートリアルGNU画面を
マイケル・

9

ssh -XX11コマンドをローカルXサーバーにリダイレクトします。つまり、プログラムを実際に相手側で実行しているときに、ローカルでプログラムを実行しているかのようです。それはです非常にそれは、帯域幅を大量に使用しているので遅いです。(これは、X11が「ネットワーク透過」であると人々が言っ​​ていることです。)

代わりに、VNCおよびその他のリモートデスクトップアプリを使用すると、他のコンピューターですべてのグラフィック描画などを処理し、本質的にスクリーンショットをキャプチャしてコンピューターに送信できます。すべてを表示するために必要な情報がはるかに少ないため、はるかに高速に見えることがあります。ただし、単一のアプリケーションではなく、デスクトップ全体も送信します。

私は使用することはお勧めしませんssh -X1つの単純な理由のために、インターネットを経由:それはされます、あなたの利用可能な帯域幅のすべてを使用します。私の意見では、LANを介してかなり便利なので、1つのアプリケーションだけが必要で、デスクトップ全体を実行する必要がない場合は、これが良い方法です。それ以外の場合は、VNCを使用します。


3
「大量の帯域幅を使用するため、非常に遅くなります。X11プロトコルは非常に複雑で、多くの場合、接続を介して大きなピックスマップを送受信する必要があります。」-これは間違っています。X11プロトコルはそれほど複雑ではなく、接続を介して大規模なピックスマップを送受信する必要はありません。X Window Systemの詳細については、この提案に参加して

1
@Sherlock:まあ、それは多くの帯域幅を使用するという事実が残っています。問題の文章を削除しました。
greyfade

1
NXは、ネットワーク経由でX11プロトコルデータを送信する効率的な方法です。データを圧縮し、SSH経由で広範なキャッシュおよびトンネルセッションを提供します。
アダムByrtek

4

VNCは、リモートシステムからデスクトップ全体を共有します。リモートシステムに本格的なデスクトップが必要です。

ssh -Xを使用すると、リモートサーバーから単一のXアプリケーションを実行できます。リモートシステムは完全なデスクトップを実行している必要はなく、多くの場合、リモートシステムにインストールする必要があるのはほんの一握りのパッケージだけです。

ssh -Xリモート接続を介して複雑なソフトウェアパッケージをインストールする場合に役立ちます。一部のソフトウェア製品は、GUIインストーラー(Oracle Databaseなど)を使用する場合があります。リモートサーバーに本格的なGnomeデスクトップをインストールしたくありません。したがって、1つまたは2つのX11パッケージ(Xauth?)をリモートサーバーにインストールし、DBAが 'ssh -X / media / cdrom / oracle-installer'などの単純なものを使用してOracleインストーラーをリモートで実行できるようにします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.