Vncserverを使用して新しいXサーバーを起動すると、ポート5901を使用して接続できます。たとえば、ターミナルから、次のことも実行できます。
export DISPLAY =:1.0 xterm
(単なる例です)
Xvncserverでxtermを取得します。
:1.0とポート5901の関係は何ですか?
通常、ポート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サーバーを実装しています。
本質的にはありません。
xvncserver
を実行すると、2つのことを行う必要があります。
表示ターゲットはany numberにすることができます。通常、X経由でコンソールにログインすると、display :0
。必ずしもそうする必要はありません。最初にコンソールにログインしてから、startx :36
代わりに。 VNCは1.0
これはおそらく最初に利用可能なディスプレイであるため、デフォルトです。
これら2つはconventionによって選択されます。両方に接続されている実行中のプロセスを除いて、これらを結合する魔法はありません。