x11vnc


X11vnc

 「X11vnc」  
x11vncは、Virtual Network Computing(VNC)サーバープログラムです。これにより、リモートクライアントからX Windowセッションおよびx11vncソフトウェアをホストするコンピューターへのリモートアクセスが可能になり、Xサーバーのフレームバッファーを継続的にポーリングして変更を確認できます。これにより、ユーザーはX11デスクトップ(KDE、GNOME、Xfceなど)を、ユーザー自身のネットワーク上のリモートコンピューターから、またはユーザーがその前に座っているかのようにインターネット経由で制御できます。x11vncは、WebカメラやTVチューナーカード、iPAQなどの非X11フレームバッファデバイスをポーリングすることもできます。、Neuros OSD、Linuxコンソール、およびMac OSXグラフィックディスプレイ。x11vncはの一部であるLibVNCServerのプロジェクトとあるフリーソフトウェアで使用可能なGNU一般公衆利用許諾契約書。x11vncはKarlRungeによって作成されました。 x11vnc 原作者
カール・ルンゲ
開発者
libvncチーム
初回リリース 2001年 安定リリース
0.9.16 / 2019年1月5日 ; 2年前  (2019-01-05)
リポジトリ
github .com / LibVNC / x11vnc
プラットホーム
Unix、Linux タイプ
リモート管理
ライセンス
GNU General Public License
Webサイト
libvncserver .sourceforge .net 
x11vncは、リモートコントロール用の追加のディスプレイ(またはXデスクトップ)を作成しません。代わりに、TightVNCサーバーなどの他のLinuxの代替手段とは異なり、Unixライクなコンピューターのモニターにリアルタイムで表示される既存のX11ディスプレイを使用します。ただし、XvncまたはXvfbを使用して「仮想」追加ディスプレイを作成し、それにx11vncを接続して、ヘッドレスサーバーへのX-11アクセスを有効にすることは可能です。
x11vncには、ユーザーがアクセスパスワードを設定したり、Unixのユーザー名とパスワードを使用したりできるセキュリティ機能がまた、安全なSSLリンクを介して接続するためのオプションも Webブラウザからの安全な接続を可能にするSSLJavaVNCビューアアプレットが提供されています。VeNCrypt SSL / TLSVNCセキュリティタイプもサポートされています。
VNCに対するUltraVNC拡張機能の多くは、ファイル転送を含め、x11vncでサポートされています。

コンテンツ
1 ポーリングアルゴリズム
2 入力注入
3 興味深い用途
4 Xvncエミュレーション
5 クライアント側のキャッシュ
6 も参照してください
7 参考文献
8 外部リンク

ポーリングアルゴリズム
x11vncは、XサーバーのフレームバッファーのコピーをRAMに保持します。X11のインタフェースプログラミングXShmGetImageはバッファフレームを取得するために使用されている画素データ。x11vncは、Xサーバーのフレームバッファーをそのコピーと比較して、変更されたピクセル領域を確認します(したがって、VNCビューアーに送信する必要があります)。物理フレームバッファーからのピクセルデータの読み取りは、書き込みよりもはるかに遅くなる可能性があります(グラフィックスデバイスのため)読み取り用に最適化されていないため、ピクセルごとのシーケンシャルチェックが遅すぎることがよく
状況を改善するために、x11vncは、垂直方向に32ピクセルで区切られたピクセルの全行を読み取ります。画面の下部に到達すると、わずかに異なるオフセットで上部近くから再開します。このように32回通過すると、画面全体がカバーされます。この方法は、場合おおよそ32倍より迅速順次チェックよりも画面上で変化を検出するx11vncを可能にする(変化が非常に小さい場合を除き、わずか1画素トール言う。)になるX11のDAMAGE拡張が存在している、x11vncの場所ヒントを提供するためにそれを使用しますポーリングに集中することで、変更をさらに迅速に見つけ、システムの負荷を軽減します。

入力注入
x11vncは、VNCビューアーからユーザー入力イベント(キーストローク、ポインターモーション、およびポインターボタンクリック)を受信すると、それらをXサーバーに合成的に挿入する必要がこれを実現するために、XTEST拡張機能のX11プログラミングインターフェイスXTestFakeKeyEvent、XTestFakeMotionEvent、およびXTestFakeButtonEventが使用されます。
X11以外の管理対象デバイス(Mac OS Xグラフィックディスプレイなど)の場合は、異なるプログラミングインターフェイスを使用する必要がx11vncは、ユーザーが独自の入力インジェクションプログラムを提供できるインターフェイスも提供します。

興味深い用途
多くの場合、特殊用途のシステムは、グラフィック表示を管理するためにX WindowSystemを使用して構築されます。x11vncを使用して、リモートVNCアクセス用にシステムのディスプレイをエクスポートできます。これにより、専用システムのリモート監視、制御、およびトラブルシューティングが可能になります。これにより、技術者をリモートサイトに送る手間を省いたり、ユーザーがワークステーションやラップトップから機器を制御できるようになる場合がx11vncは、次のタイプのシステムで実行されていることが知られています:電子顕微鏡、MRIおよび放射線画像分析システム、発電所および石油プラットフォーム管理コンソール、材料分配制御、船舶自己防衛システムテスト、NMRシステム、シリコンウェーハ分析顕微鏡、および劇場とコンサートの照明制御。x11vncは、LinuxベースのPDAやホームシアターPCなどの組み込みシステムでX11ディスプレイをエクスポートするために使用されます。
x11vncを専用システムで実行できない場合は、近くのコンピューターで実行して、ネットワーク経由でXサーバーのフレームバッファーをポーリングできる場合がこれは、x11vncを介して独自のX端末デバイスにアクセスする方法です。

Xvncエミュレーション
x11vncの主な用途は、物理グラフィックハードウェアに関連付けられたXサーバーですが、XvfbやSun Rayセッションなどの仮想Xサーバー(フレームバッファーはRAMにのみ存在します)に接続することもできます。x11vncには、おそらくログインしたUnixユーザーとしてXvfbを自動的に起動するオプション(-createおよび-svc)がx11vncおよびXvfbの対話型応答は、Xvncほど高速ではない場合がありますが、このモードでは、Xvncにない機能が有効になります。 SSL暗号化やUnixのユーザー名とパスワードなど。

クライアント側のキャッシュ
RFB(VNC)プロトコルのような他のネットワークグラフィックスプロトコルと比較した場合、奇数であるX11とRDP、画素データの観察者側のキャッシングのための規定は存在しないという点で。これによりクライアントの実装が容易になりますが、インタラクティブな応答に関して支払う代償がたとえば、ウィンドウまたは背景領域を再露光するたびに、その(圧縮された)ピクセルデータをネットワーク経由で再送信する必要がこの効果は、アイコン化および非アイコン化または再露出されることが多い複雑な領域または写真領域のあるウィンドウ(Webブラウザウィンドウなど)で特に顕著です。
x11vncには、クライアント側のキャッシングの実験的でやや強引な実装が-ncacheオプションを使用して有効にします。このモードでRFBフレームバッファを作成する場合、x11vncは、実際の(画面上の)ピクセルデータに使用される上部の下に非常に大きなスクラッチ領域を割り当てます。x11vncは、RFB CopyRectコマンドを使用して、ピクセルデータの長方形をスクラッチ領域に出し入れするようにビューアに指示できます。これらの移動は、ビューア側でローカルに行われます。このようにして、x11vncはスクラッチ領域を管理して、ネットワーク経由で再送信することなく、ピクセルデータを保存および取得できます。
x11vncのクライアント側キャッシュモードは、多くのアクティビティに対して顕著なインタラクティブな応答の改善を提供できます。
image"
  リモートに接続されSSVNC 1.0.29
のDebian 7
のLinuxのXsession
既存のRFBCopyRectコマンドを使用するため、このスキームは任意の(つまり変更されていない)VNCビューアで機能します。ただし、いくつかの欠点が1つ目は、大量のメモリを消費することです。良好なパフォーマンスを得るには、実際の画面の10〜20倍のスクラッチ領域を使用する必要がしたがって、代わりに1280×1024のトゥルーカラーフレームバッファーに5 MBを使用すると、100 MBに近い値が使用されます(VNCクライアント側とサーバー側の両方で)。これは最近のコンピューターではそれほど問題にはなりませんが、低容量では不可能です。メモリデバイス。第2に、VNCビューアは、スクラッチ領域をユーザーを混乱させる方法で処理する場合がたとえば、スクラッチ領域をユーザーに表示したり、マウスが実際の画面の下部に到達した場合に自動的にパンダウンしたりします。SSVNCのUnixVNCビューアは、スクラッチ領域を自動的に非表示にします。最後に、ウィンドウピクセルデータをキャッシュおよび再利用するためのx11vncのヒューリスティックは完全ではなく、ウィンドウのコンテンツの予期しないフラッシュやその他の望ましくない影響を引き起こす可能性が

も参照してください
image
 無料のオープンソースソフトウェアポータル KRDC X11

参考文献
^ “”x11vncREADMEファイル””。2018年7月4日。2018年8月9日取得–GitHub経由。
^ ヘンダーソン、スチュアート(2018年8月9日)。「CVS:cvs.openbsd.org:ポート」。openbsd-ports-cvs(メーリングリスト)。
^ 「リリース-LibVNC / x11vnc」。2020年2月14日取得–GitHub経由。
^ “x11vnc(1)-Linuxのマニュアルページ” 。
^ x11vnc、Xvnc、およびXvfbの記事のマンページを参照して ^ 「x11vnc:実際のXディスプレイ用のVNCサーバー」。

外部リンク
x11vncのGitHubの
x11vnc:実際のXディスプレイ用のVNCサーバー(古いプロジェクトのホームページ)”