英語フランス語スペイン語

OnWorksファビコン

x11vnc - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して OnWorks 無料ホスティング プロバイダーで x11vnc を実行します

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの 11 つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド xXNUMXvnc です。

プログラム:

NAME


x11vnc - 実際の X11 ディスプレイへの VNC 接続を許可する
バージョン: 0.9.13、最終更新日: 2011-08-10

SYNOPSIS


x11vnc [オプション]...

DESCRIPTION


一般的な使用法は次のとおりです。

X セッションを使用して、リモート マシン「far-host」のシェルでこのコマンドを実行します。
表示したい:

x11vnc -表示:0

次に、座っているマシンの別のウィンドウでこれを実行します。

vncviewer 遠ホスト:0

x11vnc が X11 サーバーとの接続を確立し、VNC としてリッスンを開始すると、
サーバーは文字列を出力します: PORT=XXXX XXXX は通常 5900 です (デフォルトの VNC
サーバポート)。 次に、ローカル マシンで次のようなものを実行します。
hostname:N" ここで、"hostname" は x11vnc を実行しているマシンの名前で、N は XXXX -
5900、つまり通常は「vncviewer ホスト名:0」です。

デフォルトでは、x11vnc は画面の共有を許可せず、
クライアントが切断されます。 見る -共有-永遠に これらの保護をオーバーライドするには、以下を使用します。 見る
次のような暗号化されたチャネルを介して VNC 接続をトンネリングする方法の詳細については、FAQ を参照してください。
ssh(1)。 簡単に言えば:

ssh -t -L 5900:localhost:5900 far-host 'x11vnc -ローカルホスト -表示 :0 '

% vncviewer -encodings 'copyrect tight zrle hextile' localhost:0

また、VNC パスワード (-rfbauth または -パスワードファイル) 強くお勧めします。

追加情報については、次を参照してください。 http://www.karlrunge.com/x11vnc/
http://www.karlrunge.com/x11vnc/faq.html

構成ファイルのサポート: $HOME/.x11vncrc ファイルが存在する場合、その中の各行は次のように扱われます。
単一のコマンド ライン オプション。 で無効にする -ノルク。 オプション名ごとに、先頭の
文字「-」は不要です。 たとえば、「永遠に」または「-永遠に" 多分
と同等です。 同様に「100 待ち」または「-待つ 100" は許容可能であり、同等です
行。 「#」文字は、通常の方法で行末までコメント アウトします (バックスラッシュ
それは文字通りです)。 先頭と末尾の空白は削除されます。 行は
行の最後の文字として「\」が続きます (スペース文字になります)。

OPTIONS


-表示 disp

接続する X11 サーバーのディスプレイ。通常は :0。 X サーバー プロセスが実行されている必要があります。
同じマシン上にあり、MIT-SHM をサポートします。 DISPLAY 環境の設定と同等
変数へ disp.

「」の以下の説明を参照してください。-表示 待って:..." 拡張子、エイリアス
"-見つける" ユーザーのディスプレイを自動的に検出し、"-作成" を作成します
セッションが見つからない場合は Xvfb セッション。

-認証 file

X機関ファイルを file、XAUTHORITY の設定と同等
環境変数 file 起動前。 と同じ -xauth ファイル。 見る
Xセキュリティ(7)、 xauth(1) 詳細については、man ページを参照してください。

「-authguess」を使用して、x11vnc にその -findauth メカニズム(後述)
XAUTHORITY ファイル名を推測して使用してみてください。

XDM/GDM/KDM: root として x11vnc を実行していて、XAUTHORITY を見つけたい場合
誰かがまだ X セッションにログインする前に、次を使用します: x11vnc -env FD_XDM=1 -認証
推測...(ユーザーがすでにログインしている場合、これはXAUTHORITYも見つけます
X セッション。) root として実行している場合、FD_XDM=1 が試行されます。 -認証
推測は失敗します。

-N

X ディスプレイが :N の場合、VNC ディスプレイも :N に設定してみてください。
-rfbポート オプションを 5900+N に変更すると、そのポートが有効でない場合、プログラムはすぐに終了します。
利用可能です。 ザ・ -N オプションはノーマルでのみ機能します -表示 使用法、例: :0 または :8、 -N
では無視されます。 -表示 待って:...、 -作成、 -探す、 -サービス、 -リダイレクト、 などのモード。

-オートポート n

n から始まる空き VNC ポートを自動的にプローブします。 デフォルトは開始することです
これを使用して、5900 付近の他の VNC サーバーから離れます。

-rfbポート STR

リッスンする VNC ポート (LibVNCServer オプション)。たとえば、5900、5901 など。
"と指定-rfbポート PROMPT" 次に x11vnc -gui ユーザーにプロンプ​​トを表示するために使用されます
ポート番号を入力します。

-6

IPv6 リスニングのサポート。 IPv4 に加えて、IPv6 アドレスがリッスンされます。
着信接続。 IPv4 と同じポート番号が使用されます。

注: この x11vnc バイナリは、「-6」IPv6 リスニング モードが有効になるようにコンパイルされています。
デフォルトでは (CPPFLAGS -DX11VNC_LISTEN6=1)。 したがって、IPv6リスニングモードを無効にするには
"を指定する必要があります-no6" オプション (下記参照)

「-6」モードは、通常の接続と接続の両方で機能します。 -ssl 暗号化されたもの。 ほぼ
IPv6 の場合はすべてサポートされていますが、いくつかの例外があります。 見る
-トンネル その IPv6 サポートのために。

現在、絶対にすべてが正しく機能するためには、マシンが持っている必要があるかもしれません
少なくともループバック インターフェイスについては、一部の IPv4 サポート。 ただし、ほぼ
すべての使用モードで、IPv4 サポートは必要ありません。 見る -nopiv4。

IPv6 モードでのコンパイルまたは実行に問題がある場合は、 -DX11VNC_IPV6=0 in
IPv6 サポートを無効にするように構成する場合の CPPFLAGS。

-no6

IPv6リスニングサポートを無効にします(「-6」モードがコンパイルされている場合にのみ役立ちます
デフォルト; 上記の「-11」の下の X6VNC_LISTEN6 の説明を参照してください。)

-noipv6

リッスンまたは接続ソケットに IPv6 を使用しようとしないでください。 これには両方が含まれます
リスニング サービス ポートと発信接続 -接続、
-接続または終了、 or -プロキシー。 IPv6 が原因で問題が発生している場合は、これを使用してください。

-noipv4

リッスンまたは接続ソケットに IPv4 を使用しないでください。 これは主に
IPv11 のみのシステムでの x6vnc の動作を調べていますが、他の用途があるかもしれません。

-再開

X サーバー接続が切断されている場合は、X ディスプレイ (最大 XNUMX つまで) を再度開いてみてください。
時間。) これは、GDM (KillInitClients オプション) などのディスプレイ マネージャーで使用されます。
ユーザーが X セッションにログインした直後に x11vnc を強制終了します。 注: 再開された状態
不安定になる場合があります。 X11VNC_REOPEN_DISPLAY=n を設定して n 回再オープンし、
X11VNC_REOPEN_SLEEP_MAX を秒数に設定します。デフォルトは 10 です。
ディスプレイを再度開きます (XNUMX 秒に XNUMX 回)。

更新: 0.9.9 の時点で、x11vnc は自動的に強制終了を回避しようとします。
ウィンドウの作成を遅らせるか、XFIXES を使用することで、ディスプレイ マネージャーを無効にします。 だからあなたはすべきではありません
十分に迅速にログインする限り (45 秒以内)、KillInitClients=false を使用する必要があります。
接続の数秒。) を設定することでこれを無効にすることができます。
X11VNC_AVOID_WINDOWS=決して。 遅延する秒数を設定することもできます。

-反射 ホスト:N

X ディスプレイに接続してポーリングする代わりに、リモート VNC サーバーに接続します。
host:N であり、そのリフレクター/リピーターになります。 これは、
多くの同時 VNC ビューアーの場合 (教室での放送など)
各ネットワークスイッチなどにリピータを設置し、分散してパフォーマンスを向上させます
負荷とネットワーク トラフィック。 示す -共有 (つかいます -非共有 後のオプションとして
無効にします)。 以下の説明を参照してください。 -rawfb 詳細については、vnc:host:N を参照してください。

id ウィンドウID

に対応する X ウィンドウを表示します。 ウィンドウID ディスプレイ全体ではありません。 新しいウィンドウ
ポップアップ メニュー、一時的なトップレベルなどは、表示されないか、クリップされる場合があります。
X サーバーで SaveUnders または BackingStore を無効にすると、それらが表示される場合があります。 x11vnc
ウィンドウが最初に部分的に隠れていたり、サイズが変わったりすると、クラッシュする可能性があります。
これと -xrandr メカニズムは
サイズ変更の追跡に使用されます。 使用 xwininfo(1) ウィンドウ ID を取得するか、"id 選ぶ"へ
x11vnc を実行する xwininfo(1) id を抽出します。 の id オプションが便利
非常に単純なアプリケーション (ウェブカメラの現在のビューなど) をエクスポートする場合。

-シド ウィンドウID

As -id、 ただし、ウィンドウを直接使用する代わりに、ルート ビューをウィンドウに移動します。
SaveUnders メニューなどを表示しますが、それを超えるとクリップされます
窓。

-鬼ごっこ STR

このオプションは無視されますが、x11vnc で一意の文字列を指定できます
コマンドライン、たとえば "-鬼ごっこ テスト34934z」、これにより、信頼できる方法が可能になる可能性があります
コマンドラインからさまざまな x11vnc プロセスを識別します ( ps(1)、 pgrep(1)、
pkill(1) および /proc/PID/cmdline.)

-アプリシェア

に基づくシンプルなアプリケーション共有 -id/-sid 機構。 すべての新しいトップレベル
アプリケーションが作成するウィンドウは、リバースを介して新しいビューア ウィンドウを誘導します
繋がり。 の -id/-sid-接続 オプションが必要です。 x11vnc を実行 -アプリシェア
-ヘルプ' 詳細はこちら

-クリップ WxH + X + Y

四角形に対応するフル ディスプレイのサブ領域のみを表示します。
サイズ WxH およびオフセット +X+Y のジオメトリ。 VNC ディスプレイのサイズは WxH (つまり、小さい) です。
フル表示よりも)。 これは次の場合にも機能します -id/-sid オフセットがあるモード
選択したウィンドウの左上隅を基準にします。 これの使用例
オプションとして、大きな (Xinerama などの) ディスプレイを XNUMX つの部分に分割して、
各部分で個別の x11vnc を実行することにより、個別のビューアを介してアクセスします。

「-clip xinerama0」を使用して、最初の xinerama サブスクリーンにクリップします (xinerama が
アクティブ)。 1 番目のサブ画面などは xinerama2 です。この方法では、把握する必要はありません。
目的の xinerama サブスクリーンの WxH+X+Y を出力します。 画面がソートされます
(0,0) 原点からの距離が増加します (つまり、Xserver の順序ではありません)。

-フラッシュマップ

8bpp インデックス付きカラーでは、ポインターが移動すると、インストールされたカラーマップが点滅します。
ウィンドウからウィンドウへ (遅い)。 また、試してみてください -8から24 フラッシュを完全に回避するオプション。

-shiftcmap n

まれな問題ですが、一部の 8bpp ディスプレイは 256 未満のカラーセルを使用します (例: 16 色
グレースケール、おそらく他のビットはダブルバッファリングに使用されます) *そして*
ピクセル値を 0、..、ncells からシフトします。 n するシフトを示します
ピクセル値に適用されます。 ピクセル値を表示するには、DEBUG_CMAP=1 を設定して印刷します
カラーマップ ヒストグラム。 例: -shiftcmap 240

-ノートゥルーカラー

8bpp ディスプレイの場合、8bpp のように見えても、インデックス付きカラー (つまり、カラーマップ) を強制します。
TrueColor (まれな問題)。

-advertise_truecolor

X11 ディスプレイがインデックス カラーの場合、クライアントが最初に接続したときに嘘をつきます。
それがトゥルーカラーであることを彼らに伝えます。 RealVNC を回避するには: inPF には colorMap がありますが、ありません
8bpp '-advertise_truecolor reset' を使用して、クライアント fb もリセットします。

-ビジュアル n

このオプションは、おそらくあなたが考えていることをしません。 それは単にビジュアルを*強制*します
フレームバッファに使用されます。 これは悪いことかもしれません... (たとえば、色を台無しにしたり、
クラッシュの原因となります)。 これは、テストやいくつかの回避策に役立ちます。 nはaかもしれません
0 進数、または XNUMXx XNUMX 進数。 走る xdpyinfo(1) 値について。 使用することもできます
「TrueColor」など参照リストのために。 文字列が「:m」で終わる場合、
良くも悪くも、視覚的な奥行きは m に強制されます。 あなたは使いたいかもしれません -ノシュム
このオプションを使用する場合 (そのため、XGetImage は自動的にピクセル データを変換する場合があります)。

-かぶせる

8+24 と 24+8 のオーバーレイ ビジュアルなど、複数の深度のビジュアルを XNUMX つの画面で処理する
(ピクセルあたり 32 ビットは、PseudoColor の場合は 8 ビット、TrueColor の場合は 24 ビットでパックされます)。

現在 -かぶせる 経由でSolarisでのみ動作します XReadScreen(3X11) および IRIX を使用
XReadDisplay(3)。 Solaris では、イメージの「にじみ」に問題があります。
一時的なポップアップ メニュー (メニュー自体ではない): 回避策は無効にすることです
" を渡して SaveUnders-彼の" Xsun への引数 (/etc/dt/config/Xservers 内)。

  -かぶせる 次のような状況の回避策として: 一部のレガシー アプリケーション
デフォルトのビジュアルを 8bpp (8+24) にする必要があります。そうしないと、8bpp PseudoColor が使用されます。
デフォルトのビジュアルが深さ 24 TrueColor (24+8) の場合でも。 これらの場合の色
一部のウィンドウでは、x11vnc で正しくない場合があります。 -かぶせる 使用されている。 別の用途
of -かぶせる 正確なマウス カーソルの形状を表示できるようにすることです (詳細は後述)。

-かぶせる、 余分な画像があるため、パフォーマンスが多少遅くなります
変換が必要です。 最適なパフォーマンスのために使用しないでください -かぶせる、 むしろ
デフォルトのビジュアルが深さ 24 の TrueColor になるように X サーバーを構成し、
すべてのアプリがそのビジュアルを使用するようにします (たとえば、一部のアプリは -use24 or -ビジュアル オプション)。

-overlay_nocursor

セット -かぶせる、 を使用して正確なマウス カーソルの形状を描画しようとしません。
オーバーレイ機構。

-8から24 [オプション]

次の場合は、このオプションを試してください -かぶせる はお使いの OS でサポートされておらず、レガシー 8bpp を使用しています
デフォルトの深さ 24 (および 32) のマルチデプス ディスプレイで表示するアプリ
bpp) または、一部のアプリでは深度 8 のオーバーレイ ウィンドウを備えたデフォルトの深度 24 ディスプレイを使用します。
このオプションは、すべての X サーバーおよびハードウェアで機能するとは限りません (XFree86/Xorg mga でテスト済み)。
ドライバーと Xsun)。 「opts」文字列は必須ではなく、以下で説明します。

このモードでは、x11vnc がウィンドウから 3 レベル以内でウィンドウを監視するハッキングが有効になります。
ルートウィンドウ。 8bpp が見つかった場合は、インデックス付きのカラー ピクセルを抽出します。
XGetImage() を使用して値を取得し、次にカラーマップを使用して変換を適用します
のビット 1 ~ 24 に挿入する TrueColor RGB 値を作成します。
フレームバッファ。 これにより、ディスプレイの深さ 24 の「ビュー」が作成され、エクスポートされます。
VNC経由。

逆に、デフォルトの深さ 8 のディスプレイでは、深さ 24 の領域が読み取られます。
XGetImage() とすべてが変換され、深さ 24 の TrueColor に挿入されます
フレームバッファ。

深さ 24 のビジュアルまたはウィンドウ (つまり、純粋な 8bpp) がない場合でも、これは注意してください。
モードは潜在的に改善されています -フラッシュマップ 点滅を避けるため
各ウィンドウを正しい色で表示します。

この方法は問題なく機能しますが、まだバグがある可能性があり、リソースを占有します。 もしそこにあるなら
異なるカラーマップを使用する複数の 8bpp ウィンドウがあるため、すべてをアイコン化する必要がある場合があります
ただし、色を正しくするためのものです。

深さ 8 のウィンドウ間のクリッピングと切り替えで、ペイント エラーが発生する可能性があります。
ヒューリスティックスを適用して、塗装エラーを最小限に抑えようとします。 できる
エラーが修復されない場合は、Alt_L を 3 回続けて押して画面を更新します。
自体。 オプションも -修正スクリーン 8=3.0 または -修正スクリーン V=3.0 を使用することができます
帯域幅を犠牲にして定期的に画面を更新します (このために 3 秒ごと)
例)。

[opts] 文字列には、次の設定を含めることができます。 複数の設定は
カンマで区切られた。

デフォルトの深度が 24 の一部の X サーバーでは、
オプション「nogetimage」。 これにより、XGetImage() が使用されていないスキームが有効になります。
8bpp データを取得します。 代わりに、8bpp データがビット 25 ~ 32 にあると想定します。
32 ビット X ピクセル。 X サーバーがデータを配置する必要はありません。
私たちの投票リクエストのためにそこにありますが、いくつかはそうしているので、それを取得するための追加の手順は
スキップされます。 XFree86/Xorg の mga ドライバーでテスト済み。 デフォルトの深さ 8 の場合
このオプションは無視されます。

XGetImage() を使用してデフォルト以外のビジュアル領域をポーリングする頻度を調整するには
変更するには、オプション "poll=t" を使用します。ここで、"t" は浮動小数点時間です。 (デフォルト:
0.05)

オプション「level2」を設定すると、デフォルト以外のビジュアル ウィンドウの検索が制限されます。
ルート ウィンドウから XNUMX レベル。 あなたが知っている低速のマシンでこれを行います
ウィンドウ マネージャーは、アプリ ウィンドウとルートの間に XNUMX つの追加ウィンドウのみを課します。
窓。

また、非常に遅いマシンの場合は、「cachewin=t」を使用します。ここで、t は浮動小数点数です。
XGetWindowAttributes の結果をキャッシュする時間。 たとえば、cachewin=5.0 です。 これにより、
窓は、脱アイコン化、塗装時にこの時間の間気付かれませんでした
エラーなど

非常に古い SS20 でテストしている間、これらのオプションは許容できる応答を示しました。 -8から24
poll=0.2、cachewin=5.0。 このマシンの場合 -かぶせる サポートされており、より良い結果をもたらします
応答。

このモードのデバッグを有効にするには、「dbg=1」、「dbg=2」、または「dbg=3」を設定します。

-24から32

非常にまれな問題: フレームバッファ (X ディスプレイまたは -rawfb) の代わりに 24bpp です。
通常の 32bpp に変換してから、ピクセルを動的に 32bpp に変換します。 これは遅くなりますが、
しかし、VNC ビューアが 24bpp を処理できない問題を回避するために使用できます (例:
「main: setPF: 8、16、または 32 bpp ではありませんか?」)。 詳細については、FAQ を参照してください。

の場合には -rawfb モードでは、ピクセルは 0 バイトを挿入することによって直接変更されます
それらを 32bpp にパディングします。 X ディスプレイの場合、以下と同等の kludge が行われます。
"-ノシュム -ビジュアル TrueColor:32". (後者のパフォーマンスを向上させる必要がある場合は、
お気軽にお尋ねください)。

-規模 分数

フレームバッファを係数でスケーリングする 分数. 1 未満の値は fb を縮小し、大きくします
拡張します。 注: 画像が鮮明でなく、応答が遅くなる場合があります。 もしも
分数 小数点「.」を含む浮動小数点数として取得されます。
あるいは、「m/n」という表記を使用して分数を正確に表すこともできます。
-規模 2/3

水平方向と垂直方向に非対称にスケーリングするには、WxH を指定します。
ストレッチするジオメトリ: 例: '-scale 1024x768' または '-scale 0.9x0.75'

スケーリング オプション: 後で追加できます 分数 複数の「:」を指定するには、「:」を介して
オプションはコンマを使用します。 ブレンドせずにすばやく大まかなスケーリングが必要な場合は、
に ":nb" を追加 分数 (例えば -規模 1/3:nb)。 8bpp のデフォルトはブレンディングなし
インデックス付きカラー、この場合のブレンドを強制するには、":fb" を使用します。

無効にする -scrollcopyrect-wirecopyrect-規模 ":nocr" を使用します。 必要な場合
それらを有効にするには、":cr" を使用するか、コマンド ラインで明示的に指定します。 もし
低速リンクが検出されると、":nocr" が自動的に適用される場合があります。 デフォルト: :cr

より難解なオプション: vncviewers との互換性のために、スケーリングされた幅は
4 の倍数になるように調整します。これを無効にするには、":n4" を使用します。 ":in" 補間を使用
縮小する場合でもスキーム、「:pad」パッドは幅と高さが倍数になるようにスケーリングされます
スケーリング分母 (例: 3/2 の場合は 3)。

-ジオメトリ 幅x高さ

と同じ -規模 幅x高さ

-scale_cursor 燕尾服

デフォルトでは、 -規模 が指定されている場合、カーソルの形状は同じ係数でスケーリングされます。
使用状況によっては、カーソルを
画面またはまったくない。 指定すれば -scale_cursor カーソルはスケーリングされます
その要因。 使用時 -規模 カーソルを「自然な」サイズに保つモード
"-scale_cursor 1"。ほとんどの ":" スケーリング オプションはここにも適用されます。

-表示のみ

すべての VNC クライアントは監視のみ可能です (デフォルトはオフ)。

-共有

VNC ディスプレイは共有されます。つまり、複数のビューアーが同時に接続できます。
(デフォルトはオフ)。

-一度

接続に成功した最初のビューアーが切断された後、終了します。
-永遠に。 これがデフォルトです。

-永遠に

最初の接続が終了するとすぐに終了するのではなく、より多くの接続をリッスンし続ける
クライアントが切断されます。 と同じ -多くの

新しい VNC クライアントが接続したときに標準の非共有 VNC 動作を取得するには
既存の VNC クライアントは以下を使用して削除されます: -決して共有しない -永遠に このメソッドは
また、消えないハングした TCP 接続を防ぐためにも使用されます。

-ループ

x11vnc プロセスが終了するたびに再起動する外部ループを作成します。 -bg
-inetd このモードでは無視されます (ただし、 -ループバック 下)。

X サーバーが終了して再起動しても (その時点で) 続行する場合に便利です。
もちろん、プロセスには新しい X サーバーに再接続するための許可が必要です)。

使用、例えば、 -ループ100 再起動などの間に100ミリ秒スリープする。デフォルトは
2000ms (つまり 2 秒) 使用例 -ループ300,5 300ミリ秒スリープし、5回だけループします。

If -ループバック (および任意の数字) が代わりに指定されている場合、"-bg" オプションが暗示され、
モード近似 inetd(8) ある程度の使用。 この場合、それが行くとき
バックグラウンドでは、リッスンしているソケット (つまり、ポート 5900、5800) は閉じられているため、
ループ内の次のものはそれらを使用できます。 このモードは、VNC が
クライアント (そのプロセスの唯一のクライアント) は、プロセスの前に既に接続されています
の使用など、バックグラウンドに入ります -表示 待って:..、 -サービス、
-接続 この「貧乏人の」inetd モードを利用できます。 デフォルトの待機時間は
このモードでは 500ms。 この使用法は便利です: -svc -bg -ループバック

-タイムアウト n

クライアントが起動後最初の n 秒以内に接続しない限り終了します。

n 秒経過しても接続試行がない場合、x11vnc はすぐに終了します。
クライアントが接続を試みているが、通常の動作に進んでいない場合
x11vnc は終了するまであと数秒かかり、うまくいかない場合は終了します。
それを正常な状態にします。

逆接続の場合 -接続 or -接続または終了 n 秒のタイムアウト
すべてのリバース コネクトに対して設定されます。 接続タイムアウトアラームが鳴った場合、
x11vnc はすぐに終了します。

-寝る n

起動時、続行する前に n 秒スリープします (たとえば、redir とリッスンを許可するため)
クライアントを起動する)

範囲が指定されている場合: '-sleepin min-max'、最小と最大の間のランダムな値は
寝た。 たとえば、'-sleepin 0-20' と '-sleepin 10-30' です。 フロートも許可されています。

-inetd

発売元 inetd(8): リッスン ソケットの代わりに stdio。 注: そうでない場合
stderr をログ ファイルにリダイレクトする (shell 2> または -o オプション) も指定する必要があります
  -q そうしないと、stderr がビューアーに送られ、
アボート。 両方指定 -inetd-q そしていいえ -o 自動的に閉じます
標準エラー。

使用する libvncserver が非 AF_INET ソケット (x11vnc にバンドルされているソケット) をサポートしている場合
0.9.13 以降では可能)、その後 -inetd モードは生の stdio パイプに使用できます。 ために
たとえば、SSVNC ビューアの exec=... メカニズムを使用します。

ssvnc -視聴者 exec="ssh -tt -e なし user@host \ ´x11vnc -inetd -o log.txtという -表示
:0'"

長いコマンドラインが分割されている場所。 上記では、唯一の TCP 接続は
ssh接続のもの。 ポートのリダイレクト (-L) などはありません。 生のstdioは
ssh の両側で使用されます。 場合によっては、 -tt オプションは必要ありません。

-tightfilexfer

TightVNC ファイル転送拡張機能を有効にします。 次の場合に注意してください。 -表示のみ
オプションを指定すると、すべてのファイル転送が無効になります。 ログインするクライアントも
viewonly はファイルを転送できません。 ただし、リモートコントロール機構を使用する場合
グローバルまたはクライアントごとのビューのみの状態を変更するには、ファイル転送権限が
変更しないでください。

重要: ご了承ください。 -tightfilexfer が指定され、x11vnc を次のように実行します。
たとえば、inetd またはディスプレイ マネージャー (gdm、kdm、...) にアクセスするためのルートであり、持っていない
を介してユーザーを切り替えます -ユーザー オプションを指定すると、接続する VNC ビューアーが実行できるようになります
filetransfer は *root* として読み書きします。

また、タイトファイルエクスファーは無効になっています -unixpw モード。

-ultrafilexfer

注: UltraVNC ファイル転送を有効にして動作させるには、おそらく次のことが必要です。
これらの LibVNCServer オプションを指定してください: "-rfbバージョン 3.6 -permitfiletransfer"
"-ultrafilexfer" は、この組み合わせの別名です。

重要: ご了承ください。 -ultrafilexfer が指定され、x11vnc を次のように実行します。
たとえば、inetd またはディスプレイ マネージャー (gdm、kdm、...) にアクセスするためのルートであり、持っていない
を介してユーザーを切り替えます -ユーザー オプションを指定すると、接続する VNC ビューアーが実行できるようになります
filetransfer は *root* として読み書きします。

悲しいことに、両方を行うことはできないことに注意してください -tightfilexfer-ultrafilexfer 同じで
後者はバージョンを 3.6 に設定する必要があり、tightvnc はそうしないためです。
そのバージョン番号を確認したら、ファイル転送を行います。

-http

使用する代わりに -httpdir (以下を参照) Java vncviewer アプレットの場所を指定します。
つまり、x11vnc に、ディレクトリがどこにあるのかを *推測* しようと試みさせます。
プログラムの場所と標準の場所 (/usr/local/share/x11vnc/classes など)。
-ssl or -トンネル ssl クラスのサブディレクトリが検索されます。

-http_ssl

As -http、 ただし、ssl クラスのサブディレクトリのルックアップを強制します。

HTTPS、単一ポート Java アプレット配信の場合、設定できることに注意してください。
X11VNC_HTTPS_DOWNLOAD_WAIT_TIME をアプレットを待機する最大秒数に
ダウンロードして終了します。 デフォルトは 15 です。

-アバヒ

Avahi/mDNS ZeroConf プロトコルを使用して、この VNC サーバーをローカルにアドバタイズします。
通信網。 (関連用語: ランデブー、ボンジュール)。 セットアップによっては、
avahi-daemon を起動し、ファイアウォールで udp ポート 5353 を開く必要があります。

X11VNC_AVAHI_NAME、X11VNC_AVAHI_HOST、および/または X11VNC_AVAHI_PORT を設定できます。
デフォルト値を上書きする環境変数。 例えば: -env
X11VNC_AVAHI_NAME=ウォーリー

ビルド時に avahi API が見つからない場合は、次のようなヘルパー プログラム アバヒ-
パブリッシュ(1) または dns- sd(1)試される

-mdns

と同じ -アバヒ。

-zeroconf

と同じ -アバヒ。

-接続 string

「vncviewer -listen」リバース接続で使用します。 もしも string 形をしています
"host" または "host:port" は、接続が起動時に XNUMX 回行われます。

ホストとホスト:ポートのリストにはコンマを使用します。 例えば -接続 host1、host2 または
ホスト 1:0、ホスト 2:5678。 同時に複数のホストに逆接続することに注意してください
あなたも提供する必要がある可能性が高い時間: -共有

ほとんどの vnc サーバーとは異なり、x11vnc ではリバースにパスワードが必要になることに注意してください。
フォワード接続の場合も同様です。 (パスワード認証が有効になっている場合、
-rfbauth、 など) 逆接続設定にパスワードを要求したくない場合
x11vnc を起動する前に、環境で X1VNC_REVERSE_CONNECTION_NO_AUTH=11 を設定します。

If string 「/」が含まれている代わりに、定期的にチェックするファイルとして解釈されます
新しいホスト用。 最初の行が読み取られ、ファイルが切り捨てられます。 気をつけて
x11vnc がルートとして実行されている場合のこのファイルの場所について (たとえば、 gdm(1)、
等)。

リピーター モード: 一部のサービスは、中間の「vnc リピーター」を提供します。
http://www.uvnc.com/addons/repeater.html (そしてまた http://koti.mbnet.fi/jtko/ for
プロキシ/ゲートウェイとして機能する Linux ポート)。 このようなモードにはイニシャルが必要です
VNC プロトコルが開始される前にリバース接続のために送信される文字列。
これを行う方法は次のとおりです。

-接続 pre=some_string+host:ポート -接続 pre128=文字列+ホスト:ポート -接続
リピータ=ID:1234+ホスト:ポート -接続 リピーター=23.45.67.89::5501+ホスト:ポート

SSVNC 表記もサポートされています。

-接続 リピーター://ホスト:ポート+ID:1234

通常と同様に -接続 リピーターポートが提供されていない場合は、5500 が使用されます。
想定。

基本的な考え方は、特別なタグの間にあります。たとえば、「pre=" と "+" は前の文字列です。
送信されます。 この場合、host:port はリピーター サーバーであり、vnc ではないことに注意してください。
ビューア。 どういうわけか、事前文字列はリピーターサーバーにvncを見つける方法を伝えます
ビューアに接続します。

pre=some_string+host:port の場合、「some_string」が送信されます。 その場合
preNNN=some_string+host:port "some_string" は、ヌルで埋められた次のバッファで送信されます。
長さ NNN。 repeater= は pre250= と同じです。これは、ultravnc リピータ バッファです。
サイズ。

「\n」や「\r」などの文字列は、改行と改行に展開されます。 "\c"
接続文字列がコンマで区切られているため、"," に展開されます。

参照してください -プロキシー 逆接続を配管する追加の方法については、以下のオプションを使用してください。

リバース SSL: 使用 -接続 in -ssl mode は x11vnc を SSL クライアントとして機能させます
(SSL 接続を開始する) SSL サーバーではなく。 アイデアは x11vnc かもしれません
リスニングモードのビューアでビューア側のstunnelに接続します。 もし、あんたが
この動作を望まない場合は、使用してください -env X11VNC_DISABLE_SSL_CLIENT_MODE=1。 これとともに
ビューア側は、通常の転送と同じように SSL クライアントとして機能できます。
接続。

リバース SSL リピータ モード: これは機能しますが、VNC クライアントが機能しない場合は注意してください。
接続する前に何らかの「証明書の取得」アクションを行うと、リピーターはおそらく
接続をドロップすると、両側で再起動する必要があります。 の使用を検討してください
-接続または終了-ループ300,2 x11vnc を一度リピーターに再接続させるには
フェッチ。 あなたもおそらく供給したいと思うでしょう -slonly x11vncの考え方を避けるために
応答の遅延は、接続が VeNCrypt であることを意味します。 環境変数
上記の X11VNC_DISABLE_SSL_CLIENT_MODE=1 も役立つ場合があります (つまり、
ビューアは通常どおり転送接続を行うことができます。)

IPv6: x11vnc 0.9.10 以降、 -接続 オプションは IPv6 ホストに接続する必要があります
ちゃんと。 問題がある場合は、設定で IPv6 を無効にすることができます -DX11VNC_IPV6=0 in
構成時の CPPFLAGS。 IPv6 ホストへの接続に問題がある場合は、
含まれている inet6to4 スクリプトまたは -プロキシー オプションを選択します。

-接続または終了 STR

屈折計と同様に、この類の検証は官能評価と並行して行うべきです。一般的に、抽出が進むにつれて高温になる抽出方法は、抽出が成功する確率が低い傾向にあります。 -接続、 逆接続が成功しない場合を除いて、x11vnc
すぐにシャットダウンします

このオプションの簡単に入力できるエイリアスは「-coe」です

ところで、x11vnc にどのインターフェースでもリッスンさせたくない場合は、 -rfbポート 0
これは便利です -接続または終了 モード。

-プロキシー string

リバース接続を行うためのプロキシとして、文字列 (例: ホスト:ポート) でプロキシを使用します
(-接続または -接続または終了 オプション)。

Web プロキシはサポートされていますが、デフォルトではほとんどのプロキシのみがサポートされていることに注意してください
ポート 443 または 563 への宛先接続なので、これはあまり役に立たないかもしれません (
ビューアーはそのポートでリッスンする必要があるか、ルーターがポートを実行する必要があります
リダイレクション)。

Web プロキシは、「host:port」または「」のいずれかで指定できます。http://host:port" (ポート
80 または 8080 の一般的な選択肢であっても必要です)

SOCKS4、SOCKS4a、および SOCKS5 もサポートされています。 SOCKS プロキシには通常、
宛先ポート番号の制限。

次のような形式を使用します: ソックス://ホスト: ポートまたはソックス 5://ホスト: ポート。 ssh に注意してください。 -D
SOCKS4a をサポートしていないため、socks5:/ を使用します。/. 靴下の場合:SOCKS4は
数値の IP と「localhost」、それ以外の場合は SOCKS4a が使用されます (したがって、プロキシは
DNS ルックアップを実行します)。

実験モードは「-プロキシー http://host:ポート/..." ポートの後の "/" に注意してください
通常の Web プロキシとは区別されます。 場合でも、ポートを指定する必要があります。
デフォルトは 80 です。このモードでは、指定された URL に対して GET が実行されます。
文字列 host=H&port=P が追加されます。 H と P は -接続 逆接続ホスト
とポート。 追加を無効にするには、文字列「__END__」を使用します。 基本的な考え方はこちら
おそらく、一部の cgi スクリプトが実際のビューアーへの接続とトンネリングを提供している可能性があります。
cgi、phpなどで実際にこれを実現する方法は明確ではありません...カスタムWeb
サーバーまたはApacheモジュールは簡単です。

別の実験モードは「-プロキシー ssh://ユーザー@ホスト" この場合、SSH トンネルは
プロキシに使用されます。 Unix ユーザー名でない限り、「user@」は必要ありません。
「ホスト」で異なります。 非標準の SSH ポートの場合は、ssh://user@host:port を使用します。 もしも
プロキシがチェーン化されている場合 (次の段落を参照)、ssh が最初のものでなければなりません。
ssh-agent がアクティブでない場合は、ssh パスワードを
x11vnc が動作している端末。 例:

-接続 localhost:0 -プロキシー ssh://me@friends-pc:2222

-接続 スヌーピー:0 -プロキシー ssh://ssh.company.com

XNUMX つのプロキシから跳ね返る必要がある場合に備えて、複数のプロキシを連鎖させることができます。
最終的に VNC ビューアに到達するまでのホストの数。 最大 3 つまで連結可能、分離可能
接続する順序でコンマで指定します。 例えば:
http://host1:port1,socks5://host2:port2 または次のような XNUMX つ: XNUMX 番目、XNUMX 番目、XNUMX 番目

IPv6: x11vnc 0.9.10 以降、 -プロキシー オプションは、IPv6 ホストに正しく接続する必要があります。
問題がある場合は、設定で IPv6 を無効にすることができます -DX11VNC_IPV6=0 CPPFLAGSで
構成するとき。 IPv6 ホストへの接続に問題がある場合は、次のようなリレーを検討してください
含まれている inet6to4 スクリプト。

-vncconnect、 -novncconnect

標準の VNC プログラムによって設定された VNC_CONNECT X プロパティを監視します vncconnectとします。
プロパティが「host」または「host:port」に設定されている場合、リバース接続を確立します。
使い方 エクスプロップ(1) vncconnect の代わりに機能する場合があります (FAQ を参照)。 の -リモート コントロール
メカニズムは X11VNC_REMOTE チャネルを使用し、このオプションはそれを無効/有効にします。
デフォルト: -vncconnect

これらの X11 プロパティに異なる名前を使用するには (たとえば、別の名前を付けるには)
同じディスプレイ上の複数の x11vnc の通信チャネル) を設定します。
VNC_CONNECT または X11VNC_REMOTE 環境。 変数。 たとえば、次のようにします。 -env
X11VNC_REMOTE=X11VNC_REMOTE_12345 チャネルの両側で同じ
ユニークな名前。 内部 X11VNC_TICKER プロパティに対しても同じことができます
(ハートビートとタイムスタンプ) 必要に応じて。

-許可する ホスト1[、ホスト2..]

のコンマ区切りリストに一致するホストからのクライアント接続のみを許可する
ホスト名または IP アドレス。 「.」で終わることで、数値の IP にすることもできます。
プレフィックス、たとえば「192.168.100」。 単純なサブネットに一致させ、より多くの制御を構築する
libwrap をサポートする LibVNCServer (FAQ を参照)。 リストに「/」が含まれている場合
代わりに、再読み込みされるアドレスまたはプレフィックスを含むファイルとして解釈されます
新しいクライアントが接続するたびに。 行は「#」文字でコメントアウトできます
通常の方法で。

-許可する に適用されます -ssl モードですが、モードではありません -トンネル モード。

IPv6: x11vnc 0.9.10 以降、ホストは IPv6 数値形式で指定できます。
2001:4860:b009::93

環境vars: セット -env X11VNC_DEBUG_ACCESS=1 は、デバッグ中にデバッグ情報を出力します。
check_access() 呼び出し。 設定 -env X11VNC_ALLOW_FULLMATCH=1 で文字列全体を強制する
一致、つまり、サブネットなし "." マッチングが行われます。

Unix ソケット: if -ユニクソックス が使用されていて、TCP アクセスも制限したい
allow に "unix=" で始まる UNIX ソケットへのパスも含める必要があります。
リスト、例: -許可する 192.168.100.3,unix=/tmp/mysock ソケットが名前付きでない場合、
例: 経由で作成 ソケットペア(2)と -inetd、 次に、一般名を指定する必要があります
x11vncはそれに与えます、例えば -許可する 192.168.100.3,UNNAMED_AF_UNIX どちらの場合も、
接続を許可する正確な文字列一致である必要があります。 完全に
これらのローカルの非 TCP アクセス方法は、ファイル システムのアクセス許可などによって制御します。
それらを防御するのには役に立たない -許可する、 しかし、あなたはまだそれらを持っている必要があります
許可リストでそれらを接続できるようにします。

-ローカルホスト

基本的には「」と同じ-許可する 127.0.0.1".

注: x11vnc がリッスンするネットワーク インターフェイスを制限する場合は、
-聴く 以下のオプション。 例 "-聴く ローカルホスト"または"-聴く 192.168.3.21"。 として
特別な場合、オプション "-ローカルホスト" 暗示する "-聴く ローカルホスト".

まれなケースですが、ローカルホスト以外の場合 -聴く 使用方法、リモコンを使用する場合
メカニズム (-R) を変更する -聴く インターフェイスを手動で調整する必要がある場合があります
-許可する リスト (およびその逆) を使用して、接続がない (または接続が多すぎる) 状況を回避します。
許可されています。

x11vnc に任意の TCP インターフェースをリッスンさせたくない場合 (明らかに使用している
-接続 or -接続または終了、 またはリモートコントロールを使用する予定: -R 接続:ホスト、または
つかいます -unixsock)、 指定する -rfbポート 0

IPv6: IPv6 がサポートされている場合、このオプションは自動的に IPv6 ループバックを意味します
アドレス '::1' も同様です。

-ユニクソックス STR

通常の TCP ポートに加えて、UNIX ソケット (AF_UNIX) 'str' でリッスンします。
着信接続。 このモードは、ローカル接続またはトンネル用です
UNIXソケットファイルのファイルパーミッションを決定するエンドポイント
それに接続できるもの。 例: mkdir 〜/秒; chmod 700 〜/秒; x11vnc -ユニクソックス
~/s/マイソックス -rfbポート 0 ... と同じ: x11vnc -unixsockonly ~/s/マイソックス ... (見る
-unixsockonly 以下。)

現在、このモードには、x11vnc にバンドルされている変更された libvncserver が必要です。
0.9.13 tarball 以降。

SSVNC unix vncviewer は unix ソケットに接続できることに注意してください。例: ssvnc
-視聴者 unix=./s/mysock

特別なメカニズムとして、「str」がいずれかの場合 -ユニクソックス or -unixsockonly
n が非負の XNUMX 進整数である "fd=n" の形式で、
unix ソケット、そのファイル記述子 (既に開かれており、O_RDWR であると仮定) は
VNC クライアントとしてアタッチされます。 おそらく x11vnc を実行するプログラムが
ソケットペア(2) 通信する。 次の場合にこのメカニズムを使用します。 -inetd (これは
基本的に fd=0) は柔軟性に欠けます。

-unixsockonly STR

Unix ソケット 'str' のみをリッスンし、TCP ポートはリッスンしません。 最初に、すべてを無効にできることに注意してください
「-rfbport 0」を指定して tcp リスニング ポート。 オプション「-unixsockonly str」は
'-unixsock str と機能的に同等 -rfbポート 0'

-聞く6 STR

IPv6リッスンモード「-6」の場合、アドレスを持つネットワークインターフェースのみをリッスンします
STR. また、リンク スコープ アドレス (fe80::219:dbff:fee5:3f92%eth0) および
IPv6 ホスト名文字列 (例: ipv6.google.com.) LibVNCServer を使用 -聴く のオプション
IPv4 インターフェイス。

-nolookup

ホスト名または IP 番号の検索に gethostbyname() または gethostbyaddr() を使用しないでください。
名前解決が正しく設定されておらず、名前として長い一時停止が発生する場合は、これを使用してください
ルックアップのタイムアウトなど。

-入力 string

許可されたユーザー入力の微調整。 もしも string コンマ「,」を含まない
チューニングは通常のクライアントにのみ適用されます。 それ以外は「,」より前がノーマル
クライアントと表示専用クライアントの後の部分。 「K」はキーストローク入力、「M」は
マウスモーション入力の場合は「B」、ボタンクリック入力の場合は「C」、クリップボード入力の場合は「C」、
「F」はファイル転送用です (ultravnc のみ)。 文字列に存在することで、
そのタイプの入力。 例 "-入力 M" は、通常のユーザーがマウスと
"-入力 KMBCF,M" 通常のユーザーは何でもできるようになり、表示専用ユーザーは移動できるようになります
ハツカネズミ。 グローバルの場合、このオプションは無視されます。 -表示のみ 有効です(すべての入力
その場合は破棄されます)。

-grabkbd

VNC ビューアが接続されている場合は、キーボードをつかんでみてください (非
悪意のある) 物理ディスプレイに座っているユーザーは、キーストロークを入力できません。
この方法は XGrabキーボード(3X11) であるため、安全ではなく、除外されません。
物理的なディスプレイにいる人が、サーバーに大量のキーストロークを注入する
キーボードを自分でつかむなど。
ディスプレイの人物が想定されます。 これは、リモート ヘルプ デスクまたは
教育使用モード。

注: 最近 (12 年 2010 月) の一部の X サーバーおよび/またはデスクトップでは、 -grabkbd もう機能しません:
ウィンドウマネージャーがウィンドウのサイズを変更したり、同様のものを作成したりするのを防ぎます。 試す
-アングラボ 以下(動作しない場合があります。)

-グラブプター

As -grabkbd、 ただし、使用するマウスポインターの場合 XGrabPointer(3X11)。 残念ながら期日
Xサーバーの動作方法に合わせて、ユーザーはマウスを引き続き動かすことができます
物理ディスプレイを使用できますが、ウィンドウのフォーカスを変更することはできません。 また
呼び出すいくつかのウィンドウマネージャ XGrabサーバー(3X11) サイズ変更などは、
ローカル ユーザーの入力。 繰り返しますが、その人からのある程度の協力
表示を想定しています。

-アングラボ

入力(キーボードまたはポインタのいずれか)があるときはいつでも、
合成入力を注入しながら、キーボードとポインター。 これは許可することです
ウィンドウマネージャーなどをつかむチャンス。

-グラバルウェイズ

両方適用 -grabkbd-グラブプター VNC ビューアーが接続されていない場合でも。 もし、あんたが
それらのXNUMXつだけが必要な場合は、 -R リモートコントロールでもう一方をオンにします。 -R
nograbptr。

(パスワード: LibVNCServer のパスワード オプションは "-rfbauth file"と
"-パスワード STR" は、ヘルプ出力の下部に記載されています。)

-viewpasswd string

表示専用ログイン用の 2 番目のパスワードを指定します。 の -パスワード (フルアクセス) パスワード
も提供する必要があります。

-passwdfile ファイル名

ファイルの最初の行で LibVNCServer のパスワードを指定します。 ファイル名 (代わりは
または経由 -パスワード 他の人がそれを見るかもしれないコマンドラインで ps(1))。

複数のパスワードを表示専用で提供する方法については、以下の説明を参照してください。
パスワード、認証用の外部プログラム、およびその他の機能を指定します。

ファイル名の前に「rm:」が付いている場合は、読み取られた後に削除されます。
おそらく、これはファイルの可読性を制限するのに役立ちます。 一般に、
パスワードファイルは、信頼されていないユーザーが読み取ることができないようにする必要があります (ところで: どちらも
VNC -rfbauth ファイル: 暗号化されておらず、固定キーで隠されているだけです)。

ファイル名の前に「read:」が付いている場合、定期的にチェックされます。
変更して読み直します。 新しいクライアントが接続したときに再読み込みされることが保証されています
最新のパスワードが使用されるようにします。

If ファイル名 "cmd:" で始まる文字列は、":" の後の文字列として実行されます。
外部コマンド: コマンドの出力は、読み取られたかのように解釈されます
パスワードファイルから (以下を参照)。 コマンドが 0 で終了しない場合、x11vnc
すぐに終了します。 この方法で 1000 個を超えるパスワードを指定するには
x11vnc を起動する前に X11VNC_MAX_PASSWDS。 環境変数は次のように設定されます
-受け入れる。

VNC プロトコルにより、パスワードの最初の 8 文字のみが使用されることに注意してください。
使用されます (DES キー)。

If ファイル名 「custom:」の接頭辞が付いている場合、カスタム パスワード チェッカーが提供されます
「:」に続く外部コマンドとして。 このコマンドは、クライアントが
認証します。 コマンドが 0 で終了した場合、クライアントは受け入れられます。
拒否されました。 環境変数は次のように設定されます -受け入れる。

カスタム コマンドへの標準入力は、XNUMX 進数の「len」とそれに続く
改行。 「len」はチャレンジ サイズを指定し、通常は 16 (VNC 仕様) です。
次に len バイトが続きます。これは、に送信されたランダム チャレンジ文字列です。
クライアント。 この後に、クライアントの応答を保持する len バイトが続きます (つまり、
標準のユーザーパスワードを使用して DES 経由で暗号化されたチャレンジ文字列
状況)。

"custom:" スキームは、動的パスワードの実装または実装に役立ちます。
より長いパスワードおよび/または異なる暗号化アルゴリズムが使用される方法。
後者では、VNC クライアントもカスタマイズする必要があります。 作成することができます
たとえば、MD5SUM ベースのスキーム。 こちらもご覧ください -unixpw_cmd を参照してください。

のファイル形式 -パスワードファイル:

ファイルに複数の非空白行が存在する場合、それらはすべて有効と見なされます
パスワード。 空行は無視されます。 パスワード行は「コメントアウト」されている可能性があります
(無視) 文字「#」で始まる場合、または行に文字列が含まれている場合
"__スキップ__"。 「__COMM__」文字列を使用して、行に注釈を付けることができます。
行末は無視されます。 「__EMPTY__」で空のパスワードを指定できます。
文字列を単独で行に入力します (ビューアが空のパスワードを受け入れない場合があることに注意してください)。

文字列「__BEGIN_VIEWONLY__」が単独で行に表示される場合、残りの
表示専用アクセスにはパスワードが使用されます。 互換性のために、特殊なケースとして
ファイルには 2 つのパスワード行しか含まれていないため、XNUMX 番目の行は自動的に
閲覧専用パスワード。 それ以外の場合は、「__BEGIN_VIEWONLY__」トークンを使用する必要があります
閲覧専用パスワード。 (ヒント: 3 行目と最後の行を「__BEGIN_VIEWONLY__」にして、
2 つのフルアクセス パスワードを持っている)

-ショールフバウト ファイル名

rfbauth ファイルに保持されている隠蔽された VNC パスワードを画面に出力します。 ファイル名
その後終了します。

-usepw

コマンドラインで他のパスワード方法が指定されていない場合は、最初に
~/.vnc/パスワード 見つかった場合は、それを使用します -rfbauth; 次に、探します ~/.vnc/パスワードファイル
と一緒に使用します -パスワードファイル; それ以外の場合は、作成するパスワードをユーザーに要求します
~/.vnc/パスワード そしてそれを使ってください -rfbauth オプション。 これらのどれも成功しない場合 x11vnc
すぐに終了します。

-storepasswd パス file

パスワードを保存する パス ファイル内の VNC パスワードとして file. パスワードが
プログラムの終了を保存します。 「」経由でパスワードを使用します-rfbauth file"

引数なしで呼び出された場合、「x11vnc -storepasswd", ユーザーは
パスワードとそれはファイルに保存されます ~/.vnc/パスワード。 XNUMX つの引数で呼び出され、
これは、プロンプトされたパスワードを保存するファイルになります。

-nopw

なんらかのパスワードなしで x11vnc を使用するときの大きな警告メッセージを無効にします。

-受け入れる string

コマンドを実行して (おそらく X11 ディスプレイでユーザーにプロンプ​​トを表示するため)、
着信クライアントの接続を許可するかどうかを指定します。 string 外部コマンドです
経由して実行  (3) または下記の特殊なケース。 必ず引用する string
スペース、シェル文字などが含まれている場合 外部コマンドが 0 を返す場合
クライアントは受け入れられます。それ以外の場合、クライアントは拒否されます。 以下を参照してください。
クライアントの表示のみを受け入れる拡張機能。

x11vnc がルートとして実行されている場合 (たとえば、 inetd(8) またはディスプレイマネージャーから xdm(1)、
gdm(1) など)、提供する前にセキュリティへの影響を慎重に検討してください
このオプション (同様に -なくなった オプション)。

環境: RFB_CLIENT_IP 環境変数が着信に設定されます。
RFB_CLIENT_PORT のクライアント IP 番号とポート (または、利用できない場合は -1)。
同様に、RFB_SERVER_IP および RFB_SERVER_PORT (接続の x11vnc 側)、
tcp 仮想回線の識別を許可するように設定されています。 x11vnc プロセス ID
RFB_X11VNC_PID、RFB_CLIENT_ID のクライアント ID 番号、および
RFB_CLIENT_COUNT 内の他の接続済みクライアント。 RFB_MODE は "accept" になります。 RFB_STATE
PROTOCOL_VERSION、SECURITY_TYPE、AUTHENTICATION、INITIALISATION、NORMAL、または
UNKNOWN は、クライアントが達成した状態を示します。 RFB_LOGIN_VIEWONLY
0、1、または -1 (不明) になります。 RFB_USERNAME、RFB_LOGIN_TIME、および RFB_CURRENT_TIME
設定することもできます。

If string "popup" の場合、組み込みのポップアップ ウィンドウが使用されます。 ポップアップがタイムアウトします
120 秒後、「popup:N」を使用してタイムアウトを N 秒に変更します (no の場合は 0 を使用します)。
タイムアウト)。

「ポップアップ」の場合と、 -unixpw オプションが指定された後、*秒*
ユーザーが UNIX パスワードを使用して正常にログインすると、ウィンドウがポップアップ表示されます。
今回は、ユーザーは UNIX:username@hostname (「UNIX:」プレフィックス) として識別されます。
ビューアがどのユーザーとしてログインしたかを示します -unixpw。 最初のポップアップは
彼が unix パスワードを使ってログインを試みることさえ許可するかどうか。

If string 「xmessage」の場合 xメッセージ(1) コマンドは呼び出しを使用します。
これが機能するには、xmessage がマシンにインストールされている必要があります。

"popup" と "xmessage" の両方で、クライアントの "View-
Only" (クライアントは視聴のみ可能)。このオプションは、次の場合には表示されません -表示のみ
が指定されている場合、表示全体がビューのみになります。

ユーザーが指定したコマンドに「yes:0,no:*,view:3」のようなプレフィックスが付いている場合
mycommand ...」の場合、これは数値コマンドの戻りコードを
アクション: それぞれ、受け入れ、拒否、および受け入れ-表示のみ。 の代わりに「*」を使用してください
デフォルトのアクションを示す番号 (コマンドが予期しないエラーを返す場合)
価値)。 たとえば、「no:*」は適切な選択です。

外部コマンドまたはポップアップの実行中は x11vnc がブロックされることに注意してください (その他の
この期間中、クライアントには更新が表示されない場合があります)。 だから、物理的に座っている人
ポップアップ プロンプトに応答するには、display が必要です。 (ロックする場合は 2 番目の x11vnc を使用します
自分でアウト)。

その他 -受け入れる トリック: "popupmouse" を使用して、ビルトインでのマウス クリックのみを許可します。
認識されるポップアップ。 同様に、「popupkey」を使用してキーストロークのみを認識します
反応。 これらは、ユーザーが誤ってクライアントを受け入れるのを防ぐのに役立ちます。
入力またはクリックします。 3 つのポップアップ キーワードすべての後に +N+M を指定して、
ポップアップウィンドウの位置。 デフォルトでは、ポップアップ ウィンドウは中央に配置されます。

-受諾後 string

As -受け入れる、 クライアントが受け入れられた後にユーザー提供のコマンドを実行することを除いて
と認証されます。 RFB_MODE は「afteraccept」に設定され、その他の RFB_*
変数は -受け入れる。 取消 -受け入れる、 コマンドの戻りコードは
x11vnc によって解釈されます。 例: -受諾後 「killall xlock &」

-なくなった string

As -受け入れる、 クライアントが離れたときにユーザー提供のコマンドを実行することを除いて
(切断)。 RFB_MODE は「gone」に設定され、他の RFB_* 変数は次のようになります。
in -受け入れる。 「ポップアップ」アクションも適用されます。 ようではない -受け入れる、 コマンドリターン
コードは x11vnc によって解釈されません。 例: -なくなった 「xlock &」

-unixpw [リスト]

Unix のユーザー名とパスワード認証を使用します。 x11vnc は su(1)プログラム
ユーザーのパスワードを確認します。 [list] はオプションのカンマ区切りのリストです
許可された Unix ユーザー名。 [list] 文字列が文字「!」で始まる場合それから
リスト全体が除外リストと見なされます。 ユーザーごとのオプションについては、以下を参照してください。
適用することができます。

おなじみの「login:」および「Password:」ダイアログが黒でユーザーに表示されます。
vncviewer 内の画面。 ユーザーが指定しない場合、接続は切断されます
3 回の試行で正しいパスワードを送信するか、45 秒のタイムアウトまでにパスワードを送信しません。
この期間中、既存のお客様は閲覧のみとなります。

受け取った最初の文字が「Escape」の場合、UNIX ユーザー名は
入力したとおり「login:」の後に表示されます。 これは、次のような VNC ビューアに役立つ可能性があります。
ユーザー名とパスワードを自動的に入力します。

の詳細な動作から su(1) OS ごと、およびローカルの場合は異なる場合があります。
構成、展開前にモードをテストして、動作していることを確認します
ちゃんと。 x11vnc は保守的になろうとし、ログインを拒否します。
異常発生。

注意すべき XNUMX つのケース: FreeBSD およびその他の BSD では、デフォルトでは、
x11vnc を実行しているユーザーは、自分の *自分の* パスワードを検証するために su(1) (コメントアウト
pam_self.so エントリ /etc/pam.d/su この動作を排除します)。 したがって、x11vnc ログイン
この場合、常に *FAIL* になります (正しいパスワードが提供された場合でも)。

*BSD で考えられる回避策は、x11vnc を root として起動することです。
"-ユーザー +だれも" su'ing が実行される場所で、すぐにユーザー nobody に切り替えるオプション
普通に進みます。

潜在的な問題の別の原因は、追加情報を要求する PAM モジュールです。
たとえば、パスワード エージング モジュール。 これらのログインは、正しい場合でも失敗します。
パスワードが提供されます。

**重要**: Unix パスワードが *クリア テキスト*で送信されるのを防ぐために、
ネットワークでは、次の 1 つのスキームのいずれかが適用されます。XNUMX) -ssl 組み込み SSL モード、または 2)
両方が必要です -ローカルホスト-トンネル 有効にする。

方法 1) では、ビューアとサーバーの間でトラフィックが確実に暗号化されます。 PEM ファイル
以下の説明を参照してください。 -ssl 以下(状況によっては
一時的なものは自動的に生成できます)。

方法 2) は、ビューア接続が同じマシンから来ているように見える必要があります。
x11vnc が実行されている (例: ssh から) -L ポートリダイレクト)。 そして、 -トンネル
ネットワーク上での暗号化に SSL モードを使用できます。 (の説明を参照してください -トンネル
下)。

注: 便宜上、 ssh(1) で x11vnc を起動すると、
環境変数 SSH_CONNECTION が設定されており、適切に表示されます。 もしそうなら、
そうして -ssl or -トンネル あなたがいると想定されているため、要件は削除されます
暗号化されたトンネリングに ssh を使用します。 -ローカルホスト 現在も施行されています。 使用 -ssl or
-トンネル SSH_CONNECTION が設定されていても SSL の使用を強制します。

上記の制限をオーバーライドするには、事前に環境変数を設定できます
x11vnc の開始:

UNIXPW_DISABLE_SSL=1 を設定して、いずれかの要求を無効にします。 -ssl or -トンネル (以下のように
SSH_CONNECTION.) 明らかに、別の方法を使用して暗号化します。
vncviewer と x11vnc の間のデータ: おそらく ssh(1) または IPSEC VPN。 -ローカルホスト
は引き続き適用されます (ただし、次の段落を参照してください。)

UNIXPW_DISABLE_LOCALHOST=1 を設定して、 -ローカルホスト の要件 -unixpw
モード。 これは決して行うべきではありません (つまり、Unix のパスワードが傍受されるのを許可します)。
これにより、リバース接続の localhost 要件も無効になります。
(下記参照。)

の使用に注意してください -ローカルホスト   ssh(1) (そしていいえ -unixpw) とほぼ同じです
Unix ユーザーのログインが必要です (Unix パスワードまたはユーザーの公開鍵
認証は、x11vnc が実行されているマシン上の sshd によって使用され、ローカルのみ
そのマシンからの接続は受け入れられます)。

逆接続について(例 -R 接続:ホストと -接続 ホスト)、
-ローカルホスト 制約が有効になっている場合、逆接続は次の場合にのみ使用できます
x11vnc が実行されている同じマシンに接続します (デフォルト ポート 5500)。 を使用してください
ビューア マシンへの ssh または stunnel ポート リダイレクトによる逆方向のトンネリング
暗号化されたチャネルを介した接続。

In -inetd モードでは、方法 1) が適用されます (方法 2 ではありません)。 と -ssl 事実上
逆接続は無効になります。 env でこれをオーバーライドすると、 var、必ず
ビューアーから inetd への暗号化も使用します。 ヒント: 自分で作成することもできます
stunnel spawn x11vnc で -inetd モード (それにより、inetd をバイパスします)。 のよくある質問を参照してください
詳細。

コンマで区切られた [リスト] のユーザー名には、「:」の後にユーザーごとのオプションがある場合があります。
たとえば、「fred:opts」の場合、「opts」は「viewonly」、「fullaccess」、「fullaccess」の「+」で区切られたリストです。
「input=XXXX」または「deny」、たとえば「karl,wally:viewonly,boss:input=M」。 「入力=」の場合
で説明されている K、M、B、C です。 -入力。

リスト内の項目が「*」の場合は、それらのオプションがすべてのユーザーに適用されることを意味します。 また
有効なパスワードを入力した後、すべてのユーザーがログインできることを意味します。 使用
「*」を使用してグローバル オプションを設定する場合、「deny」を使用して一部のユーザーを明示的に拒否します。 もしも
[リスト] は「!」で始まります文字の場合、"*" は、ユーザーが
は許可されますが、それに関連付けられたオプション値は通常どおり適用されます。

[list] が「%」で始まる場合、パスワードをチェックするユーティリティもいくつかあります。
キャラクター。 詳細については、quick_pw() 関数を参照してください。 説明: "%-" または
「%stdin」は、stdin から 2 行を読み取ることを意味します。 「%stdinXNUMX」は、からユーザー名を読み取ることを意味します
最初の標準入力行と XNUMX 番目の標準入力行からのパスワード。 「%env」はそれが
$UNIXPW 環境変数で。 先頭の「%/」または「%」。 から最初の行を読み取ることを意味します
% 文字の後に続くファイル名。 % 自体は、
ユーザー名とパスワード。 それ以外の場合: %user:pass Eg -unixpw %fred:メカジキ用
それ以外の場合、user:pass は指定されたソースから読み取られます。 パスワードが
正しい 'Y user' が表示され、プログラムの終了コードは 0 です。パスワードが
正しくない場合、'N user' と表示され、終了コードは 1 です。その他のエラーがある場合
終了コードは 2 です。この機能により、x11vnc を一般的な UNIX ユーザー パスワードにすることができます。
チェックツール; スクリプトまたは他のプログラムから使用できます。 これらの % パスワード
チェックも適用されます -unixpw_nis-unixpw_cmd オプション。

% パスワード チェックの場合、env. 変数。 コマンドに UNIXPW_CMD を設定すると、
ユーザーとして実行されます (パスワードが正しいと仮定します)。コマンドの出力
が印刷されない場合、プログラムまたはスクリプトは他の手段でそれを管理する必要があります。 の
x11vnc の終了コードは、実行されるコマンドの終了コードによって異なります。

  -nounixpw コマンドラインで以前に有効にされていた場合、unixpwモードを無効にします
(例えば -svc モード)

-unixpw_nis [リスト]

As -unixpw ただし、使用しないでください su(1) ではなく、従来の
ゲットプナム(3)+ 陰窩(3) パスワードを確認する方法。 上記のすべて -unixpw オプション
制約が適用されます。

このモードでは、暗号化されたパスワードが読み取り可能である必要があります。 暗号化されたパスワード
に保管 / etc / shadow x11vnc がルートとして実行されない限り、アクセスできません。

ほとんどの NIS セットアップではユーザーが暗号化されるため、これは「NIS」モードと呼ばれます。
パスワードは通常のユーザーがアクセスできます (例: "ypcat passwd")。
すべてのユーザーを認証できます。

このモードが機能するのに NIS は必要ありません (それだけです)。 ゲットプナム(3)返品
暗号化されたパスワードが必要です)、しかしそれが機能する可能性は低いです (通常の
ユーザー) NIS が利用可能でない限り、ほとんどの最新の環境で。 一方で、
x11vnc を root として実行すると、アクセスできるようになります / etc / shadow NISがあったとしても
利用できません (root としての実行は、inetd から x11vnc を実行するときによく行われることに注意してください)
および xdm/gdm/kdm)。

別の方法で、使用したくない場合は、 su(1) が提供する方法
-unixpw (つまり、su_verify())、x11vnc を root として実行して使用できます。 -unixpw_nis。 任意
パスワードを持つユーザー / etc / shadow その後、認証できます。

In -unixpw_nis モードでは、x11vnc のユーザー パスワードが検証されることはありません
呼び出された su に基づく関数 (つまり、実行される関数 su_verify() / bin / su
疑似端末を使用してパスワードを確認します。) ただし、 -unixpw_nis で使用されています
と組み合わせて -見つける-作成 -表示 WAIT:... モード、x11vnc の場合
ルートとして実行し、 / bin / su 検索または作成を実行するために外部から呼び出すことができます
コマンド。

-unixpw_cmd CMD

As -unixpw ただし、使用しないでください su(1) 外部から提供された
command CMD. stdin の最初の行はユーザー名で、XNUMX 行目は
受け取ったパスワード。 コマンドがステータス 0 (成功) で終了した場合、VNC ユーザー
受け入れられます。 それ以外の返品ステータスでは拒否されます。

動的パスワードと非 UNIX パスワード (LDAP など) は、次の方法で実装できます。
独自のカスタム ヘルパー プログラムを提供します。 リモートビューアには 3 が与えられていることに注意してください
正しいパスワードを入力しようとするため、プログラムが連続して呼び出される可能性があります。
何度も(またはそれ以上)。

ログインできるユーザーを制限するために、許可されたユーザーのリストが必要な場合は、 -unixpw [リスト] 中
このオプションに追加。

FINDDISPLAY および FINDCREATEDISPLAY モードでは、 CMD も実行されます
RFB_UNIXPW_CMD_RUN 環境。 変数。 空ではなく、対応するディスプレイに設定されます
検索/作成コマンド。 入力の最初の XNUMX 行は、username と passwd です。
上記の通常の場合。 FINDDISPLAY と FINDCREATEDISPLAY をサポートするには、
CMD 要求されたコマンドをユーザーとして実行する必要があります (実行を拒否する可能性が最も高い)
これは、パスワードが正しくない場合に表示されます)。ここにスクリプトの例を示します (
ハードワイヤードの偽のパスワード「abc」!)

#!/bin/sh # 例 x11vnc -unixpw_cmd 脚本。 # stdin の最初の XNUMX 行を読む
(user と passwd) read user read pass

debug=0 if [ $debug = 1 ]; 次に echo "user: $user" 1>&2 echo "pass: $pass" 1>&2 env
| | egrep -i 'rfb|vnc' 1>&2 fi

# パスワードが有効かどうかを確認します。 # (実際の例では、ldap ルックアップなどを使用します!)
if [ "X$pass" != "Xabc" ]; 次に終了します 1 # パスワードが正しくありません fi

if [ "X$RFB_UNIXPW_CMD_RUN" = "X" ]; 次に終了 0 # 正しいパスワード else # 実行
要求されたコマンド (finddisplay) if [ $debug = 1 ]; 次にエコー「実行:
$RFB_UNIXPW_CMD_RUN" 1>&2 fi exec / bin / su - 「$ユーザー」 -c "$RFB_UNIXPW_CMD_RUN" fi
1番出口

In -unixpw_cmd モードでは、x11vnc のユーザー パスワードが検証されることはありません
呼び出された su に基づく関数 (つまり、実行される関数 su_verify() / bin / su
疑似端末を使用してパスワードを確認します。) 提供された unixpw_cmd に任せます
必要に応じて、ユーザーの切り替えが許可されている場合。

「」も参照してください。-passwdfile カスタム:...上記の非 UNIX ユーザー名ベースのカスタム
パスワード チェック インターフェイス。

-見つける

FINDDISPLAY を使用してユーザーのディスプレイを検索します。 これは " の別名です。-表示
待機:cmd=FINDDISPLAY".

注: -表示 後でコマンドラインで発生すると、 -見つける
設定。

これと次のいくつかのオプションについては、 -表示 待ってください:... すべてについては以下をご覧ください
詳細。

-findpy

FINDDISPLAY プログラムを実行し、見つかったディスプレイ (存在する場合) を出力して終了します。 出力
DISPLAY=:0.0 DISPLAY=:0.0,XPID=12345 または DISPLAY=:0.0,VT=7 のようなものです。 XPID は、
見つかった X サーバーのプロセス ID。 VT は X の Linux 仮想端末です。
サーバー。

-listdpy

FINDDISPLAY プログラムに、すべてのディスプレイ (つまり、すべての X ディスプレイ) をリストさせます。
アクセス権のあるローカル マシン)。 その後、x11vnc は終了します。

-findauth [表示]

適用 -find/-findpy DISPLAY の XAUTHORITY ファイルを推測しようとするヒューリスティック
「ディスプ」。 「disp」が指定されていない場合、 -表示 コマンドラインで
使用されている; $DISPLAY が使用されていない。 ":0" が使用されていない場合。 x11vncその後
終了します。

何も表示されない場合は、「disp」の XAUTHORITY が見つからなかったことを意味します。 すなわち
失敗。 「XAUTHORITY=」が表示されている場合は、デフォルトを使用することを意味します (つまり、
XAUTHORITY を設定します)。 「XAUTHORITY=/path/to/file」が出力された場合は、そのファイルを使用します。

XDM/GDM/KDM: root として x11vnc を実行していて、XAUTHORITY を見つけたい場合
誰かがまだ X セッションにログインする前に、次を使用します: x11vnc -env FD_XDM=1 -findauth
... (ユーザーがすでに X にログインしている場合、これは XAUTHORITY も検索します。
root として実行している場合、最初の -findauth
失敗します。

-作成

最初に FINDDISPLAY を使用してユーザーのディスプレイを見つけようとしますが、うまくいかない場合は
FINDCREATEDISPLAY メソッドを介して X セッションを作成します。 これはのエイリアスです
"-表示 待機:cmd=FINDCREATEDISPLAY-Xvfb".

注: -表示 後でコマンドラインで発生すると、 -作成
設定。

SSH 注: 両方の場合 -見つける-作成 「」を追加できます(すべきです!)-ローカルホスト「オプション
SSH トンネル アクセスを強制します。

-xダミー

同様に -作成、 Xvfb の代わりに Xdummy を除く。

-xvnc

同様に -作成、 Xvfb の代わりに Xvnc を除く。

-xvnc_redirect

同様に -作成、 Xvfb の代わりに Xvnc.redirect を除きます。

-xdummy_xvfb

WAIT:cmd=FINDCREATEDISPLAY-Xdummy,Xvfb を設定します

-create_xsrv STR

WAIT:cmd=FINDCREATEDISPLAY- を設定します。 設定した後はコマンドラインで実行できます
待って:..その他のこと (例: -サービス、 -xdmsvc) X サーバーリストを調整します。
例: -svc ... -create_xsrv Xダミー、X

-svc

SSL アクセスに基づくターミナル サービス モード。 のエイリアス -表示
待機:cmd=FINDCREATEDISPLAY-Xvfb -unixpw -ユーザー unixpw= -ssl 保存も」-サービス".

注: -画面、 -unixpw、 -ユーザー、 or -ssl 後でコマンドラインで発生します
をオーバーライドします -svc 設定。

-svc_xdummy

As -svc Xvfb の代わりに Xdummy を除く。

-svc_xvnc

As -svc Xvfb の代わりに Xvnc を除く。

-svc_xdummy_xvfb

As -svc Xdummy、Xvfbで。

-xdmsvc

ディスプレイ マネージャー SSL に基づくターミナル サービス モード。 のエイリアス -表示
待機:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -ユーザー unixpw= -ssl また保存
"-xdm_service".

注: -画面、 -unixpw、 -ユーザー、 or -ssl 後でコマンドラインで発生します
をオーバーライドします -xdmsvc 設定。

セッションを作成するには、ユーザーはまずにログインする必要があります -unixpw ダイアログ、その後
XDM/GDM/KDM プロンプトに再度ログインします。 その後の再接続は
が必要 -unixpw パスワード。 以下の議論を参照してください -表示 待って:...もっと見る
XDM などの構成に関する詳細。

xdm-config、gdm.conf、または kdmrc 構成ファイルで XDMCP を有効にすることを忘れないでください。
見る -表示 お待ちください: 詳しくは。

-sshxdmsvc

ディスプレイ マネージャー SSH に基づくターミナル サービス モード。 のエイリアス -表示
待機:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -ローカルホスト。

この -ローカルホスト オプションは、接続が SSH トンネル (これは
ログインが必要です)。 セッションを作成するには、ユーザーもログインする必要があります
XDM GDM KDM プロンプト。 その後の再接続では、SSH ログインのみが必要になります。
以下の議論を参照してください -表示 待って:... XDM などの詳細については
構成。

xdm-config、gdm.conf、または kdmrc 構成ファイルで XDMCP を有効にすることを忘れないでください。
見る -表示 お待ちください: 詳しくは。

-unixpw_system_greeter

接続している VNC クライアントに「Press 'Escape' for System Greeter」オプションを提示します
合わせて -unixpw および xdmcp FINDCREATEDISPLAY モード (例: -xdmsvc)。

通常は -unixpw モードでは、VNC クライアントは有効なユーザー名とパスワードを提供する必要があります
アクセスを取得します。 ただし、 -unixpw_system_greeter 供給され、かつ
FINDCREATEDISPLAY コマンドが 'xdmcp' に一致する場合、ユーザーは押すオプションがあります
エスケープして、代わりに XDM/GDM/KDM ログイン/グリーティング パネルを取得します。 彼らはその後
グリーターに直接ユーザー名とパスワードを提供します。

それ以外の場合、xdmcp FINDCREATEDISPLAY モードで、ユーザーは自分のユーザー名と
パスワードXNUMX回。 XNUMX つ目は最初の unixpw ログイン ダイアログ、XNUMX つ目は
後続の XDM/GDM/KDM グリーティング。 ユーザーが再接続して自分の
unixpw ダイアログのユーザー名とパスワード xdmcp のグリーターはスキップされ、彼は
彼の既存の X セッションに直接接続しました。 だから、 -unixpw_system_greeter オプション
X セッション作成時の余分なパスワードを回避します。

例: x11vnc -xdmsvc -unixpw_system_greeter 見る -unixpw-表示 待って:...
詳細はこちら

ユーザー名の末尾のコロンの後の特別なオプション (例: user:solid)
以下に説明 -表示 WAIT: 入力された場合、このモードでも適用されます
ユーザーが Escape を押す前。 ユーザー名は無視されますが、コロン オプションは
ではありません。

デフォルトのメッセージは小さいフォントで 2 行です。env を設定してください。 変数。
X11VNC_SYSTEM_GREETER1=true は、大きなフォントの 1 行のメッセージの場合です。

ユーザーが Escape を押した場合、FINDCREATEDISPLAY コマンドが env で実行されます。
変数。 X11VNC_XDM_ONLY=1。

xdm-config、gdm.conf、または kdmrc 構成ファイルで XDMCP を有効にすることを忘れないでください。
見る -表示 お待ちください: 詳しくは。

-リダイレクト ポート

FINDCREATEDISPLAY-Xvnc.redirect モードと同様に、ただちにリダイレクトします (つまり、
X セッションの検索または作成なしで) ポートでリッスンしている VNC サーバーに接続します。 あなたはできる
別のマシンにリダイレクトするための host:port も指定します。

0 <= ポート < 200 の場合、VNC ディスプレイと見なされます (実際のポートを取得するために 5900 が追加されます)。
ポート)、ポート < 0 の場合 -港 使用されている。

おそらく使用する唯一の理由は -リダイレクト オプションは SSL と連動しています
サポート、例えば -ssl 保存。 これにより、VNC に SSL 暗号化を追加する簡単な方法が提供されます。
SSL をサポートしていないサーバー (Xvnc や vnc.so など) 実際、プロトコルは SSL をサポートしています。
VNCである必要さえないので、"-rfbポート port1 -ssl セーブ -リダイレクト host:port2」が可能
~の代わりとして行動する ステルネルとします。

このモードでは、リダイレクトされた接続を XNUMX つだけ許可します。 の -永遠に オプションはありません
申し込み。 使用 -inetd or -ループ 永続的なサービスのために。

-表示 待って:...

通常の特別な使用モード -表示 オプション。 で便利 -unixpw、 しかし、できます
それとは独立して使用できます。 表示文字列が WAIT: で始まる場合、x11vnc
X ディスプレイを開く前に、VNC クライアントが接続するまで待機します (または -rawfb 端末)。

これは、特定の使用モードでディスプレイを開くのを遅らせるのに役立ちます (たとえば、
ブート時に x11vnc が開始され、X サーバーが実行されていないか、ユーザーがログインしている場合
まだ)。

文字列が、たとえば WAIT:0.0 または WAIT:1 の場合、つまり、通常の X の前に「WAIT」
示されている場合、その表示が使用されます。

WAIT:1280x1024:... のように、コロンの間にジオメトリを挿入することもできます。
VNC クライアントが最初に接続するディスプレイのサイズ。
新しいフレームバッファ サイズに自動的に調整されません。

より興味深いケースは次のようなものです。

待機:cmd=/usr/local/bin/find_display

この場合、「cmd=」の後のコマンドを実行して、DISPLAY を動的に計算します。
オプションで XAUTHORITY データ。 コマンド出力の最初の行は、
DISPLAY= 形式の. Linux で仮想端末がわかっている場合は追記
",VT=n" をこの文字列に追加し、 チャット(1) プログラムも実行されます。 残っているもの
出力は XAUTHORITY データとして取得されます。 XAUTHORITY= のいずれかの形式にすることができます。
または表示用の生の xauthority データ。 例えば;

xauth 抽出 - $DISPLAY"

注: 前の段落で指定したように、独自の WAIT:cmd=... を指定できます。
プログラムまたはスクリプトですが、XNUMX つの非常に便利な*組み込み*のものがあります: FINDDISPLAY
(別名 -見つける 上記) および FINDCREATEDISPLAY (エイリアス -作成 上記)ほとんどの人が使用します
独自のスクリプトを作成する代わりに、これらを使用します。 以下をお読みください(特に
BUILT-IN モード セクション) を参照して、これら XNUMX つの便利なビルトインを構成する方法を確認してください。 -表示
待機: モード。

の場合には -unixpw (と -unixpw_nis x11vnc が root として実行されている場合のみ)、
cmd= コマンドは、ログインによって認証されたばかりのユーザーとして実行され、
パスワードプロンプト。

の場合には -unixpw_cmd、 コマンドは、ログインしたユーザーとしても実行されます。
ユーザー提供のヘルパー プログラムが RFB_UNIXPW_CMD_RUN をサポートしている限り (
-unixpw_cmd オプション。)

の場合も -unixpw、 ログインしているユーザーは、末尾にコロンを置くことができます
彼女のユーザー名といくつかのオプションを指定します: scale=、scale_cursor= (または sc=)、solid (または
so)、id=、clear_mods (または cm)、clear_keys (または ck)、clear_all (または ca)、繰り返し、
speed= (または sp=)、readtimeout= (または rd=)、viewonly (または vo)、nodisplay= (または nd=)、
回転 = (または ro=)、または非キャッシュ (または nc)、さらにある場合はすべてコンマで区切られます
XNUMXつより。 ユーザーが正常にログインすると、これらのオプションが適用されます
VNC画面。 例えば、

login: fred:scale=3/4,sc=1,repeat パスワード: ...

ログイン: ルンゲ:sp=modem,rd=120,solid

便宜上、m/n は scale= を意味します。例: fred:3/4
パスワードが間違っている場合、長い「login:」行を取得するには、上向き矢印を XNUMX 回押します
(何かを入力する前に)。

これらのコロン オプションのほとんどは、組み込みの FINDDISPLAY および
FINDCREATEDISPLAY モードと同じですが、これらは外部コマンドに渡されることに注意してください。
環境と同様に使用できます。

ログイン パネルで F1 を押して、使用可能なオプションのリストを取得します。
ユーザー名の後に追加します。

もう XNUMX つのオプションは、"geom=WxH" または "geom=WxHxD" (または ge=) です。 これは次の場合にのみ効果があります
Xvfb などの仮想 X サーバーを作成する場合の FINDCREATEDISPLAY モード。
新しいディスプレイの幅と高さ、およびオプションで色深度を次のように設定します。
よく。

「gnome」、「kde」、「twm」、「fvwm」、「mwm」、「dtwm」、「wmaker」、「xfce」、
"lxde"、"enlightenment"、"Xsession"、または "failsafe" ("xterm" と同じ)
作成されたディスプレイは、ユーザー セッションにそのモードを使用します。

「tag=...」を指定して、以下で説明する一意の FD_TAG デスクトップ セッション タグを設定します。
注: FD_TAG env. 変数。 がすでに設定されているか、
ビューアー側で指定された値が、英数字または「_」または「-」で完全に構成されていません
文字。

ユーザー設定ファイル: ユーザーが geom=WxH などを入力する代わりに、
FD_USERPREFS を
「/」文字を含まない文字列の場合、ユーザーのホーム ディレクトリは
その文字列の先頭に追加され、ファイルが存在する場合はその最初の行が読み取られて追加されます
彼が login: プロンプトで指定したオプションに。 例えば -env
FD_USERPREFS=.x11vnc_create で、ユーザーは「geom=1600x1200」を自分の
~/.x11vnc_create ファイルにソフトウェアを指定する必要があります。

オプション設定を無効にするには、環境変数 X11VNC_NO_UNIXPW_OPTS=1 を設定します
x11vnc を起動する前に。 他のオプションを設定するには、ユーザーは GUI (x11vnc
-gui connect) またはリモート制御方法 (x11vnc -R opt:val) 彼の VNC 中
セッション。

したがって、次の組み合わせが表示されます -表示 WAIT:cmd=... と -unixpw 自動を許可する
UNIX 認証された VNC ユーザーとデスクトップのペアリング。 これは非常に
SunRays や、複数のユーザーが特定のマシンを共有するシステムでも役立ちます。
ユーザーは、自分用に設定された特別なポートやパスワードを覚えておく必要はありません。
デスクトップと VNC。

WAIT:cmd=... を使用する良い方法は、 inetd(8) (自動的に新しい
各ユーザーの x11vnc)。 x11vnc inetd で生成されたプロセスを次のように実行できます。
ルートまたは誰も。 root として (inetd またはディスプレイ マネージャーのいずれかで) 実行すると、次のことができます。
オプション "-ユーザー unixpw=" x11vnc プロセスを
ユーザーも。 注: 切り替えられない 2 番目の SSL ヘルパー プロセスが存在します。
ただし、その時点では暗号化されたストリームをエンコードおよびデコードするだけです。

組み込みモード:

-- ユーザー X セッションの自動検索 --

特殊なケースとして、WAIT:cmd=FINDDISPLAY は、ほとんどの Unix で動作するスクリプトを実行します。
ユーザーの DISPLAY 変数と xauthority データを決定する (を参照) who(1))。

注: オプション "-見つける" はこのモードの別名です。

このデフォルト スクリプトを stdout に出力するには (カスタマイズ用など)、次のように実行します。
WAIT:cmd=FINDDISPLAY-print スクリプトを実行して表示内容を印刷するには
使い道を見つける」-findpy" または WAIT:cmd=FINDDISPLAY-run

標準スクリプトが実行されます xdpyinfo(1) 潜在的なディスプレイで実行します。 あなたのXの場合
サーバーには、Xserver を排他的に取得するログイン グリーターがあり、次に xdpyinfo
永久にブロックし、このモードは機能しません。 見る
これを無効にする方法については、www.karlrunge.com/x11vnc/faq.html#faq-display-manager
Solaris の dtgreet と、おそらく他のグリーター用です。

In -find/cmd=FINDDISPLAY モード、FD_XDM=1 を設定した場合、例えば 'x11vnc -env FD_XDM=1
-見つける ...' で、x11vnc が root として実行されている場合 (inetd など)、
実行中の XDM/GDM/KDM ログイン グリーターの XAUTHORITY ファイル (つまり、ユーザーがログインしていません)
X セッションにはまだ入っていません。)

別の特殊なケースとして、WAIT:cmd=HTTPONCE により、x11vnc が XNUMX つの http にサービスを提供できるようになります。
要求して終了します。 これは通常、 -inetd たとえば、ポートで実行するモード
5800 を追加し、Java vncviewer をクライアント Web ブラウザーでダウンロードできるようにします。 ために
例:

5815 ストリーム tcp nowait ルート /usr/sbin/tcpd /.../x11vnc\ -inetd -q -http_ssl -プログラム
/.../x11vnc\ -表示 待機:cmd=HTTPONCE

/.../x11vnc は x11vnc へのフル パスです。 Apache SSL ポータルで使用されます。
例 (FAQ を参照)。

このモードでは、 X11VNC_SKIP_DISPLAY をディスプレイのコンマ区切りリストに設定できます
(例: ":0,:1") 検索プロセスで無視します。 「:」はオプションです。 範囲 nm
たとえば、0 ~ 20 も指定できます。 この文字列は、接続ユーザーも設定できます
「,」の代わりに「+」を使用した「nd=」経由 「nd=all」または X11VNC_SKIP_DISPLAY=all を設定した場合
X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 を設定したかのように、すべてのディスプレイ検索が失敗します
(下。)

一部のシステムでは lsof(1) 非常に遅くなる可能性があります。 環境を設定します。 変数。 FIND_DISPLAY_NO_LSOF=1
lsof の使用をスキップして、X サーバーが実行されている Linux VT を見つけようとします。 設定
FIND_DISPLAY_NO_VT_FIND=1 を指定すると、何も表示されなくなります。

-- ユーザー X セッションの自動作成 --

興味深いオプションは WAIT:cmd=FINDCREATEDISPLAY です。これは FINDDISPLAY のようなものです
つまり、同じ方法を使用して既存のディスプレイを見つけます。 ただし、そうでない場合は
ユーザーの X サーバー セッションを *開始* しようとするものを見つけます。 これは
x11vnc が実際に X サーバーを起動しようとするときだけです。

注: オプション "-作成" はこのモードの別名です。

:20 Override via で開いているディスプレイ番号を探し始めます。
X11VNC_CREATE_STARTING_DISPLAY_NUMBER=n デフォルトでは、80 個の X ディスプレイが許可されています (つまり、
:99 に進みます) X11VNC_CREATE_MAX_DISPLAYS=n によるオーバーライド

そのヒューリスティックのために、create display スクリプトは LC_ALL=C を設定し、コマンド出力が
均一です。 デフォルトでは、開始直前に LC_ALL を復元しようとします。
ユーザーセッション。 ただし、環境を LC_ALL=C に設定したままにしておいてもかまわない場合は、. 変数:
X11VNC_CREATE_LC_ALL_C_OK=1

デフォルトでは、FINDCREATEDISPLAY は Xvfb を試行してから Xdummy を試行します。

Xdummy ラッパーは、x11vnc ソース コード (x11vnc/misc/Xdummy) の一部です。
PATHで利用可能で、「Xdummy」を実行している必要があります -インストール" 一度作成する
共有ライブラリ。 Xdummy は Linux でのみ動作します。 12 年 2009 月以降、
デフォルトでは root として実行されません。 状況によっては
パーミッションは root として実行する必要がある場合があります。このような場合は指定します
FD_XDUMMY_RUN_AS_ROOT=1、これは供給と同じです ルート Xdummy コマンドラインに。

Xvfb はほとんどのプラットフォームで利用でき、root は必要ありません。

Xvfb に対する Xdummy の利点は、Xdummy が RANDR 動的画面をサポートしていることです。
サイズ変更。

x11vnc が終了すると (つまり、ユーザーが切断すると)、X サーバー セッションは引き続き実行されます。
バックグラウンド。 FINDDISPLAY は、次回から直接検索します。 ユーザーは終了する必要があります
通常の方法で X セッションを終了します (または、X サーバー プロセスを強制終了します)。
それ以外はすべて失敗します)。

FINDCREATEDISPLAY メカニズムのトラブルシューティングを行うには、次の環境を設定します。 変数。 に
出力ログファイル、例えば -env CREATE_DISPLAY_OUTPUT=/tmp/mydebug.txt

したがって、これは x11vnc が起動して仮想をポーリングするという点で、やや奇妙なモードです。
Xサーバー! これは、たとえば、 inetd(8)確実な手段を提供すること
マシン上にデスクトップ (実または仮想) を取得します。 たとえば、デスクトップ サービス:

5900 ストリーム tcp nowait ルート /usr/sbin/tcpd /.../x11vnc -inetd -q -http -ssl セーブ
-unixpw -ユーザー unixpw=\ -パスワード 秘密 -プログラム /.../x11vnc\ -表示
WAIT:cmd=FINDCREATEDISPLAY

/.../x11vnc は x11vnc へのフル パスです。

ジョブの設定方法については、 -サービス/-サービス 上記のオプションエイリアス。

何らかの理由で x11vnc に既存のディスプレイを見つけさせたくない場合
環境を設定します。 var X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 (また -env ...) これは
X11VNC_SKIP_DISPLAY=all を設定するか、「username:」の後に「nd=all」を指定するのと同じです。

WAIT:cmd=FINDCREATEDISPLAY-print を使用して、これに使用されるスクリプトを出力します。

たとえば、WAIT:cmd=FINDCREATEDISPLAY- を使用して、優先する X サーバーの順序を指定できます。
Xdummy、Xvfb、X、および/または不要なものを除外します。 「X」は試してみるという意味です
を使用して実際のハードウェア X サーバーを起動するには キシニット(1)または startx(1)。 もしあるなら
すでに X ケースを実行している X サーバーは、Linux でのみ動作する可能性があります ( startx(1))。

「Xvnc」は VNC X サーバーを起動します (リアルまたはタイトな vnc、たとえば、Xvfb がない場合に使用します)。
利用可能)。 「Xsrv」は、変数「FD_XSRV」でサーバープログラムを起動します。
空ではありません。 必要に応じて、これをラッパー スクリプトにすることもできます (処理する必要があります)。
:ん、 - 幾何学、- 深さ およびその他の X サーバー オプション)。

環境変数 FD_GEOM (または X11VNC_CREATE_GEOM) を WxH または
WxHxD は幅と高さを設定し、必要に応じて作成された色深度を設定します
画面。 FD_SESS をセッション (セッションの短い名前) に設定することもできます。
ウィンドウマネージャー: kde、gnome、twm、フェイルセーフなど)。 FD_OPTS には追加のオプションが含まれています
X サーバーに渡します。 FD_PROG をフル パスに設定することもできます。
セッション/ウィンドウマネージャー プログラム。

その他の FD トリック: FD_CUPS=port または FD_CUPS=host:port は、カップ印刷を設定します
環境。 同様に、esddsp サウンドの FD_ESD=port または FD_ESD=host:port の場合
リダイレクション。 X サーバーの数秒後に実行されるコマンドに FD_EXTRA を設定します。
起動します。 FD_TAG をセッションの一意の名前に設定します。これは X として設定されます。
これにより、FINDDISPLAY はそのタグ値を持つセッションのみを検索します。

FD_XDMCP_IF を、ディスプレイ マネージャーが実行されているネットワーク インターフェイスに設定します。
デフォルトは「localhost」ですが、一部の IPv1 のみで「::6」に設定する必要がある場合があります
システムまたは不適切に構成されたディスプレイマネージャー。

FINDCREATEDISPLAY セッションで XDMCP ログイン マネージャーに接続する場合
(xdm/gdm/kdm) を同じマシンで実行する場合は、「Xvfb」の代わりに「Xvfb.xdmcp」を使用します。
ユーザーはもう一度ユーザー名とパスワードを入力する必要があります (ただし、
彼のデスクトップの種類を選択すると便利です)。 これが機能するには、次のものが必要です
ディスプレイ マネージャーの localhost XDMCP (udp ポート 177) を有効にします。 これは
次のとおりです。

gdm.conf の gdm の場合: kdmrc の kdm のセクション [xdmcp] で Enable=true:
xdm-config の xdm のセクション [Xdmcp] で Enable=true: DisplayManager.requestPort:
177

上記の簡略オプションを参照してください」-svc""-xdmsvc"と"-sshxdmsvc」を指定します
いくつかの有用なケースのための上記のオプション。

envを設定した場合。 var WAITBG=1 x11vnc はリッスンするとバックグラウンドに入ります
待機モードで。

別の特別なモードは、FINDCREATEDISPLAY-Xvnc.redirect (または FINDDISPLAY-
Xvnc.redirect)。 この場合、必要に応じて上記のように Xvnc を起動しますが、代わりに
通常の方法でポーリングする場合、単にソケットのリダイレクトを行います
VNC ビューアーを Xvnc に接続しました。

したがって、Xvnc.redirect では、x11vnc は VNC を実行せず、データを転送して戻すだけです。
前方へ。 これは x11vnc のポーリング方法よりも高速であるはずですが、それほど高速ではありません。
VNC Viewer を使用して Xvnc に直接接続します。 ここでのアイデアは、
x11vnc のディスプレイ検索/作成スキーム、SSL、およびおそらくいくつかの利点
その他。 x11vnc のオプションのほとんどは、このモードでは適用されません。

Xvnc.redirect は、ハードウェア ディスプレイ用の vnc.so X サーバー モジュールでも機能するはずです。
ただし、ディスプレイを見つけるためだけに機能し、ユーザーはすでに
X コンソールにログインします。

-ヴェンクリプト モード

VNC プロトコルの VeNCrypt 拡張により、暗号化された SSL/TLS 接続が可能になります。
Status -ssl モードが有効になっている場合、VeNCrypt も BY DEFAULT で有効になっています (両方とも
SSL/TLS トンネルを使用します。プロトコル ハンドシェイクのみが少し異なります。)

VeNCrypt をいつ、どのように使用するかを制御するには、モード文字列を指定します。 モードが
"never" の場合、VeNCrypt は使用されません。 モードが「サポート」(デフォルト) の場合
VeNCrypt がサポートされています。 モードが「のみ」の場合、同様の古い ANONTLS
プロトコルは同時にサポートされていません。 x11vnc の通常の SSL モード (vncs://) は、
の下でサポートされる -ssl モードを「強制」に設定しない限り。

モードの前に「nodh:」が付いている場合、Diffie Hellman 匿名鍵交換は
無効。 モードの前に「nox509:」が付いている場合、X509 鍵交換は無効になります。

すべての匿名 Diffie-Hellman アクセスを無効にするには (中間者攻撃の影響を受けやすい)
攻撃) を供給する必要があります」-ヴェンクリプト うなずく:サポート -anntls 決して」または
"-ヴェンクリプト nodh:のみ"

モードの前に「newdh:」が付いている場合、新しい Diffie Hellman パラメータが生成されます
接続ごとに (これには時間がかかる場合があります: 1 ~ 60 秒。 -dhparams 以下で
プログラムで固定値を使用するよりも高速な方法)。 固定を使用して、
公に知られている値がセキュリティ上の問題であるとは知られていません。 この設定が適用されます
ANONTLSにも。

長い例: -ヴェンクリプト newdh:nox509:サポート

また、モードの前に「plain:」が付いている場合、 -unixpw モードがアクティブです
VeNCrypt "*Plain" username+passwd メソッドが Unix ログインで有効になります。 そうでなければ
-unixpw モードでは、通常のログイン パネルが提供されます。

あなたは *MUST* を提供します -ssl VeNCrypt をアクティブにするためのオプション。 の -ヴェンクリプト オプション
操作を微調整するだけです。

-anntls モード

VNC プロトコルの ANONTLS 拡張により、暗号化された SSL/TLS 接続が可能になります。 もしも
  -ssl モードが有効な場合、ANONTLS も BY DEFAULT で有効になります (どちらも
SSL/TLS トンネルであり、プロトコル ハンドシェイクのみが少し異なります。)

ANONTLS は、vino によって導入された古い SSL/TLS モードです。

登録された VNC セキュリティ タイプ名から「TLS」と呼ばれますが、
Anonymous Diffie- のみを提供するため、ここではより説明的な「ANONTLS」
Hellman 暗号化接続のため、証明書の可能性はありません
認証。

ANONTLS をいつどのように使用するかを制御するには、モード文字列を指定します。 モードが
"never" の場合、ANONTLS は使用されません。 モードが "support" (デフォルト) の場合、ANONTLS
がサポートされています。 モードが「のみ」の場合、同様の VeNCrypt プロトコルはありません
同時にサポートされます。 x11vnc の通常の SSL モード (vncs://) がサポートされます
-ssl モードを「強制」に設定しない限り。

モードの前に「newdh:」が付いている場合、新しい Diffie Hellman パラメータが生成されます
接続ごとに (これには時間がかかる場合があります: 1 ~ 60 秒。 -dhparams 以下で
プログラムで固定値を使用するよりも高速な方法)。 固定を使用して、
公に知られている値がセキュリティ上の問題であるとは知られていません。 この設定が適用されます
VeNCryptにも。 以下の「plain:」の説明を参照してください。 -ヴェンクリプト。

長い例: -anntls newdh:平野:サポート

あなたは *MUST* を提供します -ssl ANONTLS をアクティブにするためのオプション。 の -anntls オプション
操作を微調整するだけです。

-slonly

と同じ: "-ヴェンクリプト 決して -anntls 決して」つまり、VeNCrypt を無効にし、
ANONTLS 暗号化方式であり、標準の SSL トンネリングのみを許可します。 あなたもしなければなりません
供給 -ssl ... オプション (下記参照)

-dhparams file

一部の操作では、一連の Diffie Hellman パラメータ (プライムとジェネレータ) が
必要です。 その場合は、 file. 特に、VeNCrypt と ANONTLS
匿名 DH モードではそれらが必要です。 デフォルトでは、固定セットが使用されます。 したくない場合
に「newdh:」を指定できることを確認してください -ヴェンクリプト-anntls 生成するオプション
セッションごとに新しいセット。 それが遅すぎる場合は、使用してください -dhparams ファイルをセットに
「openssl dhparam」を介して手動で作成しました -でる ファイル 1024"

-nossl

を無効にする -ssl オプション (下記参照)。 以来 -ssl デフォルトではオフです -nossl だけだろう
コマンドラインで*以前*の設定を解除するために使用されます -ssl オプション(または -svc...)

-ssl [ペム]

openssl ライブラリ (www.openssl.org) を使用して、組み込みの暗号化された SSL/TLS を提供します。
VNC ビューアと x11vnc 間のトンネル。 これには libssl サポートをコンパイルする必要があります
ビルド時に x11vnc に。 x11vnc が libssl サポートでビルドされていない場合、終了します
すぐに -ssl が規定されています。 を参照してください -トンネル 以下のオプション
選択肢。

VNC Viewer 側も SSL/TLS をサポートする必要があります。 この URL と、
ビューアの SSL サポートを有効にする方法については、以下の説明を参照してください。
http://www.karlrunge.com/x11vnc/faq.html#faq-ssl-tun nel-viewers . x11vnc が提供する
classes/ssl ディレクトリ (-http または -httpdir
オプション) SSVNC ビューア パッケージは SSL トンネルもサポートします。

VNC ビューアーが VeNCrypt または ANONTLS (vino の暗号化モード) をサポートしている場合、それらは
によってもサポートされています -ssl モード ( -ヴェンクリプト-anntls より多くのオプション
情報; 使用 -slonly 両方を無効にします。)

つかいます "-ssl /パス/へ/mycert.pem" PEM 形式の SSL 証明書ファイルを指定して
このサーバーのキーを識別して提供するために使用します。 見る opensslの(1) 詳しくは
PEM について -sslGenCert と "-ssl セーブ" 以下の作成方法のオプション
それら。

接続している VNC ビューアー SSL トンネルは、(オプションで) このサーバーを認証できます。
証明書の公開鍵部分 (または共通の証明書) がある場合
機関である CA は、このサーバーの証明書を検証するためのより洗練された方法です。
-sslGenCA 下)。 この認証は、中間者を防止するために行われます
攻撃します。 それ以外の場合、VNC ビューアーがこのサーバーのキーなしで単純に受け入れる場合
確認すると、トラフィックはネットワーク上のパッシブ スニッフィングから保護されますが、
中間者攻撃から *ない*。 dsniff/webmitm のようなハッカー ツールがあります。
SSL Man-In-The-Middle 攻撃を実装する cain。

[pem] が空または文字列「SAVE」の場合、 opensslの(1) コマンドは
初めて証明書を生成するために使用できます。 自己署名証明書は、
生成されます(参照 -sslGenCA-sslGenCert 認証局の使用のため。)
ファイルに保存されます ~/.vnc/certs/server.pem。 それ以降の呼び出しで
ファイルが既に存在する場合は、直接使用されます。

「SAVE_NOPROMPT」を使用して、生成されたキーを
パスフレーズ。 しかし、 -inetd-bg モードではプロンプトは表示されません
いずれの場合もパスフレーズ。

[pem] が「SAVE_PROMPT」の場合、server.pem 証明書が作成されます。
OrganizationalName、CommonName などのすべての情報のプロンプトへの回答。

「保存- "および"SAVE_PROMPT- " ファイルを参照する
~/.vnc/certs/server-代わりに .pem (存在しない場合は生成されます)
すでに存在しています)。 たとえば、「SAVE-charlie」はファイルに保存されます ~/.vnc/certs/server-
チャーリー・ペム

例: x11vnc -ssl セーブ -表示 :0 ... x11vnc -ssl SAVE-誰か -表示 :0
...

[pem] が「TMP」で、 opensslの(1) ユーティリティ コマンドが PATH に存在する場合、
このセッション用に一時的な自己署名証明書が生成されます。 もしも
opensslの(1) 一時証明書の生成には使用できません x11vnc が終了します
すぐに。 x11vnc が終了すると、一時的な証明書は破棄されます。

使用に成功した場合 opensslの(1) 「SAVE」で一時証明書を生成するか、
「TMP」作成モードでは、そのパブリック部分が stderr に表示されます (例:
サーバーの認証をVNCに提供するために、それをクライアント側にコピーできます
視聴者。)

注: 「TMP」モードでは、一時証明書の公開部分を安全にコピーしない限り、
*毎回* (可能性は低い...) 認証のためにビューアに送信し、その後はパッシブのみ
スニッフィング攻撃は防止されますが、中間者攻撃に対しては依然としてオープンです。
これが、デフォルトの「SAVE」モードが優先される理由です(およびより洗練された CA モード
それも)。 保存されたキーと、それらを認証する VNC ビューアーのみ (パブリックを介して)
証明書)、中間者攻撃が防止されます。

[pem] が「ANON」の場合、Diffie-Hellman 匿名鍵交換方式が使用されます。
このモードでは SSL 証明書が *ありません* ため、
VNC サーバーまたは VNC クライアントのいずれかを認証します。 したがって、パッシブネットワークのみ
スニッフィング攻撃が回避されます。「ANON」方式は中間者攻撃の影響を受けやすい
攻撃します。 「ANON」はお勧めしません。 代わりに、作成した SSL PEM または
デフォルトの「SAVE」メソッド。

見る -ssldir デフォルト以外のディレクトリを使用するには、以下を使用します 〜/ .vnc / certs

x11vnc バイナリが OpenSSL ライブラリ サポートを使用してコンパイルされていない場合は、
-ssl オプションは即時の失敗を引き起こし、終了します。 そのようなバイナリについては、
-トンネル SSL 暗号化接続のオプション。

その他の情報: 一時的な証明書作成モード "TMP" で、env を設定します。 変数。
X11VNC_SHOW_TMP_PEM=1 を使用すると、x11vnc は証明書全体を出力します。
PRIVATE KEY 部分、stderr へ。 この情報を取得/保存するためのより良い方法があります。 見る
上記の「SAVE」と「-sslGenCert以下。

-ssltimeout n

SSL 読み取りタイムアウトを n 秒に設定します。 状況によっては (つまり、アイコン化されたビューア
Windows) ビューアが会話を停止し、デフォルトの後に接続が切断されます
タイムアウト (最初の約 25 分間は 43200 秒、その後は XNUMX 秒)。 ポーリングするにはゼロに設定します
永遠に。 組み込み設定を使用するには、負の値に設定します。

この値は *initial* ssl init 接続には適用されないことに注意してください。 の
そのデフォルトのタイムアウトは 20 秒です。 使用 -env SSL_INIT_TIMEOUT=n で変更します。

-sslnofail

最初の SSL 接続の失敗で終了します。 SSL 接続のスクリプトを作成するときに役立ちます
(例: x11vnc は ssh 経由で開始されます) x11vnc がそれ以上待機することは望ましくありません
接続、ポートのタイアップなど。

-ssldir DIR

  DIR 代替の SSL 証明書およびキー管理の最上位ディレクトリとして。 の
デフォルトは 〜/ .vnc / certs

このディレクトリは、サーバーおよびその他の証明書とキーを格納するために使用されます。
他の材料。 たとえば、最も単純なケースでは、"-ssl セーブ" x11vnc を保存します
dir/server.pem のサーバー証明書

経由の代替ディレクトリの使用 -ssldir 複数のVNCを管理できます
認証局 (CA) キー。 別の用途は ~/.vnc/証明書 NFS 共有上にある
証明書とキーをローカルファイルシステムに置いて、防止したい場合があります
ネットワークスヌーピング (たとえば -ssldir /var/lib/x11vnc-certs)。

-ssldir 他のほとんどすべてに影響を与える -SSL* オプション、例: -ssl 保存する、 -sslGenCert、
等..

-sslverify path

いずれかの場合 -ssl or -トンネル モード、使用 path に証明書を提供する
着信 VNC *クライアント* 接続を認証します (通常、サーバーのみが
SSL で認証されます。) これは、標準パスワードを置き換える方法として使用できます。
クライアントの認証。

If path クライアント (または CA) 証明書を個別に含むディレクトリです。
ファイル。 path がファイルの場合、XNUMX つ以上の証明書が含まれます。 特別なトークンを見る
下。 これらは、「CApath = dir」および「CAfile = file」stunnel オプションに対応します。
ジョブの設定方法については、 ステルネル(8) 詳細についてはマンページを参照してください。

例: x11vnc -ssl -sslverify ~/my.crt x11vnc -ssl -sslverify ~/my_pem_dir/

パスがディレクトリの場合は、次の名前の個別のファイルに証明書が含まれている必要があることに注意してください。
好き.0、ここでの値コマンド「openssl」を実行すると見つかります
x509 -ハッシュ -noout -に file.crt」。 .1 ある場合
衝突...

鍵管理ユーティリティ "-sslCertInfo ハション"と"-sslCertInfo ハッシュオフ"
HASHでこれらのハッシュを自動的に(シンボリックリンクを介して)作成/削除します
管理するサブディレクトリ。 それからあなたは指すことができます -sslverify HASHサブディレクトリに。

特別なトークン: で -ssl モード (場合) path はファイルまたはディレクトリではありません。
次のように解釈されるカンマ区切りのトークンのリスト:

トークンが「CA」の場合、ssl ディレクトリから CA/cacert.pem ファイルをロードすることを意味します。
トークンが「clients」の場合、ssl ディレクトリ内のすべてのファイルclients/*.crt は
読み込まれました。 それ以外の場合、clients/token.crt ファイルのロードが試行されます。 として
kludge、../server-foo のようなトークンを使用して、サーバー証明書をロードします。
必要。

  -ssldir とは異なるディレクトリを使用するには 〜/ .vnc / certs デフォルト。

「CA」証明書がロードされている場合は、その証明書をロードする必要がないことに注意してください。
によって署名されています。 追加の自己署名証明書をロードする必要があります
しかし。

例: x11vnc -ssl -sslverify CA x11vnc -ssl -sslverify 自分:フレッド、自分:ジム
x11vnc -ssl -sslverify CA、クライアント

いつもの "-sslverify CA」が最も効果的です。 -sslGenCA-sslGenCert
CA フレームワークを設定および管理する方法については、以下のオプションを参照してください。

注: 次のユーティリティ、 -sslGenCA、 -sslGenCert、 -sslEncKey、 -sslCertInfo、
-sslCRL 完全を期すために提供されていますが、カジュアルな使用にはやり過ぎです。

VNC認証局(CA)キーの作成とサーバー/クライアントキーを提供します
生成と署名。 したがって、基本的な公開鍵管理フレームワークを提供します
x11vnc を使用した VNC 接続用。 (彼らが必要とすることに注意してください opensslの(1) にインストールする
システム)

ただし、最も単純な使用モードである「-ssl TMP" (x11vnc が自動的に生成する場所
独自の自己署名一時キーと VNC ビューアは常にそれを受け入れます。
ダイアログ ボックス経由で受け入れる) は、おそらくほとんどのシナリオで十分安全です。 カリフォルニア州
管理は必要ありません。

中間者攻撃から保護するために、「TMP」モードを次のように改善できます。
「を使用して-ssl セーブ" (と同じ "-ssl"、つまりデフォルト) x11vnc でより長い
自己署名証明書という用語を使用してから、対応する公開鍵を (安全に) コピーします。
cert を目的のクライアント マシンに送信します (秘密鍵の部分が暗号化されていないことに注意する必要があります)。
盗まれた; パスフレーズの入力を求められます)。

そのため、CA キーの作成または管理 (-sslGenCA および -sslGenCert) is
上記の XNUMX つの一般的な使用モードのいずれかで必要です。

使用したいかもしれません -sslGenCA-sslGenCert 多数の VNC がある場合
クライアントおよびサーバー ワークステーション。 そうすれば、管理者は単一の
CAキー付き -sslGenCA その証明書部分をすべての
ワークステーション。

次に、それぞれの署名付き VNC サーバー キー (-sslGenCert サーバー ...) を作成できます。
x11vnc が任意の VNC に対して自分自身を認証するために使用するワークステーションまたはユーザー
CA 証明書を持つクライアント。

オプションで、管理者は VNC クライアント自体が
x11vnc に対して認証 (-sslGenCert クライアント ...) -sslverify になる
CA証明書(および/または自己署名証明書)を指していました。

x11vnc は、これらの証明書とキー ファイルをすべて使用できます。 VNC クライアント上
側では、何らかの形で「インポート」する必要があります。 Web ブラウザには「管理
Java アプレット プラグインのコントロール パネルと同じように証明書" アクションを実行します。stunnel は
これらのファイルも使用します (FAQ および SSVNC の ss_vncviewer サンプル スクリプトを参照してください)。

-sslCRL path

証明書失効リスト (CRL) を path. この設定は両方に適用されます
-ssl-トンネル モード。

path がファイルの場合、ファイルには PEM 形式の XNUMX つ以上の CRL が含まれます。 パスが
ディレクトリには、通常の OpenSSL の方法で CRL のハッシュ名付きファイルが含まれています。 見る
OpenSSL と ステルネル(8) 詳細については、ドキュメントを参照してください。

このオプションは、次の場合にのみ適用されます -sslverify が提供されました: 失効をチェックします
VNC クライアントの検証に使用される証明書チェーンに沿って。 の -sslCRL 設定
場合は無視されます。 -sslverify 指定されていません。

CRL の有効期限が過ぎると、すべての SSL 接続が失敗することに注意してください。
それらが CRL の主題に関連しているかどうかに関係なく。

x11vnc を使用することはめったにありません -ssl インフラストラクチャが非常に大きいため、このオプション
便利です(通常、 -sslverify ファイルまたは
ディレクトリで十分なはずです。) ただし、証明書で x11vnc を使用する場合
権限 (参照 -sslGenCA) SSL/TLS 経由でクライアントを認証するには、 -sslCRL オプション
SSL 秘密鍵を紛失したり盗まれたりしたユーザーの証明書を取り消すのに役立ちます。
(ラップトップなど) この方法では、新しい CA 証明書とキーを作成して新しく作成する必要はありません。
署名されたクライアント キーが生成され、すべてのユーザーに配布されます。

取り消された証明書を含む CRL ファイルを作成するには、コマンド「openssl ca -取り消す
...' および 'openssl ca -gencrl ...」は便利です。 (それらを実行します 〜/ .vnc / certs)

-sslGenCA [ディレクトリ]

独自の認証局の秘密鍵、証明書、およびその他のファイルを生成する
ディレクトリ [dir] 内。 その後、x11vnc は終了します。

[dir] が指定されていない場合、 -ssldir 設定が使用されているか、そうでない場合 〜/ .vnc / certs is
中古。

このコマンドは、サーバーとクライアントの証明書とキーが格納されるディレクトリも作成します。
保管されます。 の opensslの(1) プログラムがシステムにインストールされ、
道。

CA ファイルとディレクトリが作成されると、x11vnc コマンドは終了します。 VNC
サーバーは実行されていません。

CA 証明書に入れる情報を求めるプロンプトが表示されます。 情報は
クライアントが VNC の証明書を受け入れる限り、正確である必要はありません。
接続。 また、少なくとも 4 文字のパスフレーズを指定する必要があります。
CA秘密鍵用。

CA を生成したら、その証明書部分を配布できます。
[dir]/CA/cacert.pem、VNC ビューアーが実行される他のワークステーションへ。 XNUMXつの意志
Web ブラウザ、Java などのアプリケーションにこの証明書を「インポート」する必要があります。
アプレット プラグイン、stunnel など。次に、CA を使用してキーを作成および署名できます。
  -sslGenCert 以下のオプション。

例: x11vnc -sslGenCA x11vnc -sslGenCA ~/myCAdir x11vnc -ssldir ~/myCAdir
-sslGenCA

(最後の XNUMX 行は同等です)

-sslGenCert type

CAによって署名されたVNCサーバーまたはクライアント証明書と秘密鍵のペアを生成します
以前に作成した -sslGenCA。 この opensslの(1) プログラムをインストールする必要があります
システムであり、PATH で使用できます。

証明書が生成された後、x11vnc は終了します。 VNC サーバーは実行されていません。

生成されるキーのタイプは文字列です type. 「サーバー」(つまり
x11vnc で使用する場合) または「クライアント」(VNC ビューアーの場合)。 通常は
「サーバー」が使用されます: VNC クライアントは非公開鍵によって自身を認証します
メソッド (例: VNC または UNIX パスワード)。 type 必要とされている。

キーに関連付ける任意のデフォルト名は、
弦。 キーの作成時にさまざまなプロンプトで変更できます。
オプションです。

クライアント キーの名前が空白の場合、「nobody」が使用されます。 空欄の場合
サーバーキー、次にプライマリサーバーキー:「server.pem」が作成されます(これは
" で参照されているものを保存しました-ssl セーブ" サーバー起動時)

If 文字列「self:」で始まり、自己署名証明書が作成されます
CA キーで署名されたものの代わりに。

If 文字列「req:」で始まり、キー (.key) と証明書のみ
署名 *request* (.req) が生成されます。 その後、.req ファイルを
外部 CA (Thawte などの専門的なものでも) を作成し、.key と
受信した証明書を同じベース名の .pem ファイルに入れます。

「サーバー」と「クライアント」の違いは、単に出力の選択です
ファイル名とサブディレクトリ。 これにより、 -ssl SAVE-name オプションで簡単に
このオプションが生成する x11vnc PEM ファイルを取得します。 同様に、
  -sslverify クライアント証明書を取得するオプション。

いずれかのファイル名またはディレクトリの場所について特別なことは何もありません
「サーバー」および「クライアント」証明書。 ファイルの名前を変更したり、好きな場所に移動したりできます
好きです。

このオプションの前に -ssldir [dir] デフォルト以外のディレクトリを使用する
〜/ .vnc / certs 実行する必要があります -sslGenCA 実行する前にまずそのディレクトリで
どれか -sslGenCert キーの作成。

証明書とまったく同じ識別名 (DN) で証明書を再作成することはできないことに注意してください。
既存のもの。 そのためには、[dir]/CA/index.txt ファイルを次のように編集する必要があります。
行を削除します。

そして -sslGenCA、 いくつかの情報を入力するよう求められます。
作成時に証明書に記録されます。

ヒント: 他の人が接続する完全修飾ホスト名がわかっている場合は、
これを CommonName の「CN」として使用して、一部のアプリケーション (例: Web) を回避できます。
ブラウザと Java プラグイン) がホスト名と一致しないと不平を言っています。

また、秘密鍵のロックを解除するには、CA 秘密鍵のパスフレーズを提供する必要があります。
から作成されたキー -sslGenCA。 この秘密鍵は、サーバーまたはクライアントに署名するために使用されます
証明書。

「サーバー」証明書は、x11vnc で直接使用できます。 -ssl
[pem] オプション。 デフォルトのファイルは ~/.vnc/certs/server.pem。 これは
入力するだけで使用 -ssl 保存。 pem ファイルには、証明書と
秘密鍵。 server.crt ファイルには証明書のみが含まれます。

「クライアント」証明書 + 秘密鍵ファイルをコピーして、
VNC ビューアー側のアプリケーション (Web ブラウザー、Java プラグイン、stunnel など) を一度
完了したら、このマシン上の「クライアント」秘密鍵ファイルを削除できます。
VNC ビューア側でのみ必要です。 例えば ~/.vnc/certs/clients/.pem
証明書と秘密鍵の両方が含まれています。 の.crt には証明書が含まれています
のみ。

注: パスフレーズを使用して新しいキーを生成する必要があることを知っておくことは非常に重要です。
そうしないと、信頼できないユーザーがキー ファイルを盗んだ場合、そのユーザーはそれを使用して、なりすましを行うことができます。
x11vnc サーバー (または VNC ビューアー クライアント)。 暗号化するかどうかを尋ねられます
パスフレーズ付きのキーかどうか。 することをお勧めします。 一
パスフレーズの不便さは、x11vnc または
クライアントアプリが起動します。

例:

x11vnc -sslGenCert サーバー x11vnc -ssl セーブ -表示 :0 ...

次に、ss_vncviewer stunnel ラッパーを使用してビューアで (FAQ を参照): ss_vncviewer
-確認 ./cacert.crt ホスト名:0

(これは、からの cacert.crt 証明書を想定しています。 -sslGenCA VNCに安全にコピーされました
ss_vncviewer が実行されるビューアー マシン)

名前を使用した例:

x11vnc -sslGenCert サーバー チャーリー x11vnc -ssl SAVEチャーリー -表示 :0 ...

クライアント証明書の例 (めったに使用されません):

x11vnc -sslGenCert クライアント ロジャー scp ~/.vnc/certs/clients/roger.pem 誰か:。 RM
~/.vnc/certs/clients/roger.pem

x11vnc は、オプションで開始されます -sslverify ~/.vnc/certs/clients/roger.crt
(または単に -sslverify roger)、somehost のビューアー ユーザーでできること
例:

ss_vncviewer -mycert ./roger.pem ホスト名:0

envを設定した場合。 var REQ_ARGS='...' openssl に渡されます 必須(1)。 NS
一般的に使用されるのは、有効期限 (1095 年) を上げるために REQ_ARGS='-days 3' です。
この場合)。

-sslEncKey PEM

プロンプトが表示されたときに指定したパスフレーズで既存の PEM ファイルを暗号化するユーティリティ。
そのキーを (x11vnc などで) 使用するには、毎回パスフレーズを指定する必要があります。

で説明されている「SAVE」表記 -ssl も当てはまります。 (このオプションの前に
-ssldir [dir] デフォルト以外のディレクトリを参照する 〜/ .vnc / certs)

この opensslの(1) プログラムがシステムにインストールされ、PATH で使用可能になっている必要があります。
キー ファイルが暗号化されると、x11vnc コマンドは終了します。 VNC サーバーではありません
実行されます。

例: x11vnc -sslEncKey /パス/to/foo.pem x11vnc -sslEncKey x11vnc を保存
-sslEncKey SAVEチャーリー

-sslCertInfo PEM

既存の PEM ファイルに関する情報を出力します。 加えて一般人
証明書も印刷されています。 の opensslの(1) プログラムは PATH にある必要があります。 基本的には
コマンド「openssl x509 -文章" pemで実行されます。

情報が出力された後、x11vnc コマンドは終了します。 VNC サーバーは実行されていません。

で説明されている「SAVE」表記 -ssl も当てはまります。

「LIST」を使用すると、管理されているすべての証明書のリストが表示されます ( 〜/ .vnc / certs 監督、
つかいます -ssldir 別のディレクトリを参照するには)。 「ALL」はすべての情報を出力します
管理されたキー (これは非常に長くなる可能性があります)。 クライアントまたはサーバー証明書のショートネームを指定すると、
ルックアップも試してください(例 -sslCertInfo チャーリー)。 long には "LISTL" または "LL" を使用します (ls
-l スタイル)リスト。

「HASHON」を使用すると、サブディレクトリ [dir]/HASH および [dir]/HASH が OpenSSL ハッシュで作成されます
ファイル名 (例: 0d5fbbf1.0) 対応する *.crt ファイルを指すシンボリック リンク。
([dir] は 〜/ .vnc / certs またはによって与えられたもの -ssldir。) これは他の人にとって便利な方法です
OpenSSL アプリケーション (stunnel など) を使用して、すべての証明書にアクセスする必要はありません。
それらを連結します。 特に参照しない限り、x11vnc はそれらを使用しません。
「HASHOFF」は、これらの HASH サブディレクトリを削除します。

LIST、LISTL、LL、ALL、HASHON、HASHOFF の単語は、「list」のように小文字にすることもできます。

-sslDelCert PEM

[pem] に関連付けられているすべての .crt .pem .key .req ファイルを削除するように求められます。 x11vnc
その後終了します。 「SAVE」とルックアップ -sslCertInfo も適用します。

-sslScripts

「genCA」と「genCert」の両方の x11vnc openssl ラッパー スクリプトを出力します。
検査、変更など。スクリプトは stdout に出力され、次に x11vnc
プログラムが終了します。

-トンネル [ペム]

ステルネル(8) (stunnel.mirt.net) 間で暗号化された SSL トンネルを提供します。
ビューアーと x11vnc。

この外部トンネル方式は、統合前に実装されました。 -ssl 暗号化
上で説明した。 それはまだうまく機能し、とのリンクの要件を回避します
OpenSSL ライブラリ。 このモードでは、システムに stunnel をインストールする必要があります
PATH 経由で利用できます (nb stunnel は多くの場合、sbin ディレクトリにインストールされます)。
stunnel のバージョン 4.x が想定されています (ただし、 -stunnel3 以下。)

[pem] はオプションです。"-トンネル /パス/へ/stunnel.pem" PEM 証明書を指定するには
stunnel に渡すファイル。 を参照してください -ssl 証明書ファイルの詳細については、オプションをご覧ください。

stunnel に独自の証明書があるかどうかは、stunnel によって異なります
構成; stunnel は、多くの場合、インストール時に生成します。 あなたのトンネルを見る
詳細については、ドキュメントを参照してください。 いずれにせよ、この証明書を使用したい場合は、
[pem] としてフル パスを指定する必要があります。 注: ファイルは、
ルート。

[pem] は、特殊な文字列 "TMP"、"SAVE"、および "SAVE..." である場合もあります。
  -ssl オプション。 [pem] が指定されていない場合は、「SAVE」と見なされます。

VeNCrypt、ANONTLS、および「ANON」モードはサポートされていないことに注意してください。 -トンネル
モード。

stunnel は、x11vnc および任意の SSL 接続 stunnel の子プロセスとして起動されます
受信は復号化され、ローカル ソケットを介して x11vnc に送信されます。 弦は「
SSL VNC デスクトップは ..." および "SSLPORT=..." が起動時に出力され、


この -ローカルホスト オプションはデフォルトで強制され、SSL を迂回する人々を回避します
チャネル。 使用 -env このセキュリティを無効にするには STUNNEL_DISABLE_LOCALHOST=1
要件。

作成セッションプロセスで -env STUNNEL_DEBUG=1 を使用すると、さらにデバッグを出力できます。

作成セッションプロセスで -env STUNNEL_PROG=xxx に使用したい stunnel プログラムのフルパス
(例: /usr/bin/stunnel4)。

作成セッションプロセスで -env STUNNEL_LISTEN=xxx をリッスンするネットワーク インターフェイスのアドレスに
(デフォルトでは、すべてのインターフェースでリッスンします)。たとえば、STUNNEL_LISTEN=192.168.1.100 です。

IPv6 サポートを追加する簡単な方法は STUNNEL_LISTEN=:: です。

VNC ビューアも SSL 経由で接続できる必要があります。 残念ながら違います
これを行う人が多すぎます。 の下にある SSL ビューアに関する情報を参照してください。 -ssl オプションを選択します。
x11vnc プロジェクトの SSVNC はオプションです。

また、x11vnc ディストリビューションでは、パッチを適用した TightVNC および UltraVNC Java アプレット jar
ファイルは、SSL 接続を行う classes/ssl ディレクトリで提供されます。 有効
でそれらを提供する -http、 -http_ssl、 or -httpdir (オプションの説明を参照してください
詳細については。)

Java ビューアー アプレットを使用する場合、さまざまな URL で「?PORT=xxxx」を使用することに注意してください。
正しく接続するには、起動時に印刷された情報を Web ブラウザーに提供する必要があります。

現在、自動の「シングル ポート」HTTPS モードは -ssl では完全にはサポートされていません
-トンネル モード。 ただし、次の方法でエミュレートできます。

% x11vnc -トンネル -http_ssl -http_oneport ...

一般に、stunnel やその他の SSL トンネルを設定することもそれほど難しくありません。
見る側で。 stunnel 3.x を使用した Unix の簡単な例は次のとおりです。

% スタンネル -c -d localhost:5901 -r リモートホスト:5900 % vncviewer ローカルホスト:1

Windows の場合は stunnel が移植されており、他にも同様のツールが存在する可能性があります。
利用可能。 その他の例については、FAQ と SSVNC を参照してください。

-stunnel3 [ペム]

バージョン 3.x ではなく、バージョン 4.x の stunnel コマンド ライン構文を使用します。 の
-http/-httpdir Java アプレット サービスは現在、このモードでは利用できません。

-enc 暗号:キーファイル

暗号「cipher」と「keyfile」の秘密鍵データを使用して対称暗号化を使用します。 もしも
キーファイルは pw= その場合、"string" がキー データとして使用されます。

注: SSL を使用することをお勧めします。 -ssl このオプションの代わりのオプション
SSL は十分に理解されており、一意のセッションを確立するために細心の注意を払っているためです。
キーと他のソフトウェアとの互換性が向上します。 ない場合は、このオプションを使用してください。
認証に SSL 証明書を使用したいが、SSH は使用したくない
ただし、VNC セッションの暗号化が必要です。 または、
制御できない対称鍵トンネル。

このモードは UltraVNC DSM プラグインでは機能しないことに注意してください。
対称暗号によるトンネリングに加えて、RFB プロトコル (
残念な実装の選択...)

cipher は、arc4、aesv2、aes-cfb、blowfish、aes256、または 3des のいずれかです。 を参照してください
詳細については、OpenSSL のドキュメントを参照してください。 キーサイズは 128 ビットです (aes256 を除く)。
その多くのビットでキーファイルを作成する XNUMX つの方法を次に示します。

dd if=/dev/random of=./my.key bs=16 count=1

このキーを VNC 接続の反対側と安全に共有する必要があります。
(例については、SSVNC を参照してください)。

例: -enc フグ:./my.key 例: -enc フグ:pw=ソードフィッシュ

デフォルトでは、16 バイトのランダムソルトに続いて 16 バイトのランダム初期化
vector はストリームの最初に送信されます。 相手は読むべし
これらを使用して暗号を初期化します。 これらの値がセッション キーになります
一意です(それらがないとセキュリティは最小限になります)。 同様に、反対側は送信する必要があります
そのランダムなソルトと IV は同じ長さです。

ソルトとキー データを組み合わせて、md5 ハッシュを使用してセッション キーを作成します。
に記載 EVP_BytesToKeyとします。

正確な呼び出しは次のとおりです: EVP_BytesToKey(Cipher, EVP_md5(), salt, keydata, len, 1, keystr,
ヌル); ここで、salt は上記のランダム データであり、keydata は共有データです。
秘密鍵データ。 keystr は結果のセッション キーです。 次に、暗号がシードされます
keystr を使用し、ランダムな初期化ベクトルを最初のブロックとして使用します。

ランダム ソルトと初期化ベクトルの量を変更するには、cipher@n,m を使用します。
n はソルトの長さ、m は初期化ベクトルの長さです。 例えば

-enc aes-cfb@8,16:./my.key

いずれかをゼロに設定することはお勧めできません。
トンネルの向こう側はあなたの支配下にありません。

ソルトと EVP_BytesToKey MD5 を完全にスキップするには (ハッシュは行われません: keydata
暗号に直接挿入されます) ソルトに「-1」を指定します。

-enc フグ@-1,16:./my.key

メッセージ ダイジェストは、デフォルトの MD5 以外のものに変更することもできます。 使用
cipher@md+n,m ここで、"md" は sha、sha1、md5、またはripe のいずれかです。 例えば:

-enc arc4@sha+8,16:./my.key

SSVNC vnc ビューアー プロジェクトは、という名前の対称暗号化ツールを提供します。
ビューアー側で使える「ultravnc_dsm_helper」。 例えば:

ssvncviewer exec='ultravnc_dsm_helper arc4 my.key 0 h:p'

(または「ssvncviewer」を「ssvnc」に置き換えます -視聴者') ここで、h:p はホスト名とポートです
x11vnc サーバーの。 ultravnc_dsm_helper をスタンドアロンで使用して、
任意のビューアーまたはサーバー (VNC またはその他) の対称暗号化トンネル。
(1st arg) は、基本的に上記で使用したものと同じ構文です。

「UltraVNC DSM 暗号化プラグイン」の「非 Ultra DSM」SSVNC オプションも参照してください。
高度なオプション。

ビューアーを使用する両方の方法で、salt、ivec サイズを指定できます (GUI または、
例: arc4@8,16)。

- https [港]

特別な個別の HTTPS ポート (-ssl と -トンネル モードのみ) HTTPS Java の場合
ビューア アプレットのダウンロード。 つまり、5900 でも 5800 でもありません (デフォルト)。

背景: で -ssl モードでは、単一の VNC ポートを使用できることがわかります (例: 5900)
VNC 接続と HTTPS 接続の両方に使用できます。 (HTTPS は、SSL 対応の
x11vnc で提供される VncViewer.jar アプレット)。 どちらもSSLを使用しているため、
HTTP トラフィック (つまり GET) が発生しているかどうかを検出するように実装が拡張されました。
それに応じて処理します。 URL は次のようになります。

https://mymachine.org:5900/

これは、XNUMX つのポートのみを許可する必要があるため、ファイアウォールなどに便利です。
ただし、このヒューリスティックは各接続に数秒の遅延を追加し、
信頼できない(特に、ユーザーが証明書について熟考するのに時間がかかる場合)
彼のブラウザ、Java VM、または VNC Viewer アプレットのダイアログ。 そうです 3セパレート
「本当に接続しますか?」 ダイアログ!)

背景の終わり。

使用法:だから使用してください - https より信頼性の高い別の HTTPS ポートを提供するオプション
x11vnc がリッスンします。 [ポート] が指定されていない (または 0 である) 場合、XNUMX つは
自動選択。 使用する URL は起動時に出力されます。

SSL Java アプレット ディレクトリは、 -httpdir オプション。 そうでない場合
供給、 - https かのようにディレクトリを推測しようとします -http オプションは
供給。

-httpsredir [港]

In -ssl HTML ファイルが
アプレット パラメータ ('index.vnc' または 'proxy.vnc') を含むメッセージが送信される
アプレットの PORT パラメータを実際の VNC ポートに設定しますが、代わりに「ポート」に設定します。 もしも
"port" が指定されていない場合、ポート番号は Host: HTTP ヘッダーから推測されます。

これは、着信 TCP 接続のリダイレクトが
11 つのポートから xXNUMXvnc が存在する内部マシンへのルーター/ゲートウェイ/ファイアウォール
別のポートでリッスンします。 Java アプレットは、
内部ワークステーションの VNC ポートではなく、ファイアウォール/ルーター ポート。 例えば、
mygateway.com:443 から workstation:5900 にリダイレクトできます。

これにより、ユーザーは https://mygateway.com/?PORT=443 を入力する必要がなくなります
彼らのウェブブラウザ。 ポート 443 がデフォルトの https ポートであることに注意してください。 他のポートは
例: https://mygateway.com:8000/?PORT=8000。 に
ブラウザの URL に PORT= を含める必要はなく、単純に "-httpsredir"
x11vncに。

このオプションは、 -トンネル モード。

その他のトリック: env var X11VNC_EXTRA_HTTPS_PARAMS を追加の URL パラメーターに設定します
使用する。 これにより、index.vnc ファイルで追加の PARAMS を指定する必要がなくなります。
例: x11vnc -env X11VNC_EXTRA_HTTPS_PARAMS='?GET=1' ...

非 SSL HTTP ポートをネットワークに公開したくない場合 (つまり、
単一の VNC/HTTPS ポート (例: 5900) を接続用に開く)
オプション -env X11VNC_HTTP_LISTEN_LOCALHOST=1 この方法で
LibVNCServer httpd サーバーは、localhost でのみ使用できます ( -ssl
モードでは、HTTPS リクエストは SSL から非 SSL LibVNCServer HTTP にリダイレクトされます。
サーバ。)

-http_oneport

UN 暗号化接続モードの場合 (つまり、no -ssl、 -スタンネル、 or -enc オプション)、許可する
Java VNC Viewer アプレットは、HTTP 経由で VNC ポートを介してダウンロードされます。

つまり、次の方法で Java アプレット ビューアー接続に単一のポートを使用できます。
たとえば、次のように Web ブラウザーで URL を使用します。

http://hostname:5900

通常の XNUMX ポート モードの URL http://hostname:5800 も引き続き機能します。

前述のように、このモードは -ssl、 -スタンネル、 or -enc
暗号化オプション。 「-enc none」と同等であることに注意してください (つまり、
HTTPS と同じ検出メカニズムですが、暗号化はありません。)

HTTPS 単一ポートはデフォルトでオンになっています -ssl 暗号化モード (および -enc あまりにも)、だからあなた
だけで済みます -http_oneport 非 SSL 暗号化接続を行う場合。

このモードは、必要なポートが XNUMX つだけであることを意味するため、SSH トンネルにも役立ちます。
リダイレクトされます。

この -httpsredir オプションは、SSH トンネルを
ルーターポートのリダイレクトも同様です。

なお、 -env 上記の X11VNC_HTTP_LISTEN_LOCALHOST=1 オプション
-httpsredir すべての場合 (ssl かどうか) の LibVNCServer httpd サーバーに適用されます。

- SSH ユーザー@ホスト:disp

を使用して、SSH トンネル経由でマシン「ホスト」にリモート リスニング ポートを作成します。 -R
rport:localhost:lport メソッド。 lport はローカルの x11vnc リスニング ポートになるため、
"host" 上の rport (5900+disp) への接続は x11vnc に到達します。 例えば
[メール保護]:0

これは、ファイアウォール/ルーターがサーバーへの着信接続を妨げている場合に役立ちます。
x11vnc マシンですが、ssh マシンの「ホスト」には VNC ビューアーからアクセスできます。
リモート UNIX ユーザー名が現在のユーザー名と異なる場合を除き、"user@" は必要ありません。

デフォルトでは、リモート sshd は通常、localhost でのみリッスンするように構成されています。
rport であるため、ビューアは ssh が必要になる場合があります -L 同様に「ホスト」へのリダイレクト(SSVNC to を参照)
これを自動化します)。 sshd 設定 GatewayPorts により、すべてのインターフェイスでのリッスンが有効になります
報告のため; 視聴者はより簡単にアクセスできます。

「disp」は、リモート SSH 側の VNC ディスプレイです。たとえば、0 はポート 5900 に対応します。
disp が 200 より大きい場合、その値がポートとして使用されます。 マイナスを使う
低いポートを強制する値。たとえば、host:-80 はポート 80 を使用します。

ssh-agent がアクティブでない場合は、ssh パスワードを
x11vnc が動作している端末。

デフォルトでは、リモート ssh は「sleep 300」を発行して着信を待機します。
5分間の接続。 これを変更するには、user@host:disp+secs を使用します。

リモート SSH サーバーが非標準ポート (つまり 22 以外) にある場合は、
ユーザー@ホスト:ポート:disp+秒。

x11vnc の終了時に ssh プロセスが強制終了されない場合があることに注意してください。 見てみる
at ps(1) 出力。

-ユーザー リスト

x11vnc がルートとして開始された場合 (たとえば、 inetd(8) またはディスプレイマネージャーから xdm(1)、
gdm(1) など)、X ディスプレイへの接続後できるだけ早く
確立されたコンマ区切りのユーザーの XNUMX つに切り替えようとする リスト。 場合
x11vnc は root として実行されていません。このオプションは無視されます。

このオプションを使用する理由x11vnc はすでに接続されているため、通常は必要ありません。
X ディスプレイに接続し、その主要な機能を実行できます。 オプションが追加されました
*external* ユーティリティ コマンド x11vnc の一部が動作することがある
ちゃんと。 特に GNOME と KDE では、"-固体 カラー"
残念ながら、機能の外部コマンド (gconftool-2 および dcop) は、
デスクトップ セッションを所有しているユーザー。 このオプションはユーザーIDを切り替えるため、影響もあります
のプロセスを実行するために使用されるユーザー ID -受け入れる-なくなった オプション。 また
などのオプションのファイルを読み取る機能に影響します。 -接続、 -許可する、-リマップ
また、有効にすると、超タイトなファイル転送機能も利用できます。 注意してください
-接続 ファイルに書き込まれることもあります。

したがって、状況によってはその使用が減少する可能性があるため、このオプションには注意してください
セキュリティ。

一般に、ユーザーへの切り替えは、表示がまだ可能な場合にのみ行われます。
そのユーザーとして正常に開かれました (これは主に、実際の
セッションの所有者)。 例: "-ユーザー フレッド、ウィルマ、ベティ"。悪意のあることに注意してください
ログイン時に「xhost +」をすばやく使用すると、ローカルユーザー「barney」が
ユーザー「fred」に切り替えるための x11vnc プロセス。 次は何が起こる?

ディスプレイ マネージャでは、切り替えが成功するまでに長い時間がかかる場合があります (つまり、
ユーザーがログインします)。 代わりに、ディスプレイができるかどうかに関係なく、すぐに切り替えるには
ユーザー名の前に「+」文字を付けます。 例 "-ユーザー +ボブ"または
"-ユーザー +だれも".

後者 (つまり、ユーザー "nobody" にすぐに切り替える) は、
  -ユーザー セキュリティを強化するオプション。

グループをユーザーに関連付けるには、次の表記を使用します。
user1.group1、user2.group2、... 初期化グループ(2)まだ最初に呼び出されます
ユーザーのすべてのグループ (プライマリおよび追加グループ) に切り替えようとします。 それだけ
それが失敗するか利用できない場合は、上記のように指定された単一のグループ (または
指定されていない場合はユーザーのプライマリ グループ) に切り替えられます セットギッド(2)。 使用する -env
X11VNC_SINGLE_GROUP=1 を試みないようにする 初期化グループ(2) シングルに切り替えるだけ
グループ。 この種の設定は、ウルトラまたはタイトにするためにのみ本当に必要です
ファイル転送許可は正しく機能します。 この形式は、カンマ区切りのすべてに適用されます
ユーザーのリスト、以下で説明する特別な「=」モードも含まれます。

In -unixpw モード、「-ユーザー unixpw=" が提供され、ユーザーが認証された後に
を介して自分自身 -unixpw x11vnc はそのユーザーに切り替えようとします。
"-ユーザー +ユーザー名" が提供されていました。ユーザーを制限したい場合、これは
"unixpw=" の後にカンマ区切りのリストとして提供します。
上記のように指定します。

同様に、 -ssl モード、「-ユーザー sslpeer=" は、SSL クライアントの後に指定されます
彼の証明書で認証します( -sslverify これにはオプションが必要です) x11vnc
「emailAddress」フィールドから UNIX ユーザー名を抽出します ([メール保護])
x509 SSL証明書の「サブジェクト」の
"-ユーザー +ユーザー名" が提供されていました。ユーザーを制限したい場合、これは
「sslpeer=」の後にカンマ区切りのリストとして指定します。 環境を設定します。
var X11VNC_SSLPEER_CN の代わりに共通名 (通常はホスト名) を使用します。
メール欄。

注: sslpeer= モードの場合、x11vnc 管理者はクライアントが
彼が追加する証明書 -sslverify 「emailAddress」に意図した UNIX ユーザー名がある
証明書のフィールド。 そうしないと、ユーザーが別のユーザーとしてログインできる可能性があります。 これ
コマンドはチェックに使用できます:「openssl x509 -テキスト -に file.crt」を参照してください
"件名。 また、通常の RFB_* 環境とともに。 変数。 (見る -受け入れる) 渡された
外部の cmd= コマンドに対して、RFB_SSL_CLIENT_CERT はクライアントの x509 に設定されます
証明書文字列。

sslpeer= モードは、FINDDISPLAY および
FINDCREATEDISPLAY メカニズム。

X ディスプレイへの接続が確立される *前に*、すぐにユーザーに切り替えるには、または
開かれたファイルはすべて「=」文字を使用します:-ユーザー =ボブ"。そのユーザーはできる必要があります
もちろん、X ディスプレイと任意のファイルを開きます。

特別なユーザー「guess=」は、utmpx データベースを調べることを意味します ( who(1) ) 探している
ディスプレイ番号に割り当てられたユーザーの場合 (DISPLAY または -表示 オプション) 試してみてください
彼彼女。 推測のリストを制限するには、次を使用します: "-ユーザー 推測=ボブ、ベティ".

さらに邪悪なのは、特別なユーザー "lurk=" です。
utmpx ログイン データベースからも DISPLAY します。 だからそれは誰かがするのを待って「潜んでいる」
X セッションにログインしてから接続します。 = の後にユーザーのリストを指定します
試されるユーザーを制限します。 別の検索モードを有効にするには、
リストの最初のユーザーは、「:0」または「:0-2」のようなもので、範囲を示します。
試行される DISPLAY 番号 (utmpx にあるかどうかに関係なく)
データベース)にログインしているすべてのユーザーを対象としています。「-表示 待って:..."
機能。 例: "-ユーザー 潜む=また、-ユーザー 潜んでいる=:0-1、ボブ、メアリー"

"guess=" および "lurk=" モードの使用には特に注意してください。 ではない
信頼できないローカル ユーザーがいるマシンで使用することをお勧めします。

-ノシュム

ポーリングにMIT-SHM拡張機能を使用しないでください。 リモートディスプレイをポーリングできます
このように:これは大量のネットワーク帯域幅を使用する可能性があることに注意してください。 これもまた
ローカルマシンのshmセグメントの数が限られている場合に使用します。 -ワンタイル is
十分ではありません。

-flipbyteorder

リモートでポーリングされたホストのエンディアンが異なる場合に必要になることがあります。 ない場合は無視
-ノシュム 設定されています。

-ワンタイル

新しいcopy_tiles()フレームバッファメカニズムを使用せず、1つのshmタイルを使用してください。
ポーリング。 使用されるshmセグメントを3に制限します。

自動 shm リダクションを無効にするには、env を設定します。 変数。 X11VNC_NO_LIMIT_SHM.

-固体 [色]

パフォーマンスを向上させるために、VNCクライアントが接続されている場合は、デスクトップを変更してみてください
単色への背景。 [色]はオプションです。デフォルトの色は
「cyan4」。 別の色の場合は、Xカラーを指定します(rgb.txt名、たとえば「darkblue」または
数値「#RRGGBB」)。

現在、このオプションは GNOME、KDE、CDE、XFCE、および従来の X (つまり、
ルート ウィンドウの背景画像)。 「gconftool-2」、「dcop」、および「xfconf-
query" 外部コマンドは、GNOME、KDE、および XFCE に対してそれぞれ実行されます。これも
ネイティブ MacOSX で動作します。 (MacOSX や XFCE では色の選択はありません。) その他
デスクトップは機能しません (対応するコマンドが見つかった場合は、私たちに送信してください)。 もしも
x11vnc はルートとして実行されています ( inetd(8)または gdm(1) )、 -ユーザー オプションが必要かもしれません
GNOME、KDE、XFCE 用。 x11vnc がデスクトップを間違って推測した場合は、強制することができます
色の前に「gnome:」、「kde:」、「cde:」、「xfce:」、または「root:」を付けます。

アップデート: -固体 KDE4 では動作しなくなりました。

このモードは、Mac OS X コンソールでは XNUMX 色 (「昆布」) で限定的に機能します。
スクリーンセーバーを使用してバックグラウンドに書き込みます。 覗く "〜/ライブラリ/画面 セイバーズ」
VncSolidColor.png で色を変更します。

-停電 string

画面上の長方形を黒く塗りつぶします。 string WxH+X+Y のカンマ区切りのリストです
四角形ごとにジオメトリを入力します。 リストの項目の XNUMX つが文字列の場合
"noptr" マウス ポインターは、黒く塗りつぶされた領域に入ることはできません。

-キシネラマ、 -ノクシネラマ

画面が XINERAMA を介して接着された複数のモニターで構成されている場合、および
その画面は長方形ではありません このオプションは、ブラックアウトする領域を推測しようとします
(システムに libXinerama がある場合)。 デフォルト: -キシネラマ

一般に、XINERAMA ディスプレイでは、
"-xwarpointer" マウス ポインタが誤動作し、それが有効になっている場合のオプション
デフォルト。 使用 "-noxwarpointer「これを望まない場合。

-xtrap

キーストロークとマウス入力の挿入には、DEC-XTRAP 拡張機能を使用します。 で使用するため
X11R5 などのレガシー システムで、不完全または欠落している XTEST 拡張機能が実行されている。 に
XTEST サーバーのグラブ コントロールがない場合は、デフォルトの DEC-XTRAP が使用されます。 -xtrap
DEC-XTRAP を介してキーストロークとマウスの挿入を行うこともできます。

-xrandr [モード]

ディスプレイが XRANDR (X Resize, Rotate and Reflection) 拡張機能をサポートしている場合、および
x11vnc の実行中にディスプレイで XRANDR イベントが発生することが予想される場合、これは
オプションは、x11vncがそれらに応答しようとする必要があることを示します(単にではなく)
古い画面サイズを想定してクラッシュする)。 を参照してください xrandr(1)マンページと実行
'xrandr -q' 詳細については。 [mode] はオプションで、以下で説明します。

XRANDRイベントとトラップエラーを監視すると、ポーリングのオーバーヘッドが増加するため、
このオプションは、XRANDRの変更が予想される場合にのみ使用してください。 たとえば、回転可能な
画面PDAまたはラップトップ、または頻繁にサイズ変更するXRANDR対応デスクトップを使用します。 これ
NewFBSize エンコーディングをサポートする vncviewer で表示するのが最適です。
画面サイズの変更に反応する方法を知っています。 それ以外の場合、LibVNCServer は次のことを試みます。
これを行うことができない視聴者にとって合理的なもの(画面の一部が表示される場合があります
切り取られている、未使用など)。

注: デフォルトでは XRANDR イベントをチェックするようになりましたが、すべての X 呼び出しをトラップするわけではありません
サイズ変更により失敗する場合があります。 サイズ変更イベントを受け取った場合、完全な -xrandr モード
有効になっています。 イベント提供のチェックも無効にするには: -noxrandr。

「モード」のデフォルトは「サイズ変更」です。これは、サイズ変更された新しいフレームバッファを作成することを意味します。
すべての視聴者が変化に対処できることを願っています。 「newfbsize」は、最初にすべてを切断することを意味します
NewFBSize VNCエンコーディングをサポートしていないビューアで、サイズを変更します
フレームバッファ。 「終了」とは、すべてのビューアクライアントを切断してから終了することを意味します
x11vnc。

-回転 string

VNC によってエクスポートされたフレームバッファ ビューを回転および/または反転します。 この変換は
XRANDR とは独立しており、メイン メモリのソフトウェアで実行されるため、遅くなる可能性があります。
このモードは、ポートレートまたはランドスケープ モードを備えたハンドヘルドで役立ちます。
実際のフレームバッファのスキャンラインの順序に対応していません。 string することができます:

x 軸に沿った x フリップ y 軸に沿った y フリップ x 軸と y 軸に沿った xy フリップ +90
時計回りに90度回転 -90 反時計回りに 90 度回転 +90x
時計回りに 90 度回転してから x +90y に沿って反転 時計回りに 90 度回転してから反転
yに沿って

これらはすべての可能な回転と反射を与えます。

エイリアス: xy と同じ: yx、+180、 -180、 180 と同じ -90: +270、+270と同じ90:90、
(90x、90yも同様)

いいね -規模、 この変換は、任意のチェーンの最後に適用されます
フレームバッファの変換など、ジオメトリに関する任意のオプション。 -停電、
-クリップ、 などは、元の X (または -rawfb) 最終ではなく、フレームバッファ
XNUMX つは VNC ビューアに送信されます。

カーソル形状を回転させたくない場合はプレフィックス string 「nc:」で、例えば
「nc:+90」、「nc:xy」など

-パジョン 幅x高さ

新しい vncviewer が接続されるたびに、フレームバッファは偽の固体に置き換えられます
ジオメトリ WxH の黒いもの。 その後まもなく、フレームバッファは
本物。 これは、NewFBSize をサポートしていない vncviewer で使用するためのものです。
そして、最初のビューアのジオメトリが処理するのに十分な大きさであることを確認したい
以降のすべてのサイズ変更 (例: -xrandr、 -リモート id:windowid、再スケーリングなど)

In -unixpw mode ログイン画面のサイズを設定します。 "once:WxH" を使用して無視する
ログイン画面が設定された後、padgeom。

-o ログファイル

stderr メッセージをファイルに書き込む ログファイル ターミナルの代わりに。 と同じ
"-ログファイル file"。ファイルに追加するには、"-oa file"または"-logappend file「。
ログファイル 文字列「%VNCDISPLAY」を含み、vnc ディスプレイに展開されます (
名前は推測する必要があるかもしれません。) "%HOME" も機能します。

-国旗 file

"PORT=NNNN" (例: PORT=5900) 文字列を file stdout に加えて。 これ
このオプションは、x11vnc の準備が整ったことを検出するラッパー スクリプトで役立ちます。

-rmflag file

削除します file x11vnc が完了したときに終了時に通知します。 ファイルは起動時に作成されます
まだ存在しない場合、または file 「create:」というプレフィックスが付きます。 ファイルが
作成されると、x11vnc PID がファイルに配置されます。 それ以外の場合、ファイルの内容はありません
かわった。 プレフィックス「nocreate:」を使用して、作成を防止します。

-rc ファイル名

  ファイル名 rc ファイルの $HOME/.x11vncrc の代わりに。

-ノルク

オプションの .x11vncrc ファイルを処理しないでください。

-env VAR=値

x11vnc の起動時に環境変数「VAR」を値「VALUE」に設定します。 これは
環境を設定するためのシェルスクリプトラッパーなどを回避するための便利なユーティリティ。 変数。 あなた
コマンドラインでこれらを必要な数だけ指定できます。

-プログラム /パス/へ/x11vnc

から判断できない場合に備えて、x11vnc プログラムへのフル パスを設定します。
argv[0] (例: tcpd/inetd)

-NS、 -助けて

このヘルプ テキストを印刷します。 -?, -オプション x11vnc オプションのみをリストします。

-V、 -バージョン

プログラムのバージョンと最終変更日を出力します。

-ライセンス

ライセンス情報を印刷します。 と同じ -コピー-保証。

-dbg

クリーンアップ後に終了する代わりに、致命的な場合に単純な「デバッグ クラッシュ シェル」を実行します。
エラーがトラップされます。

-NS、 -静かな

情報量の少ない出力を stderr に出力することで静かにします。 (使用 -静かな 元に戻す
-静かな。)

この -静かな オプションはすべての情報出力を排除するのではなく、削減するだけです。
ほとんどの補助使用モードでは無視されます。 -ストアパスワード。 すべてをなくすには
出力の使用: 2>/dev/null 1>&2 など。

-v、 -詳細

詳細情報を stderr に出力します。

-bg

画面設定後、バックグラウンドに入ります。 次の場合を除き、stderr へのメッセージは失われます。 -o
ログファイルが使用されます。 このようなものは、スクリプトで役立つ可能性があります。

port=`ssh -t $host "x11vnc -display :0 -bg" | grep PORT`

port=`echo "$ポート" | sed -e 's/PORT=//'`

port=`expr $port - 5900`

vncviewer $ホスト:$ポート

-modtweak、 -nomodtweak

オプション -modtweak の AltGr および Shift 修飾子を自動的に調整しようとします。
クライアントとホストの間で異なる言語のキーボード。 それ以外の場合は、単一のキーのみ
キーコードのプレス/リリースがシミュレートされます (つまり、モディファイアの状態は無視されます:
これは通常、同一のキーボードで機能します)。 次のような場合の解決にも役立ちます。
Keysym は複数のキーにバインドされます (例: "<" + ">" および "," + "<" キー)。 デフォルト:
-modtweak

鍵のことでお困りの方は -xkb or -noxkb、 などなど
助けないで、やってみる -nomodtweak。

一部の HP-UX システムでは、キーマッピングが奇妙であることが指摘されています。
XNUMX つのキーコードには、「#」などのキーシムが XNUMX 回まで含まれます。 経由で確認できます
"xmodmap -pk" または -dk オプション。 失敗は、「#」と入力しようとすると発生します
「3」。 この問題が発生した場合は、環境変数を設定してみてください
MODTWEAK_LOWEST=1 を使用して、それが役立つかどうかを確認します。

-xkb、 -noxkb

modtweak モードでは、XKEYBOARD 拡張を使用します (X ディスプレイがサポートしている場合)。
モディファイヤの微調整を行います。 これは強力で、ある場合は試してください。
使用時のキーマッピングの問題 -modtweak それ自体で。 デフォルトはチェックすることです
!、@、[ などの一般的なキーシムが、 -xkb モードと場合
モードを自動的に有効にします。 この自動検出を無効にするには
-noxkb。

日時 -xkb モードがアクティブになっていると、これらの環境を設定できます。 変数。 それらはある場合にのみ適用されます
どのキーを選択するかについてあいまいです (つまり、マッピングは XNUMX 対 XNUMX ではありません)。
NOKEYHINTS=1: アップ アスキー キーストロークの場合、キー入力時に保存されたスコア ヒントを使用しません。
押し下げました。 NOANYDOWN=1: 上向きのキーストロークでは、検索に頼らない
現在押されているキー。 KEYSDOWN=N: 最後に押された N 個のキーを記憶する
アップキーストロークが入ったときのタイブレークのためにダウン。

-キャップスロック

ときで -modtweak (デフォルト)または -xkb モード、範囲 AZ のキーシムが入ってきた場合
X サーバーをチェックして、Caps_Lock が設定されているかどうかを確認します。 人為的でない場合
Shift キーを押してキーシムを生成します。 これにより、CapsLock キーが動作できるようになります
つまり、VNC ビューア マシンと
x11vnc X サーバーは CapsLock オンの状態にあります。 一方の側で CapsLock がオンになっていて、
その他がオフで、キーボードが思ったように動作していません。
CapsLock の状態を修正します (ヒント: CapsLock をキーの内側と外側で押します)。
ビューアーは、両方を正しい状態に切り替えるのに役立ちます)。 ただし、最良の結果を得るには
このオプションを使用せず、VNC ビューア側で CapsLock を有効にする*のみ*
(つまり、ビューア ウィンドウの外で CapsLock を押すことによっても、 -skip_lockkeys
下)。 また、試してみてください -nomodtweak 可能な回避策。

-skip_lockkeys、 -noskip_lockkeys

すべての Caps_Lock、Shift_Lock、Num_Lock、Scroll_Lock キーシムを x11vnc に無視させる
視聴者からいただきました。 アイデアは、VNC Viewer 側で Caps_Lock を押すことですが、
x11vnc 側の X サーバーのロック状態を変更しません。 それでもあなたの
大文字の文字がネットワーク経由で届き、x11vnc-
サイド X サーバー。 このモードはおそらくあなたが望むことをしないことに注意してください -nomodtweak モード。
また、KP_n 桁の処理は常にこのモードで行われます。
通常の数字キーシム。 こちらもご覧ください -キャップスロック その上。 デフォルトは -noskip_lockkeys。

-skip_keycodes string

XNUMX 進キーコードのカンマ区切りのリストは無視します。 おそらくこれらはキーコードです
キーボード上ではありませんが、Xサーバーは存在すると考えています。 現在のみに適用されます
-xkb モード。 このオプションを使用して、x11vnc が試みる逆の問題を解決します。
解決: Keysym -> Keycode(s) あいまいさが存在する場合 (複数の Keycode ごとに
キーシム)。 「xmodmap」を実行 -pk' あなたのキーマッピングを見るために。 例: "-skip_keycodes
94,114"

-sloppy_keys

「ずさんな」キーの動作を修正しようとする実験的なオプションです。 たとえば、
視聴者は Shift+Key を押しますが、Shift キーを離す前にキーを離します。
余分な不要な文字を生成します (通常は異なるキーボード間のみ)
言語)。 一部のキーストロークで問題が発生した場合にのみ、このオプションを使用してください。

-skip_dups、 -noskip_dups

一部の VNC ビューアは、key-down、key-down、key-など、不可能な繰り返しのキー イベントを送信します。
アップ、同じキーのすべてのキーアップ、または同じ修飾キーの連続した 20 ダウン!
設定 -skip_dups これらの重複をスキップし、最初のイベントのみを処理することを意味します。
注: 一部の VNC ビューアーは、対応するアップなしでダウンを送信できると想定しています。
したがって、これらのビューアにはこのオプションを設定しないでください (症状: 一部のキーは設定できません)。
デフォルト: -noskip_dups

-add_keysyms、 -noadd_keysyms

Keysym が VNC ビューアーから受信され、その Keysym が X に存在しない場合
次に、未使用のキーの X サーバーのキーボード マッピングに Keysym を追加します。
追加された Keysyms は定期的に削除され、x11vnc の終了時にも削除されます。 デフォルト:
-add_keysyms

-clear_mods

起動時と終了時に、それぞれの KeyRelease を送信して修飾キーをクリアします。 の
ロック修飾子はスキップされます。 表示があった場合に状態をクリアするために使用されます
誤って押したままにしました。

-clear_keys

As -clear_mods、 押したキーを離してみてください。 このオプションと
-clear_mods 人が物理キーボードで入力するのを妨げる可能性があります。

-すべてクリア

As -clear_keys、 ただし、CapsLock、NumLock などのロックも解除してみてください。

-リマップ string

という名前のファイルから Keysym の再マッピングを読み取ります string. 形式は、XNUMX つずつ Keysyms の XNUMX つのペアです。
行 (名前または XNUMX 進値) をスペースで区切って入力します。 ファイル名がない場合 string
存在する場合、代わりに次の形式として解釈されます: key1-key2,key3-key4,... を参照
Keysym 名のリストのヘッダー ファイル、または使用 xevのとします。

キーをボタンクリックにマップするには、偽の Keysyms "Button1" などを使用します。例:
"-リマップ スーパー_R-ボタン2" (ラップトップに貼り付けるのに便利)

表示しているマシンにスクロールホイールがない場合、または持っていない場合にこれらを使用します
それが持っているものを使用するように:

-リマップ スーパー_Rボタン4、メニューボタン5 -リマップ KP_Add-Button4、KP_Enter-Button5

前者は PC で使用され、後者は MacBook で使用されます。 このようにそれらの小さな
使用されたキーは、上矢印と下矢印が提供するよりも大きなホップを生成するために使用できます。
この方法で、テキストや Web ページをより速くスクロールできます (特に
x11vnc スクロール検出がアクティブです。)

複数のクリックには、Button44、Button12 などを使用します。

キーシムを無効にする (つまり、挿入されないようにする) には、次のように再マップします。
「NoSymbol」または「なし」。

デッド キー: 「デッド」(またはサイレント、ミュート) キーは、文字を生成しないキーです。
ただし、2 回目のキーストロークが続く必要があります。 アクセントによく使われます
たとえば、デッド キーを押してから "a" を押すと、"a" の上に "`" が表示されます。
この解釈はコア X11 の一部ではないことに注意してください。ツールキットまたは
シーケンスへの反応方法を決定するアプリケーション。 これらの X11 名
キーシムは「dead_grave」、「dead_acute」などです。ただし、一部の VNC ビューアーは、
代わりにキーシム "grave"、"acute" を使用すると、アクセントが無効になります。 回避するには
この -リマップ に使える。 例えば ​​"-リマップ 墓-dead_grave,acute-dead_acute"

便宜上、"-リマップ DEAD" はこれらのリマップを適用します:

g 墓-dead_grave
acute-dead_acute
c asciicircum-dead_circumflex
t asciitilde-dead_tilde
m マクロン-dead_macron
b ブリーブ-デッド_ブリーブ
D 上のドット-デッド_上のドット
d ダイアレシス-dead_diaeresis
o 死を超えた程度
doubleacute-dead_doubleacute
r caron-dead_caron
e セディラ-dead_cedilla

サブセットだけが必要な場合は、最初の文字ラベルを使用します。-リマップ DEAD=ガ" 取得するため
最初の二つ。 追加のリマップは、カンマを介して指定することもできます。例: "-リマップ
DEAD=ga,Super_R-Button2最後に、「DEAD=missing」は、上記のすべてを適用することを意味します
左側のメンバーがまだ X11 キーマップにない限り。

-ノーリピート、 -繰り返す

オプション -norepeat VNC クライアントが接続されている場合、X サーバー キーの自動繰り返しを無効にします。
VNC キーボード入力が 5 分以上アイドル状態でない。 これは
キーストロークの繰り返しのバグ (キーを押してから
キーアップ クライアント イベント: 大きな画面の変更または高遅延のいずれか)。 デフォルト:
-norepeat

環境を設定できます。 変数。 X11VNC_IDLE_TIMEOUT をアイドル秒数に
したい(5分= 300秒)。

注: あなたの VNC ビューア側はおそらく自動反復を行うでしょう。
誰かが同時に実際の X ディスプレイにいます。

つかいます "-norepeat N" 何回 norepeat がリセットされるかを設定します。
(例えば、X セッションマネージャー) はそれを元に戻します。 デフォルトは 2 です。
無制限のリセット。

-いいえ

ビデオ フレームバッファを無視: キーボードとポインタのみを処理します。 での使用を目的としています
Win2VNC および x2vnc デュアル モニターのセットアップ。

-ノーベル

XBell イベントを監視しないでください。 (ビープ音は鳴りません) 注: XBell の監視
XKEYBOARD 拡張機能が必要です。

-ノズル

VNCビューアとXの間のX選択/カットバッファの交換を管理しないでください
まったくサーバー。

-noprimary

クライアントに送り返す変更の PRIMARY セレクションをポーリングしないでください。 (プライマリは
ただし、受信した変更は引き続き設定されます)。

-nosetprimary

VNC クライアントから受信した変更に対して PRIMARY 選択を設定しないでください。

-ノークリップボード

クライアントに送り返す変更の CLIPBOARD 選択をポーリングしないでください。
(ただし、CLIPBOARD は受信した変更に対して設定されたままです)。

-ノーズクリップボード

VNCクライアントから受信した変更に対してCLIPBOARD選択を設定しないでください。

-セルディル string

方向文字列が「送信」の場合、選択内容のみを視聴者に送信します。
「recv」は視聴者からのみ受け取ります。 選択を設定するアプリを回避するには
頻繁にもう一方の端を台無しにします。 実際にはカンマ区切りで指定できます
デバッグ出力をオンにする「debug」を含む指示のリスト。

-カーソル [モード]、 -ノーカーソル

ポインター カーソルの形状 (マウス ポインターの小さなアイコン) を設定します。
扱いました。 「モード」文字列はオプションで、以下で説明します。 デフォルトは
ある種のカーソル形状を表示します。 これがどのように行われるかは、VNC ビューアーと
Xサーバー。 つかいます -ノーカーソル カーソル形状を完全に無効にします。

一部の VNC ビューアは、TightVNC CursorPosUpdates および CursorShapeUpdates をサポートしています。
拡張機能 (カーソル画像を送信する必要がないため、ネットワーク トラフィックが削減されます
ポインターが移動するたびに)、その場合、これらの拡張機能が使用されます (を参照してください)。
-nocursorshape-nocursorpos 以下で無効にします)。 他の視聴者の場合はカーソル
ポインターが移動するたびに、形状がフレームバッファーに直接書き込まれるか、
変更され、他のフレームバッファの更新とともに送信されます。 この場合、
vnc ビューアー ポインターとリモート カーソルの間には多少の遅延があります。
位置。

X ディスプレイが X からのカーソル形状情報の取得をサポートしている場合
サーバーの場合、デフォルトではそのモードが使用されます。 Solaris では、これは
を使用した SUN_OVL 拡張機能 -かぶせる (も参照してください -overlay_nocursor オプション)。 あ
同様のオーバーレイ方式が IRIX でも使用されています。 Xorg (Linux など) および最近の Solaris Xsun
サーバーは、X から正確なカーソル形状を取得する XFIXES 拡張機能をサポートしています。
サーバ。 XFIXES が存在する場合、オーバーレイよりも優先され、デフォルトで使用されます
(参照してください -noxfixes 下)。 これは無効にすることができます -ノーカーソル、 また、いくつかの値
以下の「モード」オプションの。

XFIXES の下では、透明度 (アルファ チャネル) を持つカーソルは通常、
正確に表現する必要があり、Overlay が好ましいと思われるかもしれません。 も参照してください。 -アルファカット
-アルファフラク 状況を改善するためのファッジ要因としての以下のオプション
特定のテーマの透明度を持つカーソル。

「モード」文字列を使用して、カーソル形状の表示を微調整できます。 できる
次の方法で使用できます。

"-カーソル 矢印" - 標準の矢印を表示するだけです。

"-カーソル なし" - と同じ "-ノーカーソル"

"-カーソル X" - カーソルがルート ウィンドウにあるように見えたら、おなじみの X を描画します
形。 GNOME などの一部のデスクトップでは、ルート ウィンドウが完全に覆われているため、
これは機能しません。「X1」などを試して、ツリーの深さをシフトしてみてください。 高レイテンシー
リンクまたは遅いマシンでは、予想と実際の間にタイムラグがあります
カーソル形状。

"-カーソル 一部" - "X" に似ていますが、追加のヒューリスティックを使用して、
ウィンドウには、windowmanager のようなリサイズ カーソルまたはテキスト入力 I ビームが必要です。
カーソル。 これは完全なハックですが、状況によっては役立つ場合があります。
カーソルの形状についてもう少しフィードバックを提供します。

"-カーソル 最も" - できるだけ多くのカーソルを表示するようにしてください。多くの場合、これは
ディスプレイにオーバーレイ ビジュアルまたは XFIXES 拡張がない限り、「some」と同じ
利用可能。 Solaris および IRIX では、XFIXES が利用できない場合、 -かぶせる モードになります
試みた。

-cursor_drag

マウスがマウス ボタンでドラッグされている場合でも、カーソルの形状の変化を表示する
下。 これは、ドラッグ アンド ドロップ カーソル アイコンを表示できるようにする場合に便利です。
等々

-矢印 n

いくつかの一般的なもののセットから別の「矢印」カーソルを選択します。 n は 1 ~
6. デフォルトは次のとおりです。 1 XFIXES カーソル グラブ モードでは無視されます。

-noxfixes

XFIXES 拡張機能を使用して正確なカーソル形状を描画しないでください。
にアクセスできるようにしています。

注: Xorg 1.5 以降でのクラッシュを回避するには、一部の人が使用する必要がありました。
-nox修正。 Xorg のクラッシュは、ディスプレイ マネージャー (GDM など) へのログイン直後に発生しました。
x11vnc 0.9.9 以降では、XFIXES の使用を自動的に回避しようとします。
ウィンドウマネージャーが実行されていることを確認してください。 を参照してください -再開 詳細と方法のオプション
X11VNC_AVOID_WINDOWS=never を使用して無効にします。

-アルファカット n

カーソル形状に XFIXES 拡張機能を使用すると、透明度のあるカーソル
通常は正確に表示されません (ただし、不透明なものは表示されます)。 このオプションは n を設定します
透明度を持つカーソルのカットオフとして (値の範囲の「アルファ チャネル」
0 から 255 まで) n 未満のアルファ値を持つカーソル ピクセルは完全に
透明。 それ以外の場合、ピクセルは完全に不透明です。 デフォルト 240

-アルファフラク 分数

しきい値で -アルファカット 一部のカーソルはほぼ完全に
アルファ値が十分に高くないため、透明になります。 それらのカーソルについて
ゼロ以外のアルファ チャネル ピクセルの一部になるまで、アルファしきい値を調整します。
不透明になる。 デフォルト 0.33

-alpharemove

デフォルトでは、透明度のある XFIXES カーソル ピクセルにはアルファ係数があります。
RGB カラー値に乗算されます (つまり、
黒い背景のカーソル)。 アルファ係数を削除するには、このオプションを指定します。
(明るい色の半透明のカーソルに役立ちます)。

-ノアルファブレンド

XFIXES モードでは、カーソル アルファ チャネル データを LibVNCServer に送信しません。 デフォルト
送ることです。 alphablend 効果は、 -nocursorshape モード
または、cursorshapeupdates がオフになっているクライアントの場合。 (ただし、ハックがあります
深さ 32 の 24bpp。追加の 8 ビットを使用して、使用するカーソルの透過性を格納します。
透明度をローカルに適用するハッキングされた vncviewer を使用します。 のよくある質問を参照してください
より詳しい情報)。

-nocursorshape

クライアントがサポートしている場合でも、TightVNC CursorShapeUpdates 拡張機能を使用しないでください。
見る -カーソル 上記。

-カーソル位置、 -nocursorpos

オプション -カーソル位置 X カーソル位置をすべての vnc クライアントに送り返すことができます
TightVNC CursorPosUpdates 拡張機能をサポートするもの。 他のクライアントはできるようになります
ポインターの動きを確認します。 デフォルト: -カーソル位置

-xwarppointer、 -noxwarpointer

でポインタを移動 Xワープポインタ(3X) XTEST 拡張子の代わりに。 これを次のように使用します
タッチスクリーンや
その他の非標準のセットアップ。

XINERAMA ディスプレイでも必要になる場合があり、デフォルトで有効になっています。
XINERAMA がアクティブであることが判明しました。 これを防ぐには、 -noxwarpointer。

-always_inject

VNC マウス イベントの強制変位 (dx = dy = 0) がない場合でも、
とにかく、指定された x、y 位置へのポインター。 最近 (2009 年) の GUI ツールキット (gnome)
x11vnc 独自のマウス入力インジェクション方式に問題があります。 だからx11vncの
マウス入力の注入方法が変更されました。 古い動作を取り戻すには
このオプション: -always_inject。 次に、x11vnc は常にマウスの配置を強制します。
その位置が前回の VNC から変更されていない場合でも、x、y 位置に
入力イベント。

この問題に最初に気付いたのは gnome ターミナルでした。
マウス ボタン 3 を放すと、メニューがポストされ、その最初の要素「新しいターミナル」
ウィンドウ」がアクティブ化されました。 これは、x11vnc がマウスの位置を XNUMX 回挿入したためです。
ButtonPress で 2 回、ButtonRelease でもう一度。 ツールキットは XNUMX 番目を解釈しました
マウスが動いていなくても、マウスの動きとして11つ。 したがって、デフォルトで xXNUMXvnc
2 番目の注入を回避しようとします。

新しいデフォルトの x11vnc では、アプリケーションが
ポインター (ゆがむ) またはユーザーが物理ディスプレイでそれを動かします。 そうかもしれませんが、
たとえば、ButtonRelease を間違った位置に挿入します。 これ(または同様のシナリオ)の場合
ご使用の環境で問題が発生した場合は、具体的に指定してください -always_inject 古い方法の場合。

-ボタンマップ string

マウス ボタンを再マップする文字列。 フォーマット: IJK-LMN、これはボタン I -> L などをマップします。
マシン情報の記入> という構文でなければなりません。例えば、 -ボタンマップ 13-31

ボタンの押下をキーストロークにマッピングすることもできます。
ダッシュの右側: : また : + : 複数のキーの場合など。 ために
たとえば、表示マシンにマウス ホイール (ボタン 4 5) があるが、x11vnc 側が
そうでない場合、これらはスクロールを行います:

-ボタンマップ 12345-123:前::次:

-ボタンマップ 12345-123:上+上+上::下+下+下:

見るKeysyms のリストのヘッダー ファイルを使用するか、 xevの(1)プログラム。
注: ボタン クリックの Keysyms へのマッピングは、次の場合には機能しない可能性があります。 -modtweak or -xkb is
Keysym に必要です。

「Shift_L」のような修飾子を含めると、修飾子のアップ/ダウン状態が切り替わり、
たとえば、「The」を送信するには、:Shift_L+t+Shift_L+h+e: を使用します (最初のものはシフトダウンで、
2枚目はシフトアップ)。 (注: モディファイアの初期状態は無視されます。
ボタン イベントを含めるには、「Button1」などを使用します。

-ボタンマップ 現在、MacOSX コンソールまたは -rawfb モード。

回避策: を使用してください -ボタンマップ IJ...-LM...=n はマウス ボタンの数を n に制限します。
例: 123-123=3。 これにより、X サーバーが報告した場合に x11vnc がクラッシュするのを防ぐことができます。
5 つのボタン (4/5 スクロール ホイール) がありますが、実際には 3 つしかありません。

-ノードラッグ

マウスのドラッグ イベント中 (マウス ボタンが押された状態) に表示を更新しません。
低速セットアップでの応答が大幅に改善されますが、視覚的なフィードバックがすべて失われます。
ドラッグ、テキスト選択、およびいくつかのメニュー トラバーサル。 それは、 -pointer_mode
設定。

-ncache n

クライアント側のキャッシュ スキーム。 フレームバッファメモリ n (整数) 倍の
画面の内容をキャッシュするために、実際のフレーム バッファの下にフル ディスプレイが割り当てられます。
迅速な検索。 したがって、W x H frambuffer は W x (n+1)*H のものに展開されます。 に 0 を使用
無効にします。

この n 実際にはオプションで、デフォルトは 10 です。

これと他のもののために -ncache* 以下のオプションは省略できます "-ncache" と
"-nc"。 また、 "-ノンク「」は「」と同じです-ncache 0"

これは実験的なオプションであり、現在は厄介な方法で実装されています。
VNC Viewer を下にスクロールすると、ピクセル キャッシュの内容が表示されます。
その領域が見えないように設定する必要があります。 このメソッドが
成功した場合、クライアントがこれをより厄介に行うために必要な変更は次のようになります。
調査した。

SSVNC ビューアは、ピクセル キャッシュ領域を自動的に非表示にするのに優れています。
またはSSVNCを使用する -ycrop リージョンを明示的に非表示にするオプション。

このモードは、両方の x11vnc サーバーで大量のメモリを消費することに注意してください。
側と VNC Viewer 側。 n=2 の場合、使用される RAM の量はおよそ
x11vnc と VNC Viewer の両方で XNUMX 倍になりました。 経験則として、
深さ 1280 の 1024x24 は、約 5MB のピクセル データです。

4 から 6 の大きなサイズ (例: Web ブラウザー) を循環するときの妥当な応答用
Windows では、n の値として 6 ~ 12 をお勧めします。 (そうです:〜10倍のメモリ...)

ウィンドウの backingstore と saveunders の実装方法により、n は
平。 そうでない場合は、1 ずつインクリメントされます。

このモードはネイティブの MacOS X でも機能しますが、X ほど効果的ではない場合があります。
バージョン。 これは多くの原因によるもので、その XNUMX つはドロップ シャドウの合成です。
修復が必要な余分な領域が残ります (参照 -ncache_pad)。 もう一つは
ウィンドウのアイコン化アニメーションは避ける必要があります ( -macicontime)。 現れる
'Scale' アニメーション モードは 'Genie' アニメーション モードよりも優れた結果をもたらします。
また、ウィンドウ イベントの検出は、X バージョンほど正確ではありません。

-ncache_cr

In -ncache モードで、ワイヤーフレームの代わりに copyrect 不透明ウィンドウの移動/ドラッグを実行してみてください
(これにより、塗装エラーが発生する可能性があります)。 ワイヤーフレームは移動時にも使用されます
セーブアンダーがまだ設定されていないか無効化されているウィンドウ。

一部の VNC Viewer は、このオプションを使用すると、他のものよりも優れた応答を提供します。 Unixでは、
realvnc ビューアーは、tightvnc ビューアーよりもスムーズなドラッグを提供します。 レスポンスも
サーバー側のマシンが遅すぎると途切れます。

非常に遅いモデム接続では、これにより実際に改善されることがあります
ドラッグ中にピクセル データがまったく送信されないため (ボックス アニメーションでさえも) 送信されません。

-ncache_no_moveraise

In -ncache モードでは、ウィンドウを移動するとウィンドウ マネージャーが起動するとは限りません。
スタックの一番上に上げます。 デフォルトでは、そうであると想定されます。
ワイヤーフレームの開始など、ウィンドウが移動すると、ウィンドウが一番上に押し出されます
VNC ビューアで。

-ncache_no_dtchange

In -ncache モード、デスクトップ (ビューポート) がいつ別のビューポートに変わるかを推測しようとしないでください
XNUMX つ (つまり、別のワークエリア)。 デフォルトでは、推測を試み、検出されたときに試行します
トランジションをよりスムーズにします。

-ncache_no_rootpixmap

In -ncache モードで、推測に使用するためにデスクトップの背景のスナップショットを作成しようとしないでください
またはウィンドウのセーブアンダーを再構築しています。

-ncache_keep_anims

In -ncache モードでは、ウィンドウ マネージャーのアニメーションやその他の効果を無効にしようとしないでください。
(通常、ncache のパフォーマンスが低下するか、ペイント エラーが発生します)。 デフォルトは
VNCクライアントが接続されているときにKDE(GNOMEではない)でそれらを無効にしようとします。

アニメーション、エフェクト、
を妨げる合成、半透明など -ncache あなたがする方法
手動で無効にする必要があります。

-ncache_old_wm

In -ncache モードでは、fvwm などの古いスタイルのウィンドウ マネージャーのいくつかのヒューリスティックを有効にします。
そしてツム。

-ncache_pad n

In -ncache モードでは、各ウィンドウをキャッシング四角形のために n ピクセルでパディングします。 これ
ドロップシャドウやその他の合成で状況を改善するために使用できます
(例: MacOS X ウィンドウ マネージャー)、状況が悪化する可能性がありますが。 デフォルトは
Unix では 0、MacOS X では 24 です。

-debug_ncache

以下でデバッグとプロファイリングの出力をオンにします -nキャッシュ。

-ワイヤーフレーム [力]、 -nowireframe

マウス ボタンが押されたときにウィンドウの移動またはサイズ変更を検出して、
完全に不透明なウィンドウの代わりにワイヤーフレーム。 これは完全に基づいています
ヒューリスティックであり、常に機能するとは限りません。ウィンドウマネージャーや方法によって異なります
あなたは物事を動かします。 見る -pointer_mode 「ボギング」については以下で説明します
down」の問題を回避しようとします。デフォルト: -ワイヤーフレーム

短いエイリアス: -wf [str] と -nowf

値「str」はオプションであり、もちろん、多くの調整可能なパラメーターがパックされています
このスキームの場合:

フォーマット: shade,linewidth,percent,T+B+L+R,mod,t1+t2+t3+t4 デフォルト:
0xff,2,0,32+8+8+8,all,0.15+0.30+5.0+0.125

コンマの間に何も残さない場合: ",," デフォルト値が使用されます。 そうしないと
十分な数のコンマを指定すると、末尾のパラメーターがデフォルトに設定されます。

「シェード」はワイヤーフレームの「色」を示します。通常はグレースケール: 0 ~ 255 ですが、
16 および 32bpp の場合、rgb.txt の X カラー (「dodgerblue」など) または値を指定できます。
> 255 は RGB として扱われます (たとえば、赤は 0xff0000 です)。 「線幅」は幅を設定します
ピクセル単位のワイヤーフレーム。 「パーセント」は、ワイヤーフレーム スキームを適用しないことを示します。
全画面のこのパーセント未満の領域を持つウィンドウ。

「T+B+L+R」は、ポインターがピクセル単位でどれだけ接近する必要があるかを表す XNUMX つの整数を示します。
ウィンドウの上端、下端、左端、または右端からワイヤーフレームを検討します。
これは、ウィンドウをワイヤーフレームからすばやく除外するスピードアップです: それらをすべて設定します。
スピードアップを試行しない場合はゼロにします (テキストのスクロールと選択はおそらく
もっとゆっくり)。

"mod" は、ウィンドウの内部でボタン ダウン イベントが発生するかどうかを指定します。
修飾キー (Alt、Shift など) を押すと、ワイヤフレームの機会が示されます。 それ
スキップするには「0」または「none」、任意の修飾子に適用するには「1」または「all」、または
「Shift」、「Alt」、「Control」、「Meta」、「Super」、または「Hyper」をそのタイプにのみ適用する
修飾キーの。

"t1+t2+t3+t4" は、秒単位で 1 つの浮動小数点時間を指定します。tXNUMX は、待機する時間です。
ポインターが移動する場合、t2 はウィンドウが移動を開始するまで待機する時間、または
サイズ変更中 (一部のウィンドウ マネージャーでは、これはかなり長くなる場合があります)、t3 はサイズ変更にかかる時間です。
ウィンドウを再描画する前にワイヤーフレームを動かし続けます。 t4 は最小時間
ワイヤーフレームの「アニメーション」を送信する間。 低速リンクが検出された場合、これらの値
リンクが遅い場合は、より適切なものに自動的に変更される場合があります。

-nowireframelocal

デフォルトでは、ローカルディスプレイに座っているユーザーのマウスの動きとボタンの押下
ワイヤーフレームの機会を監視します(変更が送信されるように
効率的に VNC クライアントに)。 この動作を無効にするには、このオプションを使用します。

-wirecopyrect モード、 -nowirecopyrect

から -ワイヤーフレーム メカニズムは明らかに動く窓を正確に追跡します。
翻訳されたファイルをローカルにコピーするよう VNC ビューアに指示することで、スピードアップを実現
ウィンドウ領域。 これは VNC CopyRect エンコーディングです。フレームバッファの更新は行われません
実際の新しい画像データを送信する必要があります。

短いエイリアス: -wcr [モード] と -nowcr

「モード」は「決して」にすることができます(と同じ -nowirecopyrect) コピーレクト「トップ」を決して試さない
ウィンドウが他のウィンドウによって覆われていない場合にのみ実行することを意味し、「常に」
本来隠されていない領域を翻訳することを意味します (これは、
残りの部分が入りますが、低速リンクで役立ちます)。 デフォルト: 「常に」

注:使用時に塗装エラーや反応が遅い場合があります -規模 それで、あなたはそうすることができます
この場合、CopyRect を無効にしたい」-wirecopyrect 決して" コマンドラインまたは
リモコンで。 または、"-規模 xxx:nocr"スケールオプション。

-debug_wireframe

ワイヤーフレーム ヒューリスティックのデバッグ情報の出力をオンにします。 "-dwf"はエイリアスです。
より多くの出力を得るには、複数回指定します。

-scrollcopyrect モード、 -noscrollcopyrect

いいね -wirecopyrect、 ただし、ヒューリスティックを使用して、ウィンドウがスクロールしたかどうかを推測しようとします
コンテンツ (縦または横)。 これには RECORD X 拡張機能が必要です
Xアプリケーションで「スヌープ」する(現在、特定のXCopyAreaおよびXConfigureWindow用)
X プロトコル要求)。 例: ヒッティング端末ウィンドウで
カーソルが一番下にあった場合、テキストは XNUMX 行上にスクロールします。 ヒッティング矢印
Web ブラウザー ウィンドウで、Web ページが少し上にスクロールします。 またはスクロール
スクロールバーまたはマウスホイール。

短いエイリアス: -scr [モード] と -noscr

このスキームは常にスクロールを検出するとは限りませんが、検出された場合は素晴らしい
VNC CopyRect エンコーディングを使用することによる高速化 (を参照) -wirecopyrect)。 スピードアップは
ネットワーク トラフィックの削減と X フレームバッファのポーリング/コピーの削減の両方で。 上で
一方で、望ましくないトランジェントを誘発する可能性があります (例: 端末カーソルが
べきではないときに上にスクロールする) またはその他の描画エラー (ウィンドウのティアリング、
束ねるなど)。 これらは短時間で自動的に修復されます。 もしも
これは容認できません。機能を無効にします -noscrollcopyrect.

画面クリアのコツ: 少なくともテスト用に、「魔法の鍵」がいくつかあります
シーケンス" (1 秒以内に実行する必要があります) を使用して、塗装エラーの修復を支援します。
このモードを使用すると、次のように表示されることがあります。

Alt_L を 3 回続けて: 画面全体を再送信、Alt_L を 4 回続けて: 再読み込みして再送信
画面全体、3 つの Super_L が連続: 画面全体をポーリング用にマーク、4 つの Super_L が連続
行: RECORD コンテキストをリセットし、5 つの Super_L を続けて: 黒い画面をプッシュしてみてください

注: Alt_L は左の「Alt」キー (単一のキー) Super_L は左の「Super」キーです
(Windows フラグ)。 これらは両方とも修飾キーであるため、生成しないでください
単独で押したときの文字。 また、VNC ビューアーには独自の
ホットキーまたはボタンを更新します。

「モード」は「決して」にすることができます(と同じ -noscrollcopyrect) コピーレクト、「キー」を決して試さない
キーストロークのみに応答して試行することを意味し、「マウス」は応答して試行することを意味します
マウスイベントのみ、「常に」は両方を行うことを意味します。 デフォルト: 「常に」

注:使用時に塗装エラーや反応が遅い場合があります -規模 それで、あなたはそうすることができます
この場合、CopyRect を無効にしたい」-scrollcopyrect 決して" コマンドライン上で
またはリモコンで。 または、"-規模 xxx:nocr"スケールオプション。

-scr_area n

四角形の最小領域をピクセル単位で設定します。
-scrollcopyrect 検出スキーム。 これは、小さなことに無駄な労力を費やさないようにするためです。
通常の方法ですばやく更新される長方形。 たとえば、アプリを想定します
最初に細いスクロールバーの位置を更新してから、大きなパネルを移動しました
それは制御しました。 小さなスクロールバーをスキップして大きなスクロールバーを取得したい
パネル。 デフォルト: 60000

-scr_skip リスト

コンマ区切りの文字列リストに一致するアプリケーションのスクロール検出をスキップする
in リスト. 一部のアプリケーションは、奇妙な方法でスクロールを実装します。
XCopyArea などは、ウィンドウの非表示部分にも適用されます。
それらの領域はスクロール中に見栄えが悪く、ペイントエラーが残っている可能性があります
スクロール後。 Soffice.bin は、既知の最悪の犯罪者です。

"##" を使用してアプリケーション クラスの開始を示し (例: "##XTerm")、"++" を使用して
アプリケーション インスタンス名の先頭を示します (例: "++xterm")。 文字列
リストが照合されるのは、「^^WM_NAME##Class++Instance」の形式です
any-subwindows>" "xlsclients -ら」 コマンドはこの情報を提供します。

パターンの前に「KEY:」が付いている場合、キーストロークで生成されたスクロールにのみ適用されます
(例: 上矢印)。 「MOUSE:」が前に付いている場合は、マウス誘導にのみ適用されます
スクロールします (例: スクロールバーでのドラッグ)。 デフォルト:
##Soffice.bin、##StarOffice、##OpenOffice

-scr_inc リスト

逆の -scr_skip: このリストが最初に参照され、一致する場合は
ウィンドウは、スクロールに関係なく RECORD を介して監視されます。 -scr_skip。  
-scr_skip 「*」は、一致しないものをスキップします -scr_inc.   -scr_inc 「*」
すべてを含めること。

-scr_keys リスト

キーストロークのスクロール検出では、RECORD ヒューリスティックのみをカンマに適用します。
のキーシムの分離リスト リスト. それぞれのRECORDオーバーヘッドを見つけることができます
のキーストロークがタイピングの邪魔になりすぎているが、それをオフにしたくない
完全に "-scr マウス"と -scr_parms 機能しないか、混乱しすぎます。

リストされたキーシムは、数値または
ヘッダー ファイルまたは xevの(1) プログラム。 例: "-scr_keys アップ、ダウン、リターン"。 一
おそらく、アプリケーション固有のリスト(端末など)が必要ですが、
それは今のところ考えるにはあまりにも厄介です...

If リスト 「-」文字で始まるリストは除外リストとして取得されます: すべて
これらのリストを除くキーシムが考慮されます。 特別な文字列「builtin」が展開されます
スクロールを引き起こす可能性のあるキーシムの内部リストに。 ところで、デフォルトでは
修飾キー、Shift_L、Control_R などはほとんど誘導されないためスキップされます
自分でスクロール。

-scr_term リスト

さらに別の化粧品のクラッジ。 シェル/ターミナル ヒューリスティックをアプリケーションに適用する
一致するコンマ区切りのリスト (と同じ -scr_skip/-scr_inc)。 たとえば、
ターミナル シェルで Enter キーを押すと、スクロール検出時の迷惑なトランジェントが発生します
フル テキスト ウィンドウでは、ソリッド テキスト カーソル ブロックが上にスクロールされます。 だから、
短時間、画面上に XNUMX つ (またはそれ以上) のブロック カーソルがあります。 似たようなものがあります
シナリオ (出力行が重複しているなど)。

これらのトランジェントは、スクロール検出の近似によって引き起こされます (例:
スクロールを検出しますが、ブロックカーソルが直前にクリアされたという事実は検出しません
巻物)。 ほぼすべての場合、これらの一時的なエラーは、真の場合に修復されます。
X フレームバッファは、通常のポーリングによって参照されます。 しかし、それらは気を散らすので、
このオプションが提供するのは、端末の下部近くにある追加の「パディング」です
window: 下部近くの余分な数行はスクロールされず、更新されます
実際の X フレームバッファから。 これにより、通常、迷惑なアーティファクトが減少します。 使用
無効にする場合は「なし」。 デフォルト: 「用語」

-scr_keyrepeat ローハイ

キーを押したままにする (またはすばやく繰り返す) と、
一連のスクロール (矢印キーを押したままにするなど) 「scrollcopyrect」の検出
オーバーヘッドが追いつかない可能性があります。 XNUMX回のスクロールの目安は
実行され、その見積もりが XNUMX 秒あたりのキーの持続可能なスクロール レートを予測する場合
"lo" と "hi" の間で繰り返されたキーは破棄され、
スクロールレート。 たとえば、キーの自動繰り返しは 25 キー/秒かもしれませんが、大きな
ウィンドウまたは低速リンクでは、8 秒あたり 2 スクロールしか持続できず、その後約 XNUMX アウト
この期間中、繰り返される 3 つのキーごとに破棄されます。 デフォルト: 「4-20」

-scr_parms string

scrollcopyrect モードのさまざまなパラメーターを設定します。 フォーマットはそれに似ています
for -ワイヤーフレーム 多くのパラメータが詰め込まれています:

Format: T+B+L+R,t1+t2+t3,s1+s2+s3+s4+s5 Default:
0+64+32+32,0.02+0.10+0.9,0.03+0.06+0.5+0.1+5.0

コンマの間に何も残さない場合: ",," デフォルト値が使用されます。 そうしないと
十分な数のコンマを指定すると、末尾のパラメーターがデフォルトに設定されます。

「T+B+L+R」は、ポインターがピクセル単位でどれだけ接近する必要があるかを表す XNUMX つの整数を示します。
ウィンドウの上端、下端、左端、または右端から
スクロールコピー。 もしも -ワイヤーフレーム オーバーラップが優先されます。 これは高速化です
scrollcopyrect の監視対象からウィンドウをすばやく除外します。すべてを次のように設定します。
スピードアップを試行しない場合はゼロ (テキストの選択などは遅くなる可能性があります)。

"t1+t2+t3" に適用される XNUMX つの浮動小数点時間を秒単位で指定します。
*キーストローク*入力による scrollcopyrect の検出: t1 は、キー入力後に待機する時間です。
は最初のスクロールで押され、t2 はキーストロークを追跡し続ける時間です。
スクロールしてさらにスクロールします。 t3 は周囲の更新を試みる頻度です
スクロール領域外のスクロールバー (無効にする場合は 0.0)

"s1+s2+s3+s4+s5" は、秒単位で XNUMX つの浮動小数点時間を指定します。
*Mouse* 入力による scrollcopyrect の検出: s1 は、マウスの後に待機する時間です。
ボタンは最初のスクロールのために押され、s2 は待機し続ける時間です。
最初のマウス スクロールが検出された後の追加のスクロール。 s3は頻度です
スクロール領域の外側の周囲のスクロールバーを更新しようとします (0.0 から
無効にします)。 s4 は、ポインターの動きをバッファリングする時間です (より少なく、より大きくしようとするため)
マウススクロール)。 s5 は、スクロール ウィンドウの更新だけに費やす最大時間です。
画面の残りの部分を更新せずに。

-修正スクリーン string

の設定に基づいて定期的に画面を「修復」します。 string. うまくいけば、あなたはそうしないでしょう
このオプションが必要な場合は、 -scrollcopyrect or
-wirecopyrect 機能により塗装エラーが多すぎますが、あらゆる用途に使用できます
シナリオ。 このオプションは、コストのかかる操作を定期的に実行するため、インタラクティブです。
オン時はレスポンスが低下する場合があります。 3 つの Alt_L (左の「Alt」キー) を使用できます。
連続してタップする (以下で説明されているように) -scrollcopyrect) 代わりに、手動で
必要に応じて画面を再描画します。

string 次の XNUMX つ以上のカンマ区切りのリストです: "V=t"、"C=t"、
「X=t」、「8=t」。 これらの "t" は秒単位の時間を表します (浮動小数点数です)。
リソースの浪費を避けるために、通常は 2 より大きい値を使用する必要があります)。 Ⅴ
画面全体が視聴者に送信される頻度を設定します (これは 3
Alt_L の)。 C は、CopyRect が全画面を再描画するのを待つ時間を設定します。 バツ
X サーバーから完全な X11 フレームバッファを再読み取りしてプッシュする頻度を設定します
接続している視聴者に送信します。 X を使用することはめったにありません。使用する場合はバグを報告してください
あなたがそれを必要とします。 8= にのみ適用 -8から24 モード: 非モードの頻度を設定します。
画面のデフォルトの表示領域 (8bpp ウィンドウなど) が更新されます。 例:
-修正スクリーン V = 10 -修正スクリーン C = 10

-debug_scroll

スクロール ヒューリスティックのデバッグ情報の出力をオンにします。 "-ds"はエイリアスです。
より多くの出力を得るには、複数回指定します。

-noxrecord

RECORD 拡張機能の使用を無効にします。 これは現在、
-scrollcopyrect スキームと X サーバーのグラブを監視します。

-grab_buster、 -nograb_buster

RECORD 拡張機能を使用すると、XGrabServer に小さなウィンドウが残る場合があります
デッドロック。 これは、サーバー全体を取得するアプリケーションがマウスまたは
グラブを放す前にキーボード入力。 通常、それはウィンドウマネージャーです
これ。 x11vnc は問題を回避するように注意しますが、問題が発生すると x11vnc がフリーズします。
無し -grab_buster、 唯一の解決策は、物理的なディスプレイに行ってそれを与えることです
つかむアプリを満たすための入力。 または手動でウィンドウを強制終了して再起動します
可能であればマネージャー。 と -grab_buster、 x11vnc はヘルパー スレッドを fork します
x11vnc が一定時間 (20 ~ 30 秒) 後にグラブでスタックしているように見える場合は、
ボタンのクリック、エスケープ、マウスの動きなど、いくつかのユーザー入力を挿入して、
グラブを壊します。 グラブのデッドロックが頻繁に発生する場合は、バグを報告してください。

-debug_grabs

の XGrabServer() デッドロックに関するデバッグ情報の出力をオンにします。
-scrollcopyrect__mode_。

-debug_sel

PRIMARY、CLIPBOARD、および CUTBUFFER0 に関するデバッグ情報の出力をオンにします。
選択。

-pointer_mode n

さまざまなポインター モーション更新スキーム。 "-午後" はエイリアスです。問題はポインタです
動きによって画面が急激に変化することがあります。
大きなウィンドウを不透明にドラッグします。 x11vnc の画面ポーリングと vnc のどちらも
圧縮ルーチンも、vncviewer への帯域幅も、これらの高速性に追いつくことができません。
画面の変化: ドラッグまたはスクロールすると、すべてが動きがとれなくなります。 だからスキーム
画面を再ポーリングする前に、そのポインター入力の多くを「食べる」ために使用する必要があり、
フレームバッファの更新を送信します。 モード番号 n 0 ~ 4 のいずれかを選択します。
以下に説明するスキーム。

なお、 -ワイヤーフレーム-scrollcopyrect__mode_s 補数 -pointer_mode by
特定の期間の「急速な画面変更」を検出 (および改善) します。

n=0: と同じ -ノードラッグ。 (マウスが
ボタンを押します。)

n=1: 2004 年 XNUMX 月頃に使用された元のスキームでした: 基本的にスキップするだけです
-input_skip 画面を再ポーリングする前のキーボードまたはポインター イベント。

n=2 は改良されたスキームです: 入力イベントの現在のレートを監視することで、
続行する前に、追加のポインター イベントを「食べる」ことを試みる必要があるかどうかを検出します。

n=3 は基本的に動的 -ノードラッグ モード: マウスの動きがいつ検出されるかを検出します。
一時停止し、表示を更新します。

n=4 は、ネットワーク レートと遅延、ビデオ カードの読み取りレート、および
画面上で変更されたタイルの数。 このことから、積極的にトライ
十分なリソースがあると判断したときに画面の「フレーム」をプッシュします。 いいえ
終了した。

デフォルトの n は 2 です。モード 2、3、4 はスキップすることに注意してください。 -input_skip キーボードイベント
(ただし、ポインター イベントはカウントされません)。 また、これらのモードはそうではないことに注意してください。
で利用可能 -スレッド 独自のポインター イベント処理メカニズムを持つモード。

さまざまなポインター モードを試して、どのモードが最適な応答を与えるかを確認するには
あなたの使い方、たとえばリモコン機能を使うと便利です
「x11vnc -R pm:4" または tcl/tk gui (チューニング -> pointer_mode -> n)。

-input_skip n

スレッド化されていない場合のポインター処理: n ユーザー入力イベントの読み取りを試行する前に
スキャン表示。 n < 0 は、常にユーザー入力があるかのように動作することを意味します。
デフォルト:10

-alinput

続行する前に、x11vnc にすべての利用可能なクライアント入力を読み取らせて処理させます。

-input_eagerly

そして -alinput ただし、組み込みの handleEventsEagerly メカニズムを使用します。
LibVNC サーバー。

-速度 rd、bw、lat

x11vnc は、スケジューリングを最適化するために使用されるいくつかの速度パラメーターを推定しようとします。
(例えば -pointer_mode 4, -ワイヤーフレーム、 -scrollcopyrect) と他のこと。 使用
-速度 これらを手動で設定するオプション。 トリプル rd、bw、lat 動画に対応
MB/秒単位のハードウェア読み取り速度、KB/秒単位のクライアントへのネットワーク帯域幅、およびネットワーク
それぞれミリ秒単位のクライアントへの遅延。 値が空白のままの場合、たとえば
"-speeds ,100,15" の場合、内部スキームを使用して空の値を推定します。

一般的な PC ビデオ カードの読み取り速度は 5 ~ 10 MB/秒です。 フレームバッファが
ビデオ ハードウェアの代わりのメイン メモリ (SunRay、shadowfb、ダミー ドライバ、Xvfb など)、
読み取り速度がはるかに速くなる可能性があります。 「x11perf」 -getimage500" を下げるために使用できます。
バインドされています (ピクセルあたりのバイト数を考慮することを忘れないでください)。 見積もりはあなた次第
ネットワーク帯域幅とクライアントへの遅延。 レイテンシーについては、 ping(1) コマンドカン
利用される。

便宜上、いくつかのエイリアスが提供されています。-速度 モデム"。エイリアス
6,4,200 の場合は「モデム」。 6,100,50 の場合は「DSL」。 6,5000,1の場合は「lan」

-wmdt string

一部の機能については、たとえば -ワイヤーフレーム-scrollcopyrect、 x11vnc は回避する必要があります
特定のウィンドウ マネージャーまたはデスクトップ (現在は kde および xfce) の問題。 に
デフォルトではどれを推測しようとしますが、間違って推測する可能性があります。 このオプションを使用します
どの wm/dt かを示します。 string 「gnome」、「kde」、「cde」、「xfce」、または「root」のいずれかです。
(クラシック X wm)。 それ以外は「ルート」として解釈されます。

-debug_pointer

ポインター イベントごとにデバッグ出力を出力します。

-デバッグ_キーボード

キーボード イベントごとにデバッグ出力を出力します。

と同じ -dp-dk、 それぞれ。 より多くの出力を得るには、複数回使用してください。

-延期する 時間

接続されたクライアントへの更新の送信を遅らせる時間 (ミリ秒) (deferUpdateTime)
デフォルト:20

-待つ 時間

画面ポーリング間で一時停止する時間 (ミリ秒)。 負荷を軽減するために使用します。 デフォルト: 20

-extra_fbur n

追加の FrameBufferUpdateRequests チェックを実行して、
クライアントの要求。 これが行うことは、クライアントソケットの追加のポーリングを実行することです
重要な時間 ('-defer' および '-wait' 呼び出しの前。) デフォルトは n=1 です。 に設定
より多くのチェックを挿入するか、n=0 に設定して無効にします。 これらの欠点
余分な呼び出しは、必要以上に多くのマウス入力が処理される可能性があることです。

-wait_ui 要因

カットする係数 -待つ 最近のユーザー入力があった場合の時間 (ポインター
またはキーボード)。 応答性は向上しますが、移動するたびに負荷が増加します
マウスまたはタイピング。 デフォルト: 2.00

-setdefer n

-wait_ui メカニズムは待機時間ミリ秒を削減し、延期時間を
同じミリ秒値。 n=1 で有効、0 で無効、-1 で defer を 0 (遅延なし) に設定します。
同様に、2 と -2 は、「urgent_update」モードを使用してプッシュする必要があることを示します。
さらに早く更新します。 デフォルト: 1

-nowait_bog

画面のポーリングが「行き詰まり」、さらにスリープ状態になっているかどうかを検出しないでください。 いくつかの
ユーザー入力のないアクティビティは、物事を大幅に遅くする可能性があります: 大きな端末を検討してください
テキスト出力を継続的にストリーミングする長いビルドが実行されているウィンドウ。 に
デフォルトの x11vnc はこれを検出しようとします (それぞれが
ユーザー入力なしで 0.25 秒)、最大 1.5 秒スリープして、物事が「追いつく」ようにします。
このオプションを使用して、その検出を無効にします。

-slow_fb 時間

すべての画面ポーリングを遅らせる秒単位の浮動小数点時間。 特別な目的のために
低いフレーム レートが許容され、望ましい使用法ですが、ユーザー
入力は通常の速度で処理されるため、使用できません -待って。

-xリフレッシュ 時間

同等の処理を実行する頻度を示す秒単位の浮動小数点時間
xリフレッシュ(1) すべてのウィンドウを強制します (表示可能な領域で -id、 -シド、 or -クリップ is
使用) 自分自身を再描画します。 これは、アプリケーションが正しく動作しない場合にのみ使用してください。
自分自身を適切に再描画します。 こちらもご覧ください -ノックスダメージ。

-昼寝、 -ノナップ

アクティビティを監視し、アクティビティが少ない場合は、スクリーン ポーリング間の仮眠を長く取り、実際に
アイドル時の負荷を軽減。 デフォルト: 昼寝をする

-sb 時間

アクティビティ (画面が空白など) がなくなってから実際に速度が低下するまでの時間 (秒)
スクリーン ポール (つまり、約 1.5 秒間スリープ)。 無効にするには 0 を使用します。 デフォルト: 60 セット
環境。 変数。 X11VNC_SB_FACTOR を使用してスケーリングします。

-読み取りタイムアウト n

LibVNCServer rfbMaxClientWait を n 秒に設定します。 時間がかかる低速リンクの場合
最初の画面を描画するには、LibVNCServer がタイムアウトになり、接続が切断される場合があります。
デフォルト:20秒。

-ping n

n 秒ごとにすべてのクライアントに 1x1 フレームバッファの更新を送信します (たとえば、
ネットワーク接続が有効)

-nofbpm、 -fbpm

システムが FBPM (Frame Buffer Power Management) 拡張をサポートしている場合 (つまり、
一部の Sun システム)、ビデオ ハードウェアが省電力状態にならないようにします。
VNC クライアントが接続されている場合。

FBPM 対応のビデオ ハードウェアは、ワークステーションがアイドル状態のとき、ローになることでエネルギーを節約します。
電源状態 (モニターの DPMS に似ています)。 これにより、x11vnc のポーリングが妨げられます。
フレームバッファデータの。

"-nofbpm" は、VNC クライアントが接続されるたびに FBPM の低電力状態を防止することを意味します。
その間 "-fbpm" は、FBPM の状態をまったく監視しないことを意味します。 xset(1)マンページ
詳細については。 -nofbpm 基本的には「xset fbpm force on」を実行するのと同じです
定期的に。 デフォルト: -fbpm

-nodpms、 -dpms

システムが DPMS (Display Power Management Signaling) 拡張機能をサポートしている場合、
次に、VNC クライアントがダウンしているときに、モニターが低電力状態にならないようにします。
接続されています。

DPMS 削減電力モニター状態は良いことであり、通常は電力が必要です
down が行われます (通常、x11vnc はこの中でディスプレイをエクスポートするのに問題はありません
州)。 あなたはおそらく "-nodpms" 問題を回避するには
DPMS の低電力状態で起動するスクリーン セーバー。 既知の問題があります
ユーザー入力のたびにスクリーンセーバーが起動し続ける KDE の kdesktop_lock
XNUMX、XNUMX 秒停止します。 "を指定-nodpms」はそれを回避します。

"-nodpms" は、VNC クライアントが接続されるたびに DPMS の低電力状態を防止することを意味します。
その間 "-dpms" は、DPMS の状態をまったく監視しないことを意味します。 xset(1)マンページ
詳細については。 -nodpms 基本的に「xset dpms force on」を実行するのと同じです
定期的に。 デフォルト: -dpms

-forcedpms

システムが DPMS (Display Power Management Signaling) 拡張機能をサポートしている場合、
次に、モニターの電源をオフの状態に保ちます。 これはノイジーを防ぐためです
物理的なディスプレイにいる人々が、画面に表示されているものを見ることができなくなります。 必ず施錠してください
切断前の画面。

この方法は防弾にはほど遠いです。たとえば、誰かが非 DPMS を取り付けたとします。
x11vnc の復元前に時間のギャップができるように、マシンを監視またはロードします。
電源オフ状態? 多くのマシンで、キーボードとマウスであふれさせると
DPMS オフ状態になる前に、画面に表示されているものの点滅を見ることができます。
再確立されました。 これが安全に機能するには、X でのサポートが必要です。
サーバーは、DPMS で近似ではなく正確にこれを行います。

-clientdpms

As -forcedpms ただし、VNC クライアントが接続されている場合のみ。

-noserverdpms

UltraVNC ServerInput 拡張機能がサポートされています。 これにより、VNC ビューアは
サーバー (x11vnc) がキーボードを無効にしようとするボタンをクリックし、
物理ディスプレイでのマウス入力を停止し、モニターを dpms の電源オフ状態にします。
このオプションを使用して、モニターの電源オフをスキップします。

-ノートラエクスト

次の UltraVNC 拡張機能を無効にします: SingleWindow および ServerInput。 の
LibVNCServer によって管理される他のもの (textchat、1/n スケーリング、rfbEncodingUltra) はそうではありません。

-チャットウィンドウ

x11vnc がポーリングしている X11 ディスプレイに、ローカルの UltraVNC チャット ウィンドウを配置します。 それか
VNC ビューア側の人が物理 X11 の人とチャットできる方法
コンソール。 (例: 電話のないヘルプデスク)

これが機能するには、SSVNC パッケージ (バージョン 1.0.21 以降) がインストールされている必要があります。
x11vnc が実行されるシステムと、'ssvnc' コマンドが $PATH で使用可能である必要があります。
ssvncviewer は、チャット ウィンドウ ヘルパーとして使用されます。 見る
http://www.karlrunge.com/x11vnc/ssvnc.html

このオプションは、'-rfbversion 3.6' を意味し、UltraVNC ビューアを騙します。
彼らはチャットが利用できないと想定しています。 別の rfbversion を指定するには、
後に -チャットウィンドウ コマンドラインのオプション。

リモコンの 'chaton' および 'chatoff' アクションも参照してください。 これらも設定可能
tkx11vnc GUI から。

-ノックスダメージ

X DAMAGE 拡張機能を使用してフレームバッファの変更を検出しないでください。
利用可能。 使用する -xダメージ デフォルトでオフにする場合。

x11vnc の DAMAGE 拡張機能の使用: 1) 負荷が大幅に軽減されます。
画面はあまり変化せず、2) 変更された領域を検出します (デフォルトでは小さい領域)。
より迅速に。

現在、DAMAGE 拡張機能は過度に保守的であり、多くの場合、広い領域が報告されます
(例: 端末全体またはブラウザ ウィンドウ全体)
領域ははるかに小さくなります (場合によっては、ほんの数ピクセル)。 したがって、ヒューリスティックは
大きな領域をスキップし、ダメージの長方形を「ヒント」としてのみ使用するために導入されました
従来のスキャンライン ポーリング。 以下のチューニングパラメータが導入されました
この動作を調整するには:

-xd_エリア A

最大の DAMAGE 長方形領域を設定します A (ピクセル単位: 幅 * 高さ) として信頼する
本当に破損しています:長方形はフレームバッファからコピーされます(遅い)
何。 *all* の四角形を信頼するにはゼロに設定します。 デフォルト: 20000

-xd_mem f

DAMAGE 長方形を「記憶」する時間を設定します。 f は浮動小数点数です
単位はスキャンラインの繰り返しサイクル時間 (32 回の繰り返し) です。 デフォルト
(1.0) では塗装に問題はありません。 問題がある場合は増やしてください。
エッジで動作するように値を下げます (低速のマシンで役立つ可能性があります)。

-シグパイプ string

壊れたパイプ (SIGPIPE) の処理。 string 「無視」または「終了」することができます。 「無視」について
LibVNCServer はクライアントの突然の損失を処理し、「終了」のために続行します
x11vnc は、最初の切断された接続でクリーンアップして終了します。

LibVNCServer は現在正しいことを行っているため、このオプションは実際には必要ありません。
かなり長い間。 ただし、便宜上、他のものを無視するために使用できます
信号、例えば "-シグパイプ 無視:HUP、INT、TERM「それが一部の人にとって役立つ場合に備えて
一種のアプリケーション。 リストに「exit:...」を追加して、x11vnc のクリーンアップを行うこともできます。
リストされたシグナルで。 "-シグ" は、このオプションが気に入らない場合のエイリアスです。
'パイプ'。 例: -シグ 無視:INT,TERM,exit:USR1

-スレッド、 -スレッドなし

スレッド化された LibVNCServer アルゴリズム [rfbRunEventLoop] を使用するかどうか。
libpthread が利用可能です。 このモードでは、新しいスレッド (XNUMX つは入力用、もう XNUMX つは入力用)
output) は、新しいクライアントごとに処理するために作成されます。 デフォルト: -スレッドなし。

バージョン 0.9.8 では、スレッドの安定性が大幅に向上しています。

スレッド モードの複数のクライアントは、すべての ZRLE エンコーディングに対して安定している必要があります。
プラットフォーム。 Tight および Zlib エンコーディングは、現在 Linux でのみ安定しています。
複数のクライアント。 でコンパイル -DTLS=__スレッド お使いの OS とコンパイラとリンカーの場合
それをサポートします。

サイズ変更 (randr など) の場合は、この環境を設定します。 変数。 ミリ秒数
sleep: do_new_fb() アクションのさまざまな場所での X11VNC_THREADS_NEW_FB_SLEEP。
これは、さまざまな活動を落ち着かせるためです。 デフォルトは約 500ms です。

スレッド モードで複数のクライアントを使用すると、「教室」のパフォーマンスが向上する可能性があります
放送の使用; にも -アプリシェア 放送モード。 も参照してください。 -反射
オプションを選択します。

-fs f

投票で変更されたタイルの割合が f より大きい場合、画面全体は
更新しました。 デフォルト: 0.75

-ギャップ n

n 以下のタイルの行または列のギャップを埋めるヒューリスティック。 テキストを改善するために使用
ページング。 デフォルト: 4

-育つ n

近くのタイルをチェックすることで、変更されたタイルの島を n 以上大きくするヒューリスティック。
境界。 デフォルト: 3

-ファズ n

タイルのエッジを変更済みとしてマークするためのピクセル単位の許容値。 デフォルト: 2

-debug_tiles

タイル、fb 更新などのデバッグ出力を出力します。

-snapfb

X ディスプレイ フレームバッファ (fb) をポーリングして変更を確認する代わりに、定期的にコピーします。
すべての X は fb をメイン メモリに表示し、そのコピーの変更を調べます。 (これ
設定は非 X にも適用されます -rawfb モード)。 状況によっては、これは
インタラクティブな応答を改善するか、少なくとも物事がよりスムーズに見えるようにしますが、他の点では
(ほとんど!) 反応が悪くなります。 ビデオハードウェアfbがそのようなものである場合
小さなタイルは非常に遅く、このモードが役立ちます。 「フレームレート」を維持するには
画面サイズ x bpp を大きくしすぎることはできません。 このモードは非常に無駄が多いことに注意してください
メモリ I/O リソース (何も変化がない場合でも全画面コピーを作成します)。 かもしれない
ビデオ キャプチャのようなアプリケーション、Web カメラ、またはウィンドウのティアリングが問題となる場所で使用できます。
問題。

-rawfb string

X をポーリングする代わりに、で指定されたメモリ オブジェクトをポーリングします。 string.

ファイルポーリングの場合、メモリマップへ mmap(2) ファイルの使用: "map:/path/to/a/file@WxHxB",
フレームバッファの幅、高さ、ピクセルあたりのビット数。 「mmap:...」も同じです。

mmap に問題がある場合は、「file:/...」を使用して低速化します シーク(2)ベースの読書。

「snap:...」を使用して暗示する -snapfb モードと "file:" アクセス (これはシークできないためのものです
fb のみを一度に提供するデバイス。たとえば、ビデオ カメラは
フレーム全体)。

共有メモリ セグメントの場合、文字列の形式は「shm:N@WxHxB」です。
shmid N で、上記のように WxHxB を使用します。 見る シュマット(1)と ipcs(1)

タイプ「マップ」を指定しない場合、ファイルが存在すると想定されます (次を参照)。
これに対するいくつかの例外については段落を参照してください。)

文字列が「setup:cmd」の場合、コマンド「cmd」が実行され、その最初の行が
として読み取られ、使用されます。 string. これにより、デバイスの初期化が可能になり、
WxHxB など。これらは root で実行されることが多いので注意してください。

文字列が「video」で始まる場合は、以下の VIDEO4LINUX の説明を参照してください。
デバイスは、フレームバッファ パラメータを照会する (場合によっては設定する) ことができます。

文字列が「console」、「/dev/fb」、「fb」、または「vt」で始まる場合は、LINUX を参照してください。
フレームバッファデバイスが開かれている場所とキーストローク(および
おそらくマウス イベント) がコンソールに挿入されます。

文字列が「vnc」で始まる場合は、以下の VNC HOST の説明を参照してください。
フレームバッファは、別のリモート VNC サーバーのフレームバッファと見なされます。

オプションのサフィックスは「:R/G/B」と「+O」で、赤、緑、青のマスクを指定します (
hex) とメモリ オブジェクトへのオフセット。 マスクが提供されていない場合 x11vnc
bpp に基づいてそれらを推測します (色が間違っているように見える場合は、
マスク。)

もう 8 つのオプションの接尾辞は XNUMX 行あたりのバイト数で、場合によっては WxB/XNUMX ではありません。
WxHxB-BPL (例: 800x600x16-2048) として指定します。 これは通常の幅 1024 である可能性があります
16bpp fb ですが、幅 800 しか表示されません。

したがって、完全な形式は次のとおりです: mode:file@WxHxB:R/G/B+O-BPL

例:

-rawfb shm:210337933@800x600x32:ff/ff00/ff0000

-rawfb マップ:/dev/fb0@1024x768x32

-rawfb map:/tmp/Xvfb_screen0@640x480x8+3232

-rawfb ファイル:/tmp/my.pnm@250x200x24+37

-rawfb ファイル:/dev/urandom@128x128x8 -rawfb スナップ:/dev/video0@320x240x24 -24から32
-rawfb video0 -rawfb ビデオ -パイプ入力 VID -rawfb コンソール -rawfb vt2 -rawfb
vnc:何らかのホスト:0

(参照してください ipcs(1)と FBセット(1) 最初の XNUMX つの例)

一般に、すべてのユーザー入力はデフォルトで破棄されます ( -パイプ入力 のオプション
ヘルパープログラムを使用して挿入する方法)。 X11 のほとんど (画面、キーボード、マウス)
オプションは意味がなく、多くのオプションがこのモードをクラッシュさせるので、よく考えてください。
実行中のx11vncでそれらを設定または変更する前にXNUMX回。

x11vnc が rawfb モードで X DISPLAY を閉じたくない場合は、先頭に「+」を追加します。
+file:/dev/fb0... ディスプレイを開いたままにすると、デフォルトのリモコンが有効になります
役に立ちそうなチャンネル。 または、指定する場合 -noviewonly、 その後
マウスとキーボードの入力は依然として X ディスプレイに送信されます。
非常にまれです。つまり、/dev/fb0 で奇妙なことをします。

デバイスが「シーク可能」でない場合 (ウェブカメラなど)、一度にすべてを完全に読み取ってみてください。
「snap:」モードでスナップします (注: これはリソースを大量に消費します)。 ファイルを使用している場合:
またはマップ: AND デバイスを *すべての* snapfb スナップショットで再度開く必要がある場合は、
環境変数: SNAPFB_RAWFB_RESET=1 も。

x11vnc で 24bpp rawfb を 32bpp に動的に変換する場合 (これは
遅くなります)また、 -24から32 オプション。 これは、たとえば、
ピクセル データを 24bpp パックされた RGB として配信するビデオ カメラ。 これがデフォルトです
bpp が 24 の場合、「ビデオ」モードで。

通常、ピクセルあたりのビット数 B は 8、16、または 32 (まれに 24) ですが、
B < 8 のサポートもあります (たとえば、古いグラフィックスは 4 bpp または 1 bpp を表示します)。 この中で
この場合、WxHxB:R/G/B のマスクも必ず指定する必要があります。 ピクセルは
深さ 8 のトゥルーカラーを使用して 8 bpp にパディングされます。 スキームは現在機能していません
snap fb を使用 (興味がある場合はお問い合わせください。) B=1 モノクロの例:
file:/dev/urandom@128x128x1:1/1/1 このような他のいくつかは 128x128x2:3/3/3 です
128x128x4:7/7/7

B < 8 フレームバッファの場合、env を設定することもできます。 var RAWFB_CGA=1 で CGA を試す
B=4 のマッピング (例: linux vga16fb ドライバー) bpp や解像度が低いことに注意してください。
Linux コンソールの VGA および VGA16 モードを x11vnc 経由でエクスポートしようとする試み
特殊なカラー パレット、ピクセル パッキング、さらにはビデオによって妨げられることがよくあります。
ペイントのバッファリング。 OTOH、しばしば RGB マスクを試してみると、
認識できるもの。

VIDEO4LINUX: Linux では、ビデオ デバイス (Web カメラまたは TV) を処理しようとします。
チューナー)自動的に。 アイデアは、デバイスから WxHxB が抽出されることです
自体。 したがって、"@WxHxB... パラメーターを指定しない場合、x11vnc は次のことを試みます。
それらを決定します。 そのサポートがコンパイルされている場合、最初に v4l API を試行します。
それ以外の場合は、v4l- info(1) 利用可能な場合は外部プログラム。

最も簡単な例は「-rawfb ビデオ" および "-rawfb video1" は、デバイスを意味します
ファイル /dev/video および /dev/video1 にそれぞれ。 また、 / dev あなたの場合
のように、例えば "-rawfb / dev / video0"

通常、ビデオ キャプチャ デバイスのフレームバッファは継続的に変化するため (例:
明るさの変動)、 -待って、 -slow_fb、 or -延期する
「フレームレート」を下げてネットワーク VNC トラフィックを削減するオプション。

より洗練されたビデオ デバイス スキームにより、デバイスの設定を初期化できます
を使用して:

-rawfb ビデオ:

プレフィックスは、上記のように、デバイス ファイルを指定する "video1:" のようにすることもできます。 の
これが機能するには、v4l API が利用可能である必要があります。 それ以外の場合は、次のことを試みる必要があります。
xawtv、spcaview などの外部プログラムでデバイスを初期化します。
x11vnc は、デバイスを再度開いたときに持続します。

key=value ペアのコンマ区切りリストです。 デバイスの明るさ、
色、コントラスト、色相はパーセンテージで設定できます (例: br=80,co=50,cn=44,hu=60)。

必要に応じてデバイス ファイル名も設定できます (「video」で始まらない場合)。
例 fn=/dev/qcam.

フレームバッファの幅、高さ、および bpp は、次のように設定できます。
w=160、h=120、bpp=16。

上記の bpp に関連して、ピクセル形式は fmt=XXX を介して設定できます。ここで、XXX は
GREY、HI240、RGB555、RGB565、RGB24、および RGB32 (bpp 8、8、16、
それぞれ 16、24、および 32)。 見る http://www.linuxtv.org 詳細については (V4L API)。

TV/rf チューナー カードの場合、tun=XXX を使用してチューニング モードを設定できます。ここで、XXX は XNUMX つです。
PAL、NTSC、SECAM、または AUTO のいずれかです。

inp=XXX 設定で入力チャンネルを切り替えることができます。ここで、XXX はチャンネルの名前です。
入力チャンネル (テレビ、コンポジット 1、S ビデオなど)。 にある名前を使用する
起動時に出力されるデバイスに関する情報。

チューナーを備えた入力チャンネル (テレビなど) の場合、受信するステーションを変更できます。
sta=XXX 設定で選択されます。 XXXは駅番号です。 現在、
ntsc-cable-us (US ケーブル) チャネルは x11vnc に組み込まれています。 を参照してください -freqtab オプション
xawtv から 500 つを提供します。 XXX が XNUMX より大きい場合、解釈されます。
KHzの生の周波数として。

例:

-rawfb video:br=80,w=320,h=240,fmt=RGB32,tun=NTSC,sta=47

カードが
その中でデフォルトでは出てきません。

すべてのビデオ キャプチャ デバイスが上記のすべての設定をサポートしているわけではないことに注意してください。

ジョブの設定方法については、 -パイプ入力 を介して設定を制御する方法については、以下の VID オプション
キーストロークによる VNC ビューアー。 ショートカットとして、文字列が "Video.." で始まる場合は代わりに
「ビデオ..」の -パイプ入力 VID が暗示されます。

上記のように、「@WxHxB...」を指定すると、 使用される文字列
verbatim: デバイスは現在の値を照会されません。 それ以外の場合、デバイス
質問されます。

LINUX CONSOLE: 以下は、いくつかの表示方法と対話方法について説明しています。
Linux テキスト/グラフィック コンソール (つまり、X11 XFree86/Xorg ではない)

注: LibVNCServer LinuxVNC プログラムがシステムにある場合は、
次の方法の代わりに、より高速で正確になるため、
Linux テキスト コンソール用で、マウス サポートが含まれています。 ただし、
「console」を「vt」に置き換えた場合、x11vnc の基本的な LinuxVNC 機能
以下の例。

rawfb 文字列が「console」で始まる場合、フレームバッファ デバイス /dev/fb0 が開かれます
/dev/tty0 も開いています。 後者はキーストロークを挿入するために使用されます (すべてが
サポートされていますが、基本的なものはサポートされています)。 キーストロークを挿入するには root になる必要があります。
ただし、必ずしも /dev/fb0 を開く必要はありません。 /dev/tty0 は、アクティブな VT を参照します。
たとえば、/dev/tty2 の場合は「console2」などを使用して明示的に指定します。
特定の VT 番号。

Linux フレームバッファ デバイス /dev/fb0 (fb1 など) を有効にするには、
適切なカーネル ドライバーをロードする必要があります。 例: vesafb または vga16fb および
ブート パラメータ vga=0x301 (または 0x314、0x317 など) の設定 (vga=... メソッド
好ましい方法です。 マシンをそのように設定してください)。
「そのようなデバイスはありません」エラー。 に固有の Linux フレームバッファ ドライバをロードすることもできます。
より多くの機能を得るには、お使いのビデオ カードの種類を選択してください。 マシンが起動したら、次のことができます
多くの場合、fb ドライバーをルートとして「modprobe」して、フレームバッファー デバイスを取得します。

Linux で /dev/fb0 を動作させることができない場合は、LinuxVNC エミュレーション モードを使用してみてください。
沿って "-rawfb vtN" ここで、N = 1、... 6 は Linux 仮想端末 (別名仮想端末) です。
console) 表示したい、例えば "-rawfb vt2". /dev/fb モードとは異なり、その必要はありません。
アクティブな仮想端末。 このモードではテキストのみを表示でき、表示できないことに注意してください。
グラフィック。 x11vnc は /dev/vcsaN のテキストをポーリングします

環境を設定します。 変数。 RAWFB_VCSA_BW=1 は、「vtN」モードで色を無効にします (つまり、黒)
および白のみ。) デフォルトの 16bpp を好まない場合は、RAWFB_VCSA_BPP を 8 または
32. 「console_guess」文字列を使用して rawfb パラメーターを微調整する必要がある場合
起動時に表示されるので、必ず snap: メソッドを指定してください。

uinput: Linux のバージョンが 2.6 以降で、「uinput」モジュールが
存在するように見える場合 (modprobe uinput)、uinput メソッドが使用されます
/dev/ttyN の代わりに。 uinput では、キーストロークとマウス入力の両方を挿入できます
そのため、グラフィカル (QT 組み込みなど) の Linux コンソール アプリにアクセスする場合に優先されます。
また、より正確なキーストロークの挿入も提供します。 見る -パイプ入力 以下のUINPUT
このモードの詳細については、; あなたは使用する必要があります -パイプ入力 あなたがしたい場合は
UINPUT パラメータを微調整します。 また、 -ノードラッグ
-カーソル オプションなし。 「console0」などを使用するか、 -パイプ入力 強制するコンソール
/dev/ttyN メソッド。

を使用してリモートで Linux VT を変更できることに注意してください。 チャット(1) 作るコマンド
あなたはアクティブになりたいです(例:「chvt 3」)。 時々切り替えて戻る
フレームバッファのグラフィック状態を修正します。 のために "-rawfb vtN"モードはありません
VT を切り替える必要があります。

入力注入を完全にスキップするには、「consolex」または「vtx」を使用します。

「console」の代わりに文字列「/dev/fb0」(1 など) を使用できます。 これは使える
/dev/fb1 など、別のフレームバッファ デバイスを指定します。 ショートカットとして、
"/ dev /" は削除できます。名前が標準的でないものである場合は、
「コンソール:/dev/foofb」

x11vnc にフレームバッファの WxHxB とマスクを自動的に推測させたくない場合
(カーネルが誤った情報を提供する場合があります) @WxHxB (および
オプションの :R/G/B マスク) を文字列の最後に追加します。

例: -rawfb コンソール -rawfb /dev/fb0 (同上) -rawfb コンソール3
(強制/dev/tty3) -rawfb consolex (キーストロークやマウスなし) -rawfb
コンソール:/dev/nonstd -rawfb コンソール -パイプ入力 UINPUT:accel=4.0 -rawfb vt3
(/dev/tty3、/dev/fb0なし)

VNC ホスト: -rawfb 文字列は「vnc:host:N」の形式で、VNC ディスプレイは「N」です。
「ホスト」が接続されているリモート VNC サーバー上 (つまり、x11vnc は VNC クライアントとして機能します)
そのフレームバッファがエクスポートされます。 これはオプション "-反射
ホスト:N".

このモードは、実際には、パフォーマンスを向上させようとしている場合にのみ役立ちます。
多くの (例: >10) 同時 VNC ビューアの場合、分割統治を試みます。
帯域幅を削減し、応答性を向上させるスキーム。 しかし、別のユーザーが見つけた
このモードは、低速リンクを介してデモ表示をエクスポートするのに役立ちます: その後、複数のデモ
リンクの高速側で反射する x11vnc に接続している視聴者など
低速リンクを通過するすべてのデモ ビューアーを回避しました。 他のユーザーが持っている
このモードは、x11vnc の多くの
SSL暗号化、シングルなど、他のVNCサーバーにはない機能
ポート http と https、UNIX のユーザー名とパスワード、および -許可する、 -zeroconf、 -クリップ、
-規模 オプションなど。

教室のブロードキャストの例では、64 人の同時 VNC ビューアーがある場合
これにより、サーバーホストとの間で多くの冗長な VNC トラフィックが発生する可能性があります:N,
余分な CPU 使用率、およびすべての視聴者の応答を待機することで減らすことができます
完了するのが最も遅いクライアントに書き込みます。 ただし、8 を設定すると、
オプションで開始されたリフレクター/リピーター -rawfb vnc:host:N の場合、8 つしかない
ホストへの接続:N. その後、各リピーターは 8 つの vnc ビューアー接続を処理します。
負荷を分散させます。 教室での放送用途では、リピーターを入れてみてください
異なるスイッチで。 このモードは -反射 ホスト:N. 「ホスト:N」を置き換えます
逆接続の場合は「listen」または「listen:port」で。 「listennofork:port」を使用して
LibVNCServer 非分岐クライアント リッスン インターフェイスを使用します (LibVNCServer に
X11VNC_REFLECT_NO_FORK=1 を設定するのと同じです。

全体的なパフォーマンスは、単一の直接接続ほど良くはありません。
特に、追加レベルのフレームバッファ ポーリングとポインタがあります。
モーションは、伝播しなければならない XNUMX 秒あたりの多くの変更を引き起こす可能性があります。 ヒント:もし
リモート VNC は、ワイヤーフレームを実行する x11vnc、またはワイヤーフレームを実行する X ディスプレイです。
不透明なウィンドウのドラッグよりもはるかに優れた応答が得られます。 考えます
-ノードラッグ 問題が深刻な場合のオプション。

環境。 変数。 X11VNC_REFLECT_PASSWORD は、ログインに必要なパスワードに設定できます
vnc ホスト サーバー、または "file:path_to_file" を含むファイルを示す
password を最初の行として指定します。

x11vnc が VNC CLIENT として要求するピクセル形式を設定するには、env を設定します。 変数:
X11VNC_REFLECT_bitsPerSample X11VNC_REFLECT_samplesPerPixel、および
X11VNC_REFLECT_bytesPerPixel; デフォルトは 8、3、4 です。2、3、1 は低い
カラーモード。 詳細については、libvncclient の関数 rfbGetClient() を参照してください。

VNC HOST モードは、 -共有。   -非共有 後続のコマンドラインオプションとして
共有を無効にします。

-freqtab file

"で使用するため-rawfb ビデオ放送局の周波数を指定する TV チューナー デバイスの場合。
ステーション番号から周波数への組み込みの ntsc-cable-us マッピングを使用する代わりに、
ファイル内のデータを使用します。 SE20 などの数値でないステーションの場合は、
番号が最も大きいステーションの上に、見つかった順に配置されます。 例:
"-freqtab /usr/X11R6/share/xawtv/europe-west.list" で独自の freqtab を作成できます
xawtv 形式をコピーします。

-パイプ入力 CMD

このオプションを使用すると、外部コマンドを CMD その x11vnc はすべてをパイプします
ユーザー入力イベントを単純な形式で。 の -パイプ入力 デフォルトのモード x11vnc
ユーザー入力イベントは処理されません。 接頭辞を付ける場合 CMD 「ティー:」で
それらをパイプコマンドに送信して処理します。 の説明については、
format run "-pipinput tee:/ bin / cat"。別の接頭辞は「再開」を意味します。
パイプが存在する場合は、パイプを再度開きます。 複数のプレフィックスはコンマで区切ります。

と組み合わせて -rawfb 面白いことができるかもしれません (例: コントロール)
非 X デバイス)。 これを容易にするために、 -rawfb が有効である場合、値は
パイプコマンドが必要に応じて使用するために、X11VNC_RAWFB_STR に格納されます。 'env | を実行します。 grep
X11VNC' を参照してください。

組み込みのパイプ入力モード (外部プログラムは不要):

cmd が「VID」で、 -rawfb ビデオ キャプチャ デバイスの場合は、
キーボード マッピングの内部リストは、ビデオのパラメータを設定するために使用されます。 の
マッピングは次のとおりです。

「B」と「b」は明るさを上下に調整します。 「H」と「h」で色合いを調整します。 "C"
そして「c」は色を調整します。 「N」と「n」はコントラストを調整します。 「S」と「s」で調整
キャプチャ画面のサイズ。 "I" と "i" は、入力チャンネルを循環します。 アップと
下矢印は、ステーションを調整します (チューナーの場合) F1、F2、...、F6 はビデオを切り替えます
ピクセル形式をそれぞれ HI240、RGB565、RGB24、RGB32、RGB555、および GRAY にキャプチャします。
見る -rawfb 詳しくは動画を。

cmd が "CONSOLE" または "CONSOLEn" の場合、n は Linux コンソール番号です。
/dev/ttyN へのコンソール キーストロークの挿入 (を参照) -rawfb コンソール) が実行されます。

cmd が「UINPUT」で始まる場合、Linux uinput モジュールを使用して両方を挿入します。
Linux コンソールへのキーストロークおよびマウス イベント (を参照) -rawfb その上)。 これは通常
/dev/input/uinput デバイス ファイルです (「mknod」で作成する必要がある場合があります)。
/dev/input/uinput c 10 223」を開き、「modprobe uinput」でモジュールを挿入します。

UINPUT モードは現在、US キーボードのみを処理します (スキャン コード オプションが追加される可能性があります)。
すべてのキーシムがサポートされているわけではありません。 しかし、それはおそらく
「コンソール」メソッド。

オプションを使用したい場合があります -カーソル なしと -ノードラッグ このモードでは

追加のチューニング オプションは、UINPUT:opt1,opt2,... (コンマ
区切られたリスト)。 オプションが「/」で始まる場合、それは uinput デバイスと見なされます
ファイルにソフトウェアを指定する必要があります。

どの uinput が注入されるかは、
文字「K」、「M」、および「B」( -入力 オプション)、たとえば、「KM」はキーストロークを許可します
ボタンのクリックではなくモーションです。

次の形式の UINPUT オプション: accel=f または accel=fx+fy は、マウスの動きを設定します
"加速度"。 これは、生のマウスの相対的な動きをどのくらいに修正するために使用されます
アプリケーション カーソルが移動します (x11vnc は制御できません。
ウィンドウ アプリケーションは生のマウス モーションを解釈します)。 通常、
X ディスプレイの加速は 2 です (xset "m" オプションを参照)。 「f」は浮動小数点
数、例えば 3.0。 x に対して異なる補正を行う必要がある場合は、「fx+fy」を使用します。
そしてY.

注: X と qt の両方が頻繁に埋め込まれているように見えるため、デフォルトのアクセラレーションは 2.0 です。
(常にではありませんが) この値を使用します。

アクセルを正しく設定しても、マウスの位置が同期しなくなります (おそらく
加速が適用されないマウスの「しきい値」設定により、設定
xset(1) )。 オプション reset=N は、ミリ秒数 (デフォルトは 150) を設定します。
カーソルをリセットしようとしました (マウスを強制的に (0, 0) にすることで
インクリメントしてから(x、y)に1ジャンプで戻します)、この修正は
必要ですが、メニューなどでぎくしゃくしたり、予期しない動作が発生する可能性があります。reset=0 を使用してください。
無効にします。

envを設定した場合。 var X11VNC_UINPUT_THRESHOLDS の場合、thresh=n モードは次のようになります。
有効にします。 現在、うまく機能していません。 |dx|の場合<= スレッシュと |dy| < 脱穀しない
加速度が適用されます。 "thresh=+n" |dx| を使用+ |ディ| < 代わりに使用する thresh
(X11?)

例: -パイプ入力 UINPUT:accel=4.0 -カーソル なし

uinput デバイスに絶対ポインタがある場合 (通常のマウスでは
相対ポインタ) オプション "abs" を指定できます。 上のタッチパッドに注意してください。
ラップトップはある程度絶対的なデバイスです。 これは(通常)すべてを回避します
マウスの加速の問題。 x11vnc でサイズの推定に問題がある場合
デバイスでは、「abs=WxH」を使用します。 さらに、デバイスがタッチスクリーンの場合 (
絶対ポインタがある場合) "touch" または "touch=WxH" を使用します。 タッチスクリーンの場合、
マウスボタンが押されると、圧力増加が注入され、ボタンが押されると
ゼロの圧力が注入されます。

タッチが設定されている場合は、「touch_always=1」を使用してマウスが動くたびに示す
ボタンが押されていない場合でも、圧力ゼロのタッチ イベントを送信する必要があります。 また
「btn_touch=1」を使用して、BTN_TOUCH キーストロークのプレスまたはリリースを送信する必要があることを示します
圧力変化の代わりに。 "dragskip=n" を設定すると、ドラッグされた n 回のマウス タッチがスキップされます
(圧力を加えた状態で)注射する前に。 必要な圧力を示すには
タッチスクリーン デバイスのボタンがクリックされたときに送信されるようにするには、pressure=n を指定します。
例: n=5。 デフォルトは n=1 です。

タッチ スクリーン (上記の「タッチ」) が使用されていて、入力がある場合
tslib によって処理されるため、次の方法で tslib キャリブレーション ファイルを指定できます。
tslib_cal= . たとえば、tslib_cal=/etc/pointercal です。 正確または均等に取得するには
これは、tslib が使用されている場合に必要です。

Linux の uinput メカニズムをバイパスして、入力イベントを直接書き込むことができます。
代わりにデバイスに。 これを行うには、
入力クラス: direct_rel= direct_abs= direct_btn= また
direct_key= . のファイルは通常 /dev/input/event1 のようなものです
ただし、任意のデバイス ファイルまたはパイプを指定できます。 のそれぞれを指定する必要があります。
上記のクラスは、同じデバイス ファイルに対応していても (rel/abs と btn は
多くの場合同じです。) ファイルを見てください / proc / bus / input / devices 何が何であるかを理解する
とデバイスのファイル名。 注: /dev/input/mouse* デバイスは
代わりに、対応する /dev/input/event* ファイルを使用してください。 任意の入力
上記のように直接指定されていないクラスは、uinput メカニズムを介して処理されます。 に
uinput デバイスの作成を無効にする (したがって未処理の入力を破棄する)、指定する
「ノーインプット」。

例:

-パイプ入力 UINPUT:direct_abs=/dev/input/event1

これは qtmoko Neo フリーランナー (armel) で使用されました。

-パイプ入力 UINPUT:touch,tslib_cal=/etc/pointercal,
direct_abs=/dev/input/event1,nouinput,dragskip=4

(長い行がXNUMXつに分割されている場所。)

環境を設定できます。 デバッグ出力を取得するには、var X11VNC_UINPUT_DEBUG=1 以上
UINPUT モード用。

-マクノディム

ネイティブ MacOSX サーバーの場合、調光を無効にします。

-マクノスリープ

ネイティブ MacOSX サーバーの場合、ディスプレイのスリープを無効にします。

-マクノセイバー

ネイティブ MacOSX サーバーの場合は、スクリーンセーバーを無効にします。

-マクノウェイト

ネイティブ MacOSX サーバーの場合、ユーザーが元のサーバーに戻るのを待たないでください。
ディスプレイ。

-マックホイール n

ネイティブ MacOSX サーバーの場合、マウス ホイールの速度を n (デフォルトは 5) に設定します。

-マクノスワップ

ネイティブ MacOSX サーバーの場合、マウス ボタン 2 と 3 を交換しないでください。

-マクロサイズ

ネイティブの MacOSX サーバーの場合、フレームバッファが変更されていても、サイズ変更またはリセットしないでください。
画面の解像度または深度が変更されたことを検出しました。

-マチコナニム n

ネイティブ MacOSX サーバーの場合、n をウィンドウが表示されるミリ秒数に設定します。
アニメーション テイクのアイコン化/非アイコン化。 の -ncache mode この値はスキップに使用されます
できればアニメーション。 (デフォルト 400)

-マックメニュー

ネイティブ MacOSX サーバーの場合、 -ncache クライアント側キャッシュ モード、キャッシュを試行
プルダウン メニュー (アニメーション フェードなどがあるため完全ではありません)

-macuskbd

ネイティブ MacOSX サーバーの場合、元のキーストローク挿入コードを使用します。
USキーボード。

-マクノペングル

ネイティブ MacOSX サーバーの場合、画面キャプチャに OpenGL を使用せず、
元の非推奨の raw メモリ アクセス メソッド: addr = CGDisplayBaseAddress()。

-macnorawfb

ネイティブ MacOSX サーバーの場合、生メモリ アドレスの画面キャプチャ方法を無効にします。

MACOSX 注: キーボードと
マウス イベントと raw メモリ アクセス メソッドも非推奨です (ただし、
OpenGL はより高速であるため、可能であれば優先されます)。
設定により、コンパイル時に非推奨のインターフェイスを使用する
-DX11VNC_MACOSX_NO_非推奨=1 CPPFLAGSで。 または、それらを XNUMX つずつオフにするには:
-DX11VNC_MACOSX_NO_DEPRECATED_LOCALEVENTS=1、
-DX11VNC_MACOSX_NO_DEPRECATED_POSTEVENTS=1 or
-DX11VNC_MACOSX_NO_DEPRECATED_FRAMEBUFFER=1 実行時、テストおよび
回避策として、次を使用して無効にすることができます。 -env X11VNC_MACOSX_NO_非推奨=1 -env
X11VNC_MACOSX_NO_DEPRECATED_LOCALEVENTS=1 -env
X11VNC_MACOSX_NO_DEPRECATED_POSTEVENTS=1 または -env
X11VNC_MACOSX_NO_DEPRECATED_FRAMEBUFFER=1 注: これらのいずれかを
マウス入力 現在、ダブルクリックやワイヤーフレームなど、すべてが機能するわけではありません。
また、画面の解像度とピクセル深度の変更は自動的に検出されません
非推奨のフレームバッファ インターフェイスが許可されている場合を除きます。

逆に、一部の機能がない古いマシンでコンパイルしている場合
新しいインターフェイスでは、指定する必要がある場合があります
-DX11VNC_MACOSX_NO_CGEVENTCREATESCROLLWHEELEVENT
-DX11VNC_MACOSX_NO_CGEVENTCREATEMOUSEEVENT or
-DX11VNC_MACOSX_NO_CGEVENTCREATEKEYBOARDEVENT。  
-DX11VNC_MACOSX_USE_GETMAINDEVICE 非常に古い QuickDraw GetMainDevice() を取り戻す
インターフェイス (まれな...)

-gui [GUIオプション]

リモート コントロール オプションに基づいて、単純な tcl/tk GUI を起動します。 -リモート/-クエリ
以下で説明します。 「wish」プログラムをマシンにインストールする必要があります。
「gui-opts」は必須ではありません。デフォルトでは、完全な gui と x11vnc の両方が起動されます。
環境変数DISPLAYのXディスプレイにGUIが表示されます。

「gui-opts」は項目のコンマ区切りリストです。 現在、これらのタイプがあります
項目: 1) gui モード、2) gui の「シンプルさ」、3) gui がすべき X ディスプレイ
ディスプレイ、4) 「トレイ」または「アイコン」モード、および 5) GUI ジオメトリ。

1) GUI モードは、"start"、"conn"、または "wait" のいずれかです。"start" は上記のデフォルト モードです。
必須ではありません。 「conn」は x11vnc を自動的に起動しないことを意味しますが、
代わりに、既存の x11vnc プロセスに接続してみてください。 「待つ」はただ開始することを意味します
GUI と他には何もありません (後で GUI に x11vnc を開始するように指示するか、
既存のものに接続します。)

2) GUI のシンプルさはデフォルトでオフになっています (すべてのオプションを備えたパワーユーザー GUI は
より簡単なものから始めるには、文字列「simple」(「ez」) を指定します。
はこれの別名です)。 GUI が開始されたら、XNUMX つの間を切り替えることができます。
「その他 -> simple_gui」。

3) 潜在的に XNUMX つの異なる X ディスプレイに関する混乱の可能性に注意してください。
x11vnc は XNUMX つをポーリングしますが、GUI を別のものに表示したい場合があります。 たとえば、
ssh に接続し、x11vnc がまだ実行されていない場合は、GUI が戻ってくることを望むかもしれません
ssh リダイレクトされた X ディスプレイ経由 (例: localhost:10)。

「gui-opts」で gui X ディスプレイを指定しない場合、DISPLAY 環境
変数と -表示 オプションが試されます (この順序で)。 x11vnc X について
との通信を試行する GUI を表示します。最初に試行します -表示 その後
画面。 たとえば、「x11vnc -表示 :0 -gui otherhost:0"、リモート コントロールします
x11vnc polling :0 および otherhost:0 に GUI を表示する 以下の「トレイ/アイコン」モード
この設定を逆にして、x11vnc ディスプレイに表示することを優先します。

4) 「トレイ」または「アイコン」が指定されている場合、GUI は小さなアイコンとして表示されます。
「システム トレイ」または「ドック アプレット」の典型的な動作。 アイコンの色
ステータス (接続されたクライアント) を示し、バルーン ステータスもあります。 クリックする
アイコン上には、プロパティなどを設定できるメニューがあり、完全な GUI は
「高度な」の下で利用できます。 完全に機能させるには、GUI モードを「開始」にする必要があります。
(デフォルト)。

トレイまたはアイコン モードは、 -永遠に x11vnc オプション (x11vnc の場合
サーバーは gui と共に起動されます) -接続 or -接続または終了 されています
指定。 したがって、x11vnc (およびトレイ/アイコン gui) は、その後の接続を待機します。
最初のクライアントが切断されます。 ビューア接続を XNUMX つだけにしたい場合は、
-一度 オプションを選択します。

「アイコン」の場合、GUI は小さなスタンドアロン ウィンドウです。 「トレイ」の場合、
可能であれば、「システム トレイ」に埋め込まれます。 「=setpass」が追加された場合
X11 ユーザーを起動すると、VNC セッションのパスワードを設定するように求められます。 もしも
= アイコンが指定されたウィンドウに自分自身を埋め込もうとすることが追加されます
XNUMX 進数で。 完全な GUI を無効にするには、=noadvanced を使用します。 (複数提供する場合は、
「+」記号を使用します)。 例えば -gui トレイ=セットパスおよび -gui icon=0x3600028

その他のモード: "full"、デフォルトであり、指定する必要はありません。 "-gui なし"、 しない
GUI を表示します。 ~/.x11vncrc 設定など

5) "geom=+X+Y" が指定されている場合、そのジオメトリは GUI トップレベルに渡されます。
これは、アイコン/トレイ モードのアイコン、またはそれ以外の完全な GUI です。 あなたもすることができます
幅と高さ、つまり WxH+X+Y を指定しますが、お勧めしません。 「トレイ」モードで
システム トレイ マネージャが実行されていない場合を除き、ジオメトリは無視されます。
"のようなものを使用することを想像できます-gui トレイ、geom=+4000+4000"ディスプレイ付き
誰かがログインするまでGUIを非表示にするマネージャー...

その他のアイコンのトリック、「icon=minimal」は、VNC ディスプレイ番号だけでアイコンを提供します。
「iconfont=...」でフォントを設定することもできます。 以下が役に立ちます。
"-gui icon=minimal,iconfont=5x8,geom=24x10+0-0"

一般的な例 -gui オプション: "x11vnc -ぐい", 「x11vnc -gui ez" "x11vnc -gui
ローカルホスト:10"、"x11vnc -gui 接続、ホスト:0"、"x11vnc -gui トレイ、ez" "x11vnc -gui
トレイ=セットパス"

GUI から x11vnc を起動するつもりがない場合 (つまり、単にリモート コントロール
既存のもの)、その後、GUI プロセスは x11vnc とは別のマシンで実行できます
XパーミッションなどがXNUMXつの間の通信を許可している限り、サーバー。

フォント: 一部のシステムでは、tk フォントが小さすぎたり、ぎざぎざになったりすることがあります。
読めない。 好みの tk フォントに設定できる環境変数は 4 つあります。

X11VNC_FONT_BOLD メニューとボタンのメイン フォント。 X11VNC_FONT_FIXED フォント
固定幅のテキスト。

X11VNC_FONT_BOLD_SMALL トレイ アイコンのフォント。 X11VNC_FONT_REG_SMALL トレイ アイコン メニュー
フォント。

最後の XNUMX つは、トレイ アイコン モードにのみ適用されます。

ここではいくつかの例は、次のとおりです。

-env X11VNC_FONT_BOLD='ヘルベチカ -16 大胆な' -env X11VNC_FONT_FIXED='クーリエ -14 '
-env X11VNC_FONT_REG_SMALL='ヘルベチカ -12 '

上記のような行 (引用符なし) を ~/.x11vncrc file
x11vnc コマンドラインでそれらを指定する必要がないようにします。

-リモート command

すでに実行中の x11vnc サーバーのいくつかの側面をリモートで制御します。 "-R"と"-r"
"のエイリアスです-リモート"。リモートコントロールコマンドが実行中に送信された後
サーバー「x11vnc」 -リモート ...' x11vnc コマンドが終了します。 多くの場合、
-クエリ コマンド (以下を参照) を使用して、x11vnc サーバーが -リモート


デフォルトの通信チャネルは X プロパティの通信チャネルです (具体的には
X11VNC_REMOTE) であるため、このコマンドは DISPLAY の正しい設定で実行する必要があります。
Xサーバーに接続してプロパティを設定するためのXAUTHORITY。
または、 -表示-認証 それらを正しいものに設定するオプション
値。 実行中のサーバーは使用できません -novncconnect オプションだから
通信チャネルを無効にします。 代替チャネルについては、以下を参照してください。

例: 'x11vnc -リモート stop' (「x11vnc」と同じです) -R やめる」)
x11vnc サーバーを閉じます。 x11vnc -R shared' は共有接続を有効にし、
および「x11vnc」 -R scale:3/4' はデスクトップを再スケーリングします。

X11 プロパティに別の名前を使用するには (たとえば、別の通信を行うため)
同じディスプレイ上の複数の x11vnc のチャネル) X11VNC_REMOTE を設定します。
環境変数を必要な文字列に変更します。次に例を示します。 -env
X11VNC_REMOTE=X11VNC_REMOTE_12345 チャネルの両側で同じ
ユニークな名前。

一連のコマンドを連続して実行するには、次のようなものを使用します: x11vnc -R
「スクリプト:firstcmd;secondcmd;...」

x11vnc を使用する -R script:file=/path/to/file ファイルからコマンドを読み取る (複数の
通常の方法でコメント「#」文字を使用します。 「;」 セパレータは必須
各コマンドを区切るために引き続き使用されます。)

別の x11vnc プロセスに接続しようとせず、代わりにコマンドを実行する (または
query) 直接、コマンドの前に文字列 "DIRECT:" を付けます。

以下 -リモート/-R 次のコマンドがサポートされています。

stop サーバーを終了します。「quit」、「exit」または「shutdown」と同じです。

ping を実行して、x11vnc サーバーが応答するかどうかを確認します。 戻り値: ans=ping:

ping:mystring は上記と同じですが、独自の一意の文字列を使用してください。 リターンは:
ans=ping:mystring:

blacken すべてのクライアントに黒い fb 更新をプッシュしようとします (タイミングが原因で、
クライアントはそれを見逃す可能性があります)。 "zero" と同じで、長方形の "zero:x1,y1,x2,y2" も同じです。

更新すると、fb 全体がすべてのクライアントに送信されます。

リセット fb、ポーリングメモリなどを再作成します。

id:windowid セット id ウィンドウを「windowid」に。 ルートに戻るには空または「ルート」
ウィンドウを使用して入力ファイルを追加します。

sid:windowid セット -シド ウィンドウを「windowid」に

id_cmd:cmd コマンド: 上げる、下げる、マップする、マップ解除する、アイコン化する、move:dXdY、resize:dWdH、
geom:WxH+X+Y. dX dY、dW、および dH の先頭には「+」または「-」が必要です。例: move:-30+10
resize:+20+35 また: wm_delete、wm_name:string、icon_name:string。 また
id_cmd:win=N:cmd

サブウィンがマップされるまで待機します。

nowaitmapped は、subwin がマップされるまで待機しません。

クリップ:WxH+X+Y セット -クリップ モードを「WxH+X+Y」に

flashcmap を有効にする -フラッシュマップ モード。

noflashcmap を無効にする -フラッシュマップ モード。

shiftcmap:n セット -shiftcmap nに。

トゥルーカラーを有効にしない -ノートゥルーカラー モード。

トゥルーカラーを無効にする -ノートゥルーカラー モード。

オーバーレイを有効にする -かぶせる モード (該当する場合)。

nooverlay を無効にする -かぶせる モード。

overlay_cursor の -かぶせる モード、カーソル描画を有効にします。

overlay_nocursor カーソル描画を無効にします。 nooverlay_cursor と同じ。

8to24 を有効にする -8から24 モード (該当する場合)。

no8to24 を無効にする -8から24 モード。

8to24_opts:str を設定 -8から24 「str」を選択します。

24to32 を有効にする -24から32 モード (該当する場合)。

no24to32 を無効にする -24から32 モード。

ビジュアル:Vis セット -ビジュアル 「vis」に

スケール:frac セット -規模 「フラック」に

scale_cursor:f セット -scale_cursor 「へ」へ

表示のみを有効にする -表示のみ モード。

noviewonlyを無効にする -表示のみ モード。

共有有効化 -共有 モード。

非共有無効 -共有 モード。

永遠に有効にする -永遠に モード。

永遠に無効にしない -永遠に モード。

タイムアウト:n リセット -タイムアウト n まで、現在クライアントが存在しない場合は終了します。
XNUMX つは次の n 秒で接続します。

tightfilexfer は、新しいクライアントのファイル転送を有効にします。

notightfilexfer 新しいクライアントのファイル転送を無効にします。

ultrafilexfer は、クライアントのファイル転送を有効にします。

noultrafilexfer クライアントのファイル転送を無効にします。

rfbversion:nm セット -rfbバージョン 新規顧客向け。

http http クライアント接続を有効にします。

nohttp http クライアント接続を無効にします。

deny "lock" と同じように、新しい接続を拒否します。

ノードニーは、「ロック解除」と同じように新しい接続を許可します

avahi avahi サービスの広告を有効にします。

noavahi avahi サービスの広告を無効にします。

mdns は avahi サービスの広告を有効にします。

nomdns は avahi サービスの広告を無効にします。

zeroconf は avahi サービスの広告を有効にします。

nozeroconf avahi サービスの広告を無効にします。

connect:host ホストへの逆接続を行います。「ホスト」はカンマ区切りのリストにすることができます
ホストまたはホスト:ポートの。 見る -接続。 fwd 接続と同様にパスワードが必要です。
X11VNC_REVERSE_CONNECTION_NO_AUTH=1 を参照してください

disconnect:host "close:host" と同じように "host" からすべてのクライアントを切断します。 ホストを使用
現在のすべてのクライアントを閉じるには「all」。 クライアントの内部 XNUMX 進 ID がわかっている場合、たとえば
0x3 (「によって返される」-クエリ クライアント" および RFB_CLIENT_ID) も使用できます。

proxy:host:port リバース接続プロキシを設定します (無効にする場合は空)。

allowonce:host 次回の接続のみ、「ホスト」からの接続を許可します。 の -ssl
モード XNUMX つの接続が許可されます (つまり、Fetch Cert)。
X11VNC_NO_SSL_ALLOW_TWICE=1

許可:ホストリスト セット -許可する (カンマ区切り) "hostlist" にリストします。 見る -許可する
-ローカルホスト。 一緒に使用しないでください -許可する /path/to/file 「+host」を使用して単一のホストを追加します。
と使用する-ホスト" 単一のホストを削除するには

ローカルホストを有効にする -ローカルホスト モード

nolocalhost を無効にする -ローカルホスト モード

listen:文字列セット -聴く str に、空の場合は無効にします。

noipv6 を有効にする -noipv6 モード。

IPv6 無効 -noipv6 モード。

noipv4 を有効にする -noipv4 モード。

IPv4 無効 -noipv4 モード。

6 enable -6 IPv6 リスニング モード。

no6 disable -6 IPv6 リスニング モード。

ルックアップを無効にする -nolookup モード。

nolookup を有効にする -nolookup モード。

ルックアップを無効にする -nolookup モード。

入力:文字列セット -入力 「str」に、空の場合は無効にします。

grabkbd を有効にする -grabkbd モード。

nograbkbd を無効にする -grabkbd モード。

グラブを有効にする -グラブプター モード。

nograbptr 無効化 -グラブプター モード。

常に有効にする -グラバルウェイズ モード。

常に無効にする -グラバルウェイズ モード。

グラブローカル:n セット -グラブローカル nに。

client_input:str K、M、B を設定します -入力 クライアントごとに。 どのクライアントを選択するか
切断に関しては、例: client_input:host:MB または client_input:0x2:K

受け入れる: コマンド セット -受け入れる "cmd" (無効にする場合は空)。

afteraccept:コマンドセット -受諾後 (無効にする場合は空)。

なくなった:コマンドセット -なくなった "cmd" (無効にする場合は空)。

noshm を有効にする -ノシュム モード。

shm を無効にする -ノシュム モード (つまり、shm を使用)。

フリップバイトオーダーを有効にする -flipbyteorder モード、これにはnoshmを設定する必要があるかもしれません
何かをする。

noflipbyteorder を無効にする -flipbyteorder モード。

ワンタイルを有効にする -ワンタイル モード。 (これを行うには shm を設定する必要があるかもしれません
なにか)

noonetile を無効にする -ワンタイル モード。

固体有効 -固体 モード

無固体無効 -固体 モード。

solid_color:カラー セット -固体 色を付けます(そしてそれを適用します)。

ブラックアウト:文字列セット -停電 "str" (無効にする場合は空)。 見る -停電 フォーム用
"str" の (基本的に: WxH+X+Y,...) "+WxH+X+Y" を使用して、単一の四角形を追加します
「-WxH+X+Y」で一つ削除

xinerama を有効にする -キシネラマ モード。 (該当する場合)

ノキシネラマを無効にする -キシネラマ モード。

xtrap を有効にする -xtrap 入力モード (該当する場合)

noxtrap を無効にする -xtrap 入力モード。

xrandr を有効にする -xrandr モード。 (該当する場合)

noxrandrを無効にする -xrandr モード。

xrandr_mode:mode を設定します -xrandr モードを「モード」に。

回転:モード セット -回転 モードを「モード」に。

パジョン:幅×高さセット -パジョン WxH へ (空の場合は無効) WxH が「force」または「do」の場合
パディングされたジオメトリ fb がすぐに適用されます。

静音有効 -静かな モード。

noquiet を無効にする -静かな モード。

modtweak を有効にする -modtweak モード。

nomodtweak を有効にする -nomodtweak モード。

xkb を有効にする -xkb modtweak モード。

noxkbを無効にする -xkb modtweak モード。

capslock を有効にする -キャップスロック モード。

nocapslock を無効にする -キャップスロック モード。

skip_lockkeys を有効にする -skip_lockkeys モード。

noskip_lockkeys を無効にする -skip_lockkeys モード。

skip_keycodes:str を有効にする -xkb -skip_keycodes 「スト」。

sloppy_keys を有効にする -sloppy_keys モード。

nosloppy_keys を無効にする -sloppy_keys モード。

skip_dups を有効にする -skip_dups モード。

noskip_dups を無効にする -skip_dups モード。

add_keysyms を有効にする -add_keysyms モード。

noadd_keysyms はキーシムの追加を停止します。 追加されたものは終了時に削除されます。

clear_mods を有効にする -clear_mods モードにしてクリアします。

noclear_mods を無効にする -clear_mods モード。

clear_keys を有効にする -clear_keys モードにしてクリアします。

noclear_keys を無効にする -clear_keys モード。

clear_locks は clear_locks アクションを実行します。

clear_all clear_all アクションを実行します。

keystate には x11vnc が現在のキーステートを出力します。

リマップ:文字列セット -リマップ "str" (無効にする場合は空)。 見る -リマップ の形のために
"str" (基本的に: key1-key2,key3-key4,...) "+key1-key2" を使用して単一のキーを追加します
キーマッピング、「-key1-key2」を使用して削除します。

norepeat を有効にする -norepeat モード。

繰り返し無効 -norepeat モード。

nofb を有効にする -いいえ モード。

fbを無効にする -いいえ モード。

bell ベルを有効にします (サポートされている場合)。

ノーベル無効ベル。

sendbell ベルを鳴らしてください。

ノーセル有効 -ノズル モード。

無効にする -ノズル モード。

プライマリなしを有効にする -noprimary モード。

一次無効化 -noprimary モード。

ノーセットプライマリ有効化 -nosetprimary モード。

setprimary を無効にする -nosetprimary モード。

noclipboard を有効にする -ノークリップボード モード。

クリップボードを無効にする -ノークリップボード モード。

ノーズクリップボードを有効にする -ノーズクリップボード モード。

setclipboardを無効にする -ノーズクリップボード モード。

seldir:str セット -セルディル 「str」に

resend_cutbuffer 最新の CUTBUFFER0 コピーを再送信します

resend_clipboard 最新の CLIPBOARD コピーを再送信します

resend_primary 最新の PRIMARY コピーを再送信します

カーソル:モードの有効化 -カーソル "モード"。

show_cursor カーソルの表示を有効にします。

noshow_cursor カーソルの表示を無効にします。 (「ノーカーソル」と同じ)

cursor_drag ドラッグ中のカーソル変更を有効にします。

nocursor_drag ドラッグ中のカーソル変更を無効にします。

矢印:n セット -矢印 n を交互にします。

xfixes は、xfixes カーソル形状モードを有効にします。

noxfixes は、xfixes カーソル形状モードを無効にします。

alphacut:n セット -アルファカット nに。

alphafrac:f セット -アルファフラク fに。

alpharemove を有効にする -alpharemove モード。

noalpharemove を無効にする -alpharemove モード。

alphablend を無効にする -ノアルファブレンド モード。

noalphablend を有効にする -ノアルファブレンド モード。

カーソル形状の無効化 -nocursorshape モード。

nocursorshape を有効にする -nocursorshape モード。

カーソル位置を無効にする -nocursorpos モード。

nocursorpos を有効にする -nocursorpos モード。

xwarp を有効にする -xwarpointer モード。

noxwarp を無効にする -xwarpointer モード。

always_inject を有効にする -always_inject モード。

noalways_inject を無効にする -always_inject モード。

ボタンマップ:文字列セット -ボタンマップ "str"、無効にする場合は空

ドラッグ無効 -ノードラッグ モード。

nodragging を有効にする -ノードラッグ モード。

ncache 再有効化 -ncache モード。

非キャッシュ無効 -ncache モード。

ncache_size:n セット -ncache サイズを n にします。

ncache_cr を有効にする -ncache_cr モード。

noncache_cr を無効にする -ncache_cr モード。

ncache_no_moveraise は no_moveraise モードを有効にします。

noncache_no_moveraise は no_moveraise モードを無効にします。

ncache_no_dtchange ncache_no_dtchange モードを有効にします。

noncache_no_dtchange ncache_no_dtchange モードを無効にします。

ncache_old_wm ncache_old_wm モードを有効にします。

noncache_old_wm ncache_old_wm モードを無効にします。

ncache_no_rootpixmap ncache_no_rootpixmap を有効にします。

noncache_no_rootpixmap ncache_no_rootpixmap を無効にします。

ncache_reset_rootpixmap ルートピックスマップ ncrp を再チェックします

ncache_keep_anims は ncache_keep_anims を有効にします。

noncache_keep_anims は ncache_keep_anims を無効にします。

ncache_pad:n セット -ncache_pad nに。

ワイヤーフレームを有効にする -ワイヤーフレーム モード。 「wf」と同じ

nowireframe を無効にする -ワイヤーフレーム モード。 「ナウフ」と同じ

ワイヤフレーム:str を有効にする -ワイヤーフレーム モード文字列。

wireframe_mode:str を有効にする -ワイヤーフレーム モード文字列。

ワイヤーフレームローカル ワイヤーフレームローカルを有効にします。 「wfl」と同じ

nowireframe ワイヤーフレーム ローカルを無効にします。 「nowfl」と同じ

wirecopyrect:文字列セット -wirecopyrect 弦。 「wcr:」と同じ

scrollcopyrect:文字列セット -scrollcopyrect 弦。 同じ「scr」

noscrollcopyrect を無効にする -scrollcopyrect__mode_。 「ノスク」

scr_area:n セット -scr_area nに

scr_skip:リスト セット -scr_skip 「一覧」にする

scr_inc:リストセット -scr_inc 「一覧」にする

scr_keys:リスト セット -scr_keys 「一覧」にする

scr_term:リストセット -scr_term 「一覧」にする

scr_keyrepeat:str セット -scr_keyrepeat 「str」に

scr_parms:str セット -scr_parms パラメーター。

fixscreen:文字列セット -修正スクリーン 「str」に。

noxrecord は、RECORD 拡張機能の使用をすべて無効にします。

xrecord は、RECORD 拡張の使用を有効にします。

reset_record リセット RECORD 拡張機能 (利用可能な場合)

pointer_mode:n セット -pointer_mode nに。 「午後」と同じ

input_skip:n セット -input_skip nに。

allinput の使用を有効にする -alinput モード。

noallinput の使用を無効にする -alinput モード。

input_eagerly の使用を有効にする -input_eagerly モード。

noinput_eagerly の使用を無効にする -input_eagerly モード。

ssltimeout:n セット -ssltimeout nに。

速度:筋力セット -速度 ストへ。

wmdt:str セット -wmdt ストへ。

debug_pointer を有効にする -debug_pointer、 「dp」と同じ

nodebug_pointer を無効にする -debug_pointer、 「うなずく」と同じ

debug_keyboard を有効にする -デバッグキーボード、 「dk」と同じ

nodebug_keyboard 無効化 -デバッグキーボード、 「のど」と同じ

keycode:n キーストローク 'keycode' (xmodmap -pk)

keycode:n,down inject 'keycode' (down=0,1)

keysym:str インジェクト キーストローク 'keysym' (番号/名前)

keysym:str,down inject 'keysym' (down=0,1)

ptr:x,y,mask インジェクト ポインター イベント x、y、ボタン マスク

fakebuttonevent:button,down 直接 XTestFakeButtonEvent。

sleep:t スリープ浮動小数点時間 t。

get_xprop:p 'p' という名前の X プロパティを取得します。

set_xprop:p:val 'p' という名前の X プロパティを 'val' に設定します。 p -> id=NNN:p XNUMX 進/XNUMX 進
ウィンドウ ID。

wininfo:id X ウィンドウ ID に関する情報を取得します。 ルート ウィンドウには「root」を使用し、+id を使用します
子供のための。

grab_state ポインタとキーボード グラブの状態を取得します。

pointer_pos print XQueryPointer x,y カーソル位置。

pointer_x print XQueryPointer x カーソル位置。

pointer_y print XQueryPointer y カーソル位置。

pointer_same 同じ画面に XQueryPointer ptr を出力します。

pointer_root print XQueryPointer curr ptr rootwin.

pointer_mask print XQueryPointer ボタンと mods マスク

mouse_x print x11vnc のカーソル位置の考え方。

mouse_y print x11vnc のカーソル位置の考え方。

何もしないでください。

defer:n セット -延期する n ミリ秒まで、deferupdate:n と同じ

待機:n 設定 -待つ n ミリ秒まで。

extra_fbur:n セット -extra_fbur nに。

wait_ui:f セット -wait_ui fへの係数。

setdefer:n セット -setdefer 〜へ -2、-1,0,1、XNUMX、XNUMX、 または2。

wait_bog を無効にする -nowait_bog モード。

nowait_bog を有効にする -nowait_bog モード。

slow_fb:f セット -slow_fb f 秒まで。

xrefresh:f セット -xリフレッシュ f 秒まで。

readtimeout:n 読み取りタイムアウトを n 秒に設定します。

昼寝を有効にする -昼寝 モード。

nonap を無効にする -昼寝 モード。

sb:n セット -sb screen_blank:n と同じように ns に

fbpm を無効にする -nofbpm モード。

nofbpm を有効にする -nofbpm モード。

dpm を無効にする -nodpms モード。

nodpms を有効にする -nodpms モード。

強制PMSを有効にする -forcedpms モード。

noforcedpms を無効にする -forcedpms モード。

clientdpms を有効にする -clientdpms モード。

noclientdpms を無効にする -clientdpms モード。

noserverdpms を有効にする -noserverdpms モード。

serverdpms を無効にする -noserverdpms モード。

noultraext を有効にする -ノートラエクスト モード。

ウルトラエクストを無効にする -ノートラエクスト モード。

chatwindow ローカル チャット ウィンドウ モードを有効にします。

nochatwindow ローカル チャット ウィンドウ モードを無効にします。

chaton ローカル ウィンドウを使用してチャットを開始します。

chatoff ローカル ウィンドウを使用してチャットを終了します。

xdamage xdamage ポーリング ヒントを有効にします。

noxdamage xdamage ポーリング ヒントを無効にします。

xd_area:セット -xd_エリア 「A」までの最大ピクセル領域

xd_mem:f セット -xd_mem 「f」の記憶

fs:frac セット -fs 分数から「frac」、たとえば 0.5

ギャップ:n セット -ギャップ nに。

成長:n セット -育つ nに。

ファズ:n セット -ファズ nに。

snapfb を有効にする -snapfb モード。

nosnapfb を無効にする -snapfb モード。

rawfb:str セット -rawfb モードを「str」にします。

uinput_accel:f uinput_accel を f に設定します。

uinput_thresh:n uinput_thresh を n に設定します。

uinput_reset:n uinput_reset を n ミリ秒に設定します。

uinput_always:n uinput_always を 1/0 に設定します。

プログレッシブ:n LibVNCServer を設定 -プログレッシブ スライスの高さパラメーターを n に設定します。

デスクトップ:str セット -デスクトップ 新しいクライアントの str への名前。

rfbport:n セット -rfbポート nに。

macnosaver を有効にする -マクノセイバー モード。

マックセーバーを無効にする -マクノセイバー モード。

macnowait を有効にする -マクノウェイト モード。

macwait を無効にする -マクノウェイト モード。

macwheel:n セット -マックホイール nに。

macnoswap を有効にする -マクノスワップ マウスボタンモード。

macswap を無効にする -マクノスワップ マウスボタンモード。

macnoresize を有効にする -マクロサイズ モード。

macresize を無効にする -マクロサイズ モード。

maciconanim:n セット -マチコナニム nに。

マックメニューを有効にする -マックメニュー モード。

マクノメニューを無効にする -マックメニュー モード。

macuskbd を有効にする -macuskbd モード。

macnoskbd を無効にする -macuskbd モード。

httpport:n セット -httpポート nに。

httpdir:dir セット -httpdir dir へ (および http を有効にします)。

enablehttpproxy 有効化 -httpproxy を有効にする モード。

noenablehttpproxy 無効 -httpproxy を有効にする モード。

常に共有を有効にする -常に共有 モード。

noalwaysshared 無効 -常に共有 モード。 (他のオプションと干渉する可能性があります)

決して共有されない -決して共有しない モード。

決して共有されない無効 -決して共有しない モード。 (他のオプションと干渉する可能性があります)

切断しないで有効にする -切断しないでください モード。

nodontdisconnect 無効 -切断しないでください モード。 (他のオプションと干渉する可能性があります)

debug_xevents は、X イベントのデバッグを有効にします。

nodebug_xevents は X イベントのデバッグを無効にします。

debug_xdamage X DAMAGE メカニズムのデバッグを有効にします。

nodebug_xdamage X DAMAGE メカニズムのデバッグを無効にします。

debug_wireframe は、ワイヤフレーム メカニズムのデバッグを有効にします。

nodebug_wireframe ワイヤフレーム メカニズムのデバッグを無効にします。

debug_scroll スクロールコピーメカニズムのデバッグを有効にします。

nodebug_scroll スクロールコピーメカニズムのデバッグを無効にします。

debug_tiles を有効にする -debug_tiles

nodebug_tiles を無効にする -debug_tiles

debug_grabs を有効にする -debug_grabs

nodebug_grabs を無効にする -debug_grabs

debug_sel を有効にする -debug_sel

nodebug_sel 無効化 -debug_sel

debug_ncache を有効にする -debug_ncache

nodebug_ncache を無効にする -debug_ncache

dbg を有効にする -dbg クラッシュシェル

nodbg を無効にする -dbg クラッシュシェル

noremote を無効にする -リモート コマンド処理、元に戻すことはできません
に。

bcx_xattach:str このリモート コントロール コマンドは、BARCO xattach で使用するためのものです。
プログラムまたは x2x プログラム。 これらのプログラムはどちらも「ポインターとキーボード」用です
別々の X ディスプレイ間で共有します。 一般に、XNUMX つのディスプレイは通常
同じ机の上など、近くにあり、これにより、ユーザーは単一のポインターを共有できます
それらの間のキーボード。 ユーザーがマウスをエッジに移動してから、マウスを
ポインターが他の表示画面に「ジャンプ」して表示されます。 したがって、それは何をエミュレートします
0.0 つの X サーバーで 0.1 つの画面 (例: :XNUMX と :XNUMX) を処理できます。
複数の画面を持つ単一の Xserver は、イベントを 2 番目に転送することによって実現されます。
XNUMX つは XTEST エクステンション経由です。

x11vnc bcx_xattach コマンドが行うことは、いくつかのポインター移動を実行することです。
xattach/x2x を誘導して、他のディスプレイに「ジャンプ」させてみてください。 に続くもので
「マスター」ディスプレイとは、「フォーカス」があるときに基本的に行っているものを指します
マウスがエッジを越えるのを監視する以外に何もありません。 「スレーブ」ディスプレイ
マウスとキーボードが一度エッジにリダイレクトされるものを指します
マスターが交差しました。 bcx_xattach を実行する x11vnc に注意してください。
command は *master* ディスプレイに接続されたものでなければなりません。

また、入力がマスター ディスプレイから (XTEST 経由で) リダイレクトされている場合にも注意してください。
スレーブ ディスプレイに対して、マスター ディスプレイのポインタとキーボードは、
xattach/x2x. x11vnc はこの情報を使用して、マスター/スレーブ モードの変更を確認できます。
正しく行われました。 "ifneeded" オプション (下記参照) を指定し、
最初のグラブ状態は目的の最終状態の状態であり、ポインターはありません
動きが注入され、「DONE,GRAB_OK」が返されます。

"str" には、"up"、"down"、"left"、または "right" のいずれかが含まれている必要があります。
「ジャンプ」の方向。 「str」には「master_to_slave」または「master_to_slave」のいずれかも含まれている必要があります。
ジャンプによって引き起こされるモード変更のタイプを示す「slave_to_master」。 使用
"M2S" と "S2M" は短いエイリアスです。

"str" は、"+" で区切られた追加のチューニング オプションのリストです。 「シフト=n」
オプションは、(0,0) から離れたオフセット シフト位置を示します (デフォルトは 20)。
「final=x+y」は、法線の終わりでのカーソルの最終位置を指定します
シーケンスを移動します。 デフォルトは 30+30 です。 「extra_move=x+y」は、もう XNUMX 回ポインターを移動することを意味します。
x+y への "final" の後。 「dt=n」は、ポインタ間のスリープ時間をミリ秒単位で設定します
移動 (デフォルト: 40ms) "retry=n" は、グラブした場合の最大再試行回数を指定します。
状態の変更は失敗します。 "ifneeded" は、次の場合にポインターの動きを適用しないことを意味します。
初期グラブ状態は、目的の最終状態です。 「nograbcheck」は、しないことを意味します
グラブ状態が期待どおりに変化したかどうかを確認し、ポインターの動きのみを適用します
(デフォルトではグラブ状態をチェックします。)

「up」などを指定しない場合、bcx_xattach には何も試行されず、
コマンドは文字列 FAIL,NO_DIRECTION_SPECIFIED を返します。 指定しない場合
「master_to_slave」または「M2S」など、bcx_xattach に対して何も試行されず、
コマンドは文字列 FAIL,NO_MODE_CHANGE_SPECIFIED を返します。

それ以外の場合、返される文字列には「DONE」が含まれます。 次の場合は「DONE,GRAB_OK」になります
グラブ状態が期待どおりに変更された (または、「ifneeded」が指定され、最初の
グラブ状態はすでに目的のものでした。) 最初のグラブ状態が間違っていた場合、
しかし、最終的なグラブ状態は正しく、「DONE,GRAB_FAIL_INIT」です。 もし
最初のグラブ状態は正しかったが、最終的なグラブ状態は正しくなかった。
「完了、GRAB_FAIL_FINAL」。 どちらも正しくない場合は、「DONE,GRAB_FAIL」になります。 下
グラブに失敗した場合、文字列の後に ":p1,k1-p2,k2" が続きます。ここで、p1,k1 は pXNUMX,kXNUMX を示します
最初のポインターとキーボードのグラブ状態と p2,k2 が最後の状態です。 GRAB_FAIL の場合
または GRAB_FAIL_FINAL が発生した場合、アクションは 3 回まで再試行されます。 しようとしている
状態をリセットし、試行ごとに少しスリープします。 retry=n を設定して、
再試行回数。再試行を無効にするにはゼロ。

例: -R bcx_xattach:ダウン+M2S -R bcx_xattach:up+S2M -R
bcx_xattach:up+S2M+nograbcheck+dt=30 -R bcx_xattach:down+M2S+extra_move=100+100

または使用 -Q -R 結果テキストを取得します。

bcx_xattach:str の説明の終わり。

この vncconnect(1) 標準の VNC ディストリビューションからのコマンドも、次の場合に使用できます。
文字列には "cmd=" というプレフィックスが付きます。例: 'vncconnect cmd=stop'. いくつかの下で
状況 エクスプロップ(1) 対応していれば使える -セットする (FAQ を参照)。

もし「-接続 /パス/ファイルへ" が実行中の x11vnc サーバーに提供された後、
そのファイルは通信チャネルとして使用できます (これがリモートへの唯一の方法です)。
同じ X ディスプレイをポーリングする多くの x11vnc の 11 つを制御します) 単純に実行: 'xXNUMXvnc
-接続 /パス/ファイルへ -リモート ...' または、次の方法でファイルに直接書き込むことができます
たとえば、「echo cmd=stop > /path/to/file」などです。

-クエリ 変数

いいね -リモート、 の値を照会することを除いて 変数。 「-Q" はエイリアスです
"-クエリ"。複数のクエリは、変数をコンマで区切ることで実行できます。たとえば、
-クエリ 変数 1、変数 2。 結果は次の形式で返されます
ans=var1:value1,ans=var2:value2,... を標準出力に出力します。 変数が
読み取り専用で、"ans=" の代わりに "aro=" という接頭辞が付いて返されます。

一部 -リモート コマンドは、変数として意味をなさない純粋なアクションです。
「停止」または「切断」の場合、返される値は「N/A」です。 指示するには
X11VNC_REMOTE プロパティに直接クエリを実行するか、代わりに "qry=..." を使用してファイルに接続します
「cmd=...」の

ans= 停止 終了 終了 シャットダウン ping resend_cutbuffer resend_clipboard resend_primary
黒くする ゼロ リフレッシュ リセット 閉じる 切断 id_cmd id sid waitmapped nowaitmapped
クリップ flashcmap noflashcmap shiftcmap truecolor notruecolor オーバーレイ nooverlay
overlay_cursor overlay_yescursor nooverlay_nocursor nooverlay_cursor
nooverlay_yescursor overlay_nocursor 8to24 no8to24 8to24_opts 24to32 no24to32
ビジュアル スケール scale_cursor viewonly noviewonly 共有 noshare forever noforever
一度のタイムアウト tightfilexfer notightfilexfer ultrafilexfer noultrafilexfer rfbversion
拒否ロック nodeny ロック解除 avahi mdns zeroconf noavahi nomdns nozeroconf 接続プロキシ
allowonce allow noipv6 ipv6 noipv4 ipv4 no6 6 localhost nolocalhost listen ルックアップ
nolookup accept afteraccept なくなった shm noshm flipbyteorder noflipbyteorder onetile
noonetile solid_color solid nosolid ブラックアウト xinerama noxinerama xtrap noxtrap
xrandr noxrandr xrandr_mode ローテーション padgeom quiet q noquiet modtweak nomodtweak xkb
noxkb capslock nocapslockskip_lockkeysnoskip_lockkeysskip_keycodessloppy_keys
nosloppy_keys Skip_dups noskip_dups add_keysyms noadd_keysyms Clear_mods
noclear_mods clear_keys noclear_keys clear_all clear_locks キーステート リマップ 繰り返し
norepeat fb nofb ベル ノーベル センドベル sel nosel プライマリ noprimary setprimary
nosetプライマリ クリップボード noclipboard setclipboard nosetclipboard seldir カーソル形状
nocursorshape cursorpos nocursorpos cursor_drag nocursor_drag カーソル show_cursor
noshow_cursor nocursor 矢印 xfixes noxfixes xdamage noxdamage xd_area xd_mem
alphacut alphafrac alpharemove noalpharemove alphablend noalphablend xwarpointer
xwarp noxwarppointer noxwarp always_inject noalways_inject ボタンマップのドラッグ
nodragging ncache_cr noncache_cr ncache_no_moveraise noncache_no_moveraise
ncache_no_dtchange noncache_no_dtchange ncache_no_rootpixmap noncache_no_rootpixmap
ncache_reset_rootpixmap ncrp ncache_keep_anims noncache_keep_anims ncache_old_wm
noncache_old_wm ncache_pad ncache noncache ncache_size debug_ncache nodebug_ncache
Wireframe_mode ワイヤフレーム wf nowireframe nowf ワイヤフレームローカル wfl nowireframelocal
nowfl Wirecopyrect wcr nowirecopyrect nowcr scr_area scr_skip scr_inc scr_keys
scr_term scr_keyrepeat scr_parmsscrollcopyrect scr noscrollcopyrect noscr
fixscreen noxrecord xrecord replace_record pointer_mode pm input_skip allinput
noallinput input_eagerly noinput_eagerly 入力grabkbd nograbkbdgrabptr nograbptr
グラブ常に nograbalways グラブローカル client_input ssltimeout 速度 wmdt debug_pointer
dp nodebug_pointer nodp debug_keyboard dk nodebug_keyboard nodk キーコード keysym ptr
fakebuttonevent スリープ get_xprop set_xprop wininfo bcx_xattach deferupdate defer
setdefer extra_fbur wait_ui wait_bog nowait_bog slow_fb xrefresh 待機 readtimeout
昼寝 nonap sb screen_blank fbpm nofbpm dpms nodpms clientdpms noclientdpms forcedpms
noforcedpms noserverdpms serverdpms noultraext Ultraext chatwindow nochatwindow
chaton chatoff fs ギャップ グロウ ファズ snapfb nosnapfb rawfb uinput_accel uinput_thresh
uinput_reset uinput_always プログレッシブ rfbport http nohttp httpport httpdir
enablehttpproxy noenablehttpproxy 常に共有する noalwaysshared 決して共有しない
noalwayssharedontdisconnect nodontdisconnect デスクトップ debug_xevents
nodebug_xevents debug_xevents debug_xdamage nodebug_xdamage debug_xdamage
debug_wireframe ノードバグ_ワイヤーフレーム debug_wireframe デバッグ_スクロール ノードバグ_スクロール
debug_scroll debug_tiles dbt nodebug_tiles nodbt debug_tiles debug_grabs
nodebug_grabs debug_sel nodebug_sel dbg nodbg macnosaver macsaver nomacnosaver
macnowait macwait nomacnowait macwheel macnoswap macswap nomacnoswap macnoresize
macresize nomacnoresize macconanim macmenu macnomenu nomacmenu macuskbd nomacuskbd
リモートではない

aro= noop display vncdisplay icon_mode autoport loop loopbdesktopname
guess_desktopguess_dbus http_url auth xauth ユーザー rootshift clipshift scale_str
スケール_x スケール_y スケール_数値 スケール_デノム スケール_fac_x スケール_fac_y スケール_ブレンド
scaling_nomult4 scaling_pad scaling_interpolate inetd privremote 安全でない より安全
nocmds passwdfile unixpw unixpw_nis unixpw_list ssl ssl_pem sslverify stunnel
stunnel_pem https httpsredir usepw using_shm ログファイル o フラグ rmflag rc norc h help V
バージョン lastmod bg sigpipe スレッド readrate netrate netlatency pipeinput クライアント
client_count pid ext_xtest ext_xtrap ext_xrecord ext_xkb ext_xshm ext_xinerama
ext_overlay ext_xfixes ext_xdamage ext_xrandr rootwin num_buttons button_mask
mouse_x mouse_y グラブ状態 pointer_pos pointer_x pointer_y pointer_same
pointer_root pointer_mask bpp 深度 indexed_color dpy_x dpy_y wdpy_x wdpy_y off_x
off_y cdpy_x cdpy_y coff_x coff_y rfbauth passwd viewpasswd

-QD 変数

と同じように -クエリ 変数ですが、そのパラメーターのデフォルト値を返します (いいえ
実行中の x11vnc サーバーが参照されます)

- 同期

デフォルトでは -リモート コマンドは非同期で実行されます。つまり、リクエストが送信されます
プログラムはすぐに終了します。 使用 - 同期 プログラムを待機させる
コマンドが処理されたという x11vnc サーバーからの確認応答 (何らかの方法で)。 の上
一方 -クエリ 要求は常に同期的に処理されます。
答えを待つために。

また、両方の場合に注意してください -リモート-クエリ 要求はコマンドで提供されます
ライン、 -リモート が最初に処理されます (同期的に: 必要ありません -同期)、 その後
  -クエリ リクエストは通常​​の方法で処理されます。 これにより、信頼できる方法が可能になります
かどうかを確認する -リモート コマンドは、新しい設定を照会することによって処理されました。 ノート
ただし、数秒のタイムアウトがあるため (次の段落を参照)、
x11vnc は、リクエスターが考えるリクエストの処理にそれよりも時間がかかります。
障害が発生しました。

デフォルトでは 3.5 秒待機します。 または、cmd=stop の場合は 1.0 秒のみです。 コマンドの場合
'script:' に一致する場合、最大 10.0 秒待機します。 X11VNC_SYNC_TIMEOUT を
待機する秒数。

-query_retries STR

クエリが x11vnc サーバーからの応答を取得できなかった場合、最大 n 回再試行します。 STR
n[:t][/match] として指定されます オプションで、試行間の遅延を指定できます
"t" による浮動小数点時間 (デフォルトは 0.5 秒) 注: 応答はありません。
有効性、または送信されたクエリに対応するかどうかをチェックします。 クエリ
「ping:mystring」は、クエリを一意に識別するために使用できます。 オプションで、
「/」の後の一致する文字列は、結果テキストのチェックに使用されます。 最大 n 回の再試行
出力テキストで一致する文字列が見つかるまで実行されます。 もし
一致する文字列が見つからない プログラムの終了コードは 1 です。 一致が見つかった場合
0 で終了します。再試行のたびに stdout が出力される場合があることに注意してください (つまり、複数回)
行が stdout に出力されます。) 例: -query_retries 4:1.5/グラブステート

-remote_prefix STR

接続された VNC クライアントのリモート コントロール通信チャネルを有効にします。 str は
空でない文字列。 VNC クライアントがプレフィックスを持つ rfbCutText を送信する場合 STR そうして
「x11vnc」経由で送信されたかのように処理された後の部分 -リモート ...」。 それであれば
「cmd=」でも「qry=」でもない場合は、「qry=」と見なされます。 対応する任意
そのリモート コントロール コマンドの出力テキストは、次のようにすべてのクライアントに送り返されます。
rfbCutText。 返される出力には、接頭辞も付けられます STR。 例:
-remote_prefix これを行う:

有効にすることに注意してください -remote_prefix リモート VNC ビューアが x11vnc を実行できるようにします
-リモート コマンド。 信頼できない場合は、このオプションを使用しないでください。

-noremote、 -はいリモート

リモート制御コマンドまたはクエリを処理しないでください。 遠隔操作を処理する
コマンドまたはクエリ。 デフォルト: -はいリモート

セキュリティ wrt リモート コントロール コマンドに関するメモ。 誰かが X に接続できる場合
プロパティ X11VNC_REMOTE を表示および変更すると、リモートで制御できます
x11vnc. 通常、X ディスプレイへのアクセスは保護されています。 できる場合は注意してください
XサーバーでX11VNC_REMOTEを変更すると、実行するのに十分な権限があります
独自の x11vnc を使用しているため、デスクトップを完全に制御できます。 「-接続
/パス/ファイルへ" チャネルが使用されています。明らかに書き込み可能な人なら誰でも
/path/to/file で x11vnc をリモート制御できます。 そのため、必ず X ディスプレイを保護し、
そのファイルの書き込み権限。 見る -プライベートリモート を参照してください。

あなたが妄想的で何も考えていないなら -noremote を無効にするには十分です。
X11VNC_REMOTE プロパティ チャネルを完全に使用 -novncconnect、 または使用 -より安全
多くのものを遮断するオプション。

-安全ではない

いくつかのリモート コマンドはデフォルトで無効になっています (現在: id:pick、accept: 、
なくなった: 、および rawfb:setup: )実行に関連付けられているため
外部プログラム。 指定すれば -安全ではない、 次に、これらのリモート制御コマンドは
許可された。 コマンド ラインでこれらのパラメータを指定できることに注意してください。
それらは、リモート コントロール経由で呼び出すことはできません。

-より安全

に相当: -novncconnect -noremote と禁止 -gui-接続 ファイルにソフトウェアを指定する必要があります。
通信チャネルを遮断します。

-プライベートリモート

健全性チェックを実行し、リモート コントロール コマンドを無効にします。
X DISPLAY および/または接続ファイルには、他のユーザーがアクセスできます。 いったん離れて-
コントロールが無効になり、オンに戻すことはできません。

-nocmds

外部コマンドなし (例:  (3)、 ポペン(3)、 exec(3) ) はまったく実行されません。

-allowedcmds リスト

リスト 実行できる唯一の外部コマンドのカンマ区切りのリストが含まれています。
関連するオプションの完全なリストは次のとおりです。

stunnel、ssl、unixpw、WAIT、zeroconf、id、accept、afteraccept、なくなった、pipeinput、
v4l-info、rawfb-setup、dt、gui、ssh、storepasswd、passwdfile、custom_passwd、
findauth、クラッシュ。

関連する外部コマンドについては、各オプションのヘルプを参照してください。 注意してください
-nocmds オプションが優先され、すべての外部コマンドが無効になります。

-deny_all

との使用のため -リモート nodeny: "-リモート
ノデニー」はそれらを入れるために使用されます。

これらのオプションは LibVNCServer に渡されます。

-rfbポート ポート

RFB プロトコルの TCP ポート

-rfbwait 時間

RFB クライアントを待機する最大時間 (ミリ秒)

-rfbauth パスワードファイル

RFB プロトコルで認証を使用する (「x11vnc を使用する」 -storepasswd pass file' を作成します
パスワードファイル)

-rfbバージョン 3.x

アドバタイズするために選択した RFB のバージョンを設定します

-permitfiletransfer

ファイル転送のサポートを許可する

-パスワード プレーンパスワード

認証を使用します (プレーンパスワードをパスワードとして使用し、リスクを冒して使用してください)

-deferupdate 時間

更新を延期する時間 (ミリ秒) (デフォルトは 40)

-deferptrupdate 時間

ポインターの更新を延期する時間 (ミリ秒) (デフォルトはなし)

-デスクトップ

VNC デスクトップ名 (デフォルトは「LibVNCServer」)

-常に共有

新しいクライアントを常に共有として扱う

-決して共有しない

新しいクライアントを共有として扱わない

-切断しないでください

新しい非共有接続が入ったときに既存のクライアントを切断しないでください (拒否します
代わりに新しい接続)

-httpdir ディレクトリパス

dir-path home を使用して http サーバーを有効にします

-httpポート ポート番号

http 接続に portnum を使用する

-httpproxy を有効にする

HTTP プロキシ サポートを有効にする

-プログレッシブ 高さ

低速リンクのプログレッシブ更新を有効にする

-聴く ipaddr

addr ipaddr を持つネットワーク インターフェイスでのみ接続をリッスンします。 '-聞く
localhost' とホスト名も機能します。

libvncserver-tight-extension オプション:

-ファイル転送を無効にする

ファイル転送を無効にする

-ftroot string

ftp ルートを設定

onworks.net サービスを使用してオンラインで x11vnc を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad