XサーバーをインストールしなくてもVNCサーバーは機能しますか? vncがX Serverで使用できることを知っていますが、vncが存在しない場合はどうなりますか?
答え1
いいえ。通常、VNCを使用してリモートサーバーにXをインストールする必要があります。そのサーバーのXデスクトップのみが表示されるためです。
コンピューティングの世界では、仮想ネットワークコンピューティング(VNC)は、リモートフレームバッファプロトコル(RFB)を使用して他のコンピュータをリモートで制御するグラフィックデスクトップ共有システムです。キーボードとマウスのイベントをあるコンピュータから別のコンピュータに送信し、グラフィック画面の更新をネットワーク経由で別の方向に戻します。
これは人々を混乱させる可能性があります。
VNCサーバーを実行しているコンピュータには物理モニタは必要ありません。一般的な操作方法では、ビューアはサーバーのポート(デフォルトポート5900)に接続されます。
「ディスプレイ」とは実際のモニターを意味します。 GUIデスクトップを実行するには、リモートサーバーにXをインストールして構成する必要があります。
Xvnc、X11vnc、vncserverはどうですか?
xVxVはスタンドアロンで実行できるX11サーバーですが、機能するにはまだデスクトップが必要です。それ以外の場合は、起動時に黒いウィンドウが表示されます。したがって、技術的には、Xvncには独自のXサーバーが含まれているため、Xをインストールする必要はありません。
したがって、Xvncは実際には2つのサーバーが1つに統合されています。アプリケーションではXサーバー、リモートVNCユーザーにはVNCサーバーです。通常、VNC サーバーの表示番号が X サーバーの表示番号と同じになるようにソートします。 snoopy:2 は、X 世界と VNC 世界の「snoopy」マシンのディスプレイ 2 を表します。
通常、プロセスを単純化するように設計されており、Perlで書かれたvncserverスクリプトを使用してXvncを起動します。あなたの好みや現地の状況に合わせてこの内容を編集する必要があるかもしれません。 Xvncを直接実行するよりもvncserverを使用する方が良いですが、Xvncにはデフォルトでいくつかの拡張機能を除いて標準のXサーバーと同じオプションがあります。 Xvnc -h を実行するとリストが表示されます。
$ export DISPLAY=localhost:1.0
$ /usr/bin/Xvnc :1 -ac -auth "/root/.Xauthority" \
-geometry "1200x700" -depth 8 -rfbwait 120000 \
-rfbauth /root/.vnc/passwd 2> /root/.vnc/ServerDaemon.log &
$ /bin/sleep 10
$ /usr/bin/fvwm 2> /root/.vnc/fvwm.log &
x11vnc
Xvncには独自のXサーバーが含まれています。x11vnc確かに。すでに実行されているXサーバー、XvncまたはXvfbと統合されたVNCサーバー。フレームバッファのあるものに接続できるユニークな機能があります。
抜粋抜粋x11vnc は X サーバフレームバッファのコピーを RAM に保持します。 X11 プログラミングインタフェース XShmGetImage は、フレームバッファのピクセルデータを取得するために使用されます。 x11vncは、Xサーバーのフレームバッファをコピーと比較して、どのピクセル領域が変更されたかを確認します(したがってVNCビューアに送信する必要があります)。
仮想ネットワークサーバーこれにより、リモートクライアントからX Windowセッションとx11vncソフトウェアをホストするコンピュータにリモートアクセスでき、Xサーバーのフレームバッファで変更を継続的にポーリングします。これにより、ユーザーは、ユーザーがコンピュータの前に座っているかのように、自分のネットワークまたはインターネットを介してリモートコンピュータからX11デスクトップ(KDE、GNOME、XFCEなど)を制御できます。 x11vncは、WebカメラやTVチューナーカード、iPAQ、Neuros OSD、Linuxコンソール、Mac OS Xグラフィックディスプレイなどの非X11フレームバッファデバイスもポーリングできます。
x11vncは、リモートコントロール用の追加のモニター(またはXデスクトップ)を作成しません。代わりに、TightVNCサーバーなどの他のLinuxの代替とは異なり、Unixなどのコンピュータモニタにリアルタイムで表示される既存のX11ディスプレイを使用します。ただし、XvncまたはXvfbを使用して「仮想」追加のモニターを作成し、x11vncをここに接続すると、X-11はヘッドレスサーバーにアクセスできます。
vncserver
VNCを使用して接続するリモートサーバーでVNC + Xを設定する複雑さを簡素化するのに役立つフロントエンドPerlスクリプト。
vncserverは、仮想ネットワークコンピューティング(VNC)デスクトップを起動するために使用されます。 vncserver は、Xvnc サーバーの起動プロセスを簡素化する Perl スクリプトです。適切なオプションでXvncを実行し、VNCデスクトップでウィンドウマネージャを起動します。
引用する
答え2
X11(X)を実行せずにフレームバッファを使用する場合は、フレームバッファ-vncserverを使用できます。https://github.com/ponty/framebuffer-vncserver これはうまく機能しますが、入力をサポートしていません。これは、サーバー側に直接入力を注入することで簡単に解決されます。