web-dev-qa-db-ja.com

DISPLAY:1.0とポート5901の関係とは

Vncserverを使用して新しいXサーバーを起動すると、ポート5901を使用して接続できます。たとえば、ターミナルから、次のことも実行できます。

export DISPLAY =:1.0 xterm

(単なる例です)

Xvncserverでxtermを取得します。

:1.0とポート5901の関係は何ですか?

7
Cedric Martin

通常、ポート5900 + XDisplaynumberのポート5901は、TCP VNCサービスがリッスンするポートです。これは、それらの関係です。実際には、任意のTCP任意のXdisplaynumbersを持つポート。

VNCサービスは、入力(マウス、キーボード)をクライアントからサーバーに転送し、出力(画像)をサーバーからクライアントに転送するためのものです。これは、Xとは何の関係もありません。たとえば、仮想化では、VNCは、仮想マシンの「物理」端末をリモートでアクセスできるようにするためによく使用されます。

X11システムはそれよりもはるかに複雑で、プログラムはX11システムを使用してXサーバーと相互にやり取りします。 Xの世界での表現は、最初は少し直感的ではないので、出力、シート、画面、ディスプレイ、サーバー、クライアントの意味を学習し、考慮に値する必要があります。

あなたの質問:XdisplayはXインスタンスの論理的なコアです。プログラムを起動すると、そのプログラムはXclientであり、提供されているXserverのディスプレイに接続します。 :1.0は実際には省略形で、「display 1 at localhost」を意味します。ホスト名またはIPアドレスを指定できます。 DISPLAY = 192.168.1.2:3.0を指定すると、指定したIPアドレスを使用して、(リモート)コンピューターのXdisplay 3に接続を開始します。

XとVNCは、異なる目的の異なる目的のために実装された2つのまったく異なるサービスです。 (一部/ほとんどのVNC目標はXを開発するときの目標でもあると主張するかもしれませんが、それはかなり学術的であり、非常に詳細です。)

Xvncserverを使用する場合、両方の概念が背中合わせに組み合わされます。したがって、Xclientが「通常の方法」で通信するXserverがありますが、ユーザーとの対話に使用できるハードウェアを使用する代わりに、Xvncserveritは、VNCクライアントが接続できるVNCサーバーを実装しています。

13
Bananguin

本質的にはありません。

xvncserverを実行すると、2つのことを行う必要があります。

  1. リスニングポートを開きます(VNCの場合は5901)
  2. 表示ターゲットを作成する

表示ターゲットはany numberにすることができます。通常、X経由でコンソールにログインすると、display :0。必ずしもそうする必要はありません。最初にコンソールにログインしてから、startx :36代わりに。 VNCは1.0これはおそらく最初に利用可能なディスプレイであるため、デフォルトです。

これら2つはconventionによって選択されます。両方に接続されている実行中のプロセスを除いて、これらを結合する魔法はありません。

5
bahamat