Amazon Best VPN GoSearch

OnWorks 网站图标

x11vnc - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 x11vnc

这是 x11vnc 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


x11vnc - 允许 VNC 连接到真实的 X11 显示器
版本:0.9.13,上次修改:2011-08-10

概要


x11vnc [选项]...

商品描述


典型用法是:

使用 X 会话在远程计算机“far-host”上的 shell 中运行此命令
希望查看:

x11vnc -显示:0

然后在您所在机器上的另一个窗口中运行它:

vncviewer 远程主机:0

一旦 x11vnc 与 X11 服务器建立连接并开始作为 VNC 侦听
服务器它将打印出一个字符串:PORT=XXXX,其中 XXXX 通常为 5900(默认 VNC
服务器端口)。 接下来会在本地机器上运行类似这样的东西:“vncviewer
主机名:N”,其中“主机名”是运行 x11vnc 的机器的名称,N 是 XXXX -
5900,即通常是“vncviewer 主机名:0”。

默认情况下,x11vnc 不允许共享屏幕,它会在
客户端断开连接。 看 -共享-永远 下面覆盖这些保护。 看
有关如何通过加密通道建立 VNC 连接隧道的详细信息,请参阅常见问题解答,例如
SSH(1). 简单来说:

SSH -t -L 5900:localhost:5900 远程主机'x11vnc -本地主机 -显示 :0'

% vncviewer -encodings 'copyrect 紧 zrle hextile' 本地主机:0

此外,使用 VNC 密码(-rfbauth 或 -密码文件) 强烈推荐。

有关其他信息,请参阅: http://www.karlrunge.com/x11vnc/
http://www.karlrunge.com/x11vnc/faq.html

配置文件支持:如果文件 $HOME/.x11vncrc 存在,则其中的每一行都被视为
单个命令行选项。 禁用 -北。 对于每个选项名称,前导
字符“-”不是必需的。 例如,“永远”或“-永远“ 也许
使用并且是等价的。 同样“等待 100”或“-等待 100" 是可以接受的和等效的
线。 “#”字符以通常的方式注释到行尾(反斜杠
它是文字)。 前导和尾随空格被修剪掉。 行可能是
以“\”作为行的最后一个字符继续(它变成一个空格字符)。

配置


-显示 显示

要连接到的 X11 服务器显示,通常为:0。 X 服务器进程必须正在运行
在同一台机器上并支持 MIT-SHM。 相当于设置DISPLAY环境
可变为 显示.

请参阅下面的“-显示 等待:..." 扩展名,其中别名
"-找" 会自动找到用户的显示,并且 "-创建" 将创建一个
如果未找到会话,则为 Xvfb 会话。

-身份验证 文件

设置X权限文件为 文件, 相当于设置 XAUTHORITY
环境变量 文件 启动前。 与...一样 -xauth 文件。 看
安全(7), 验证(1) 手册页以获取更多信息。

使用“-auth guess”让 x11vnc 使用它的 -findauth 机制(如下所述)以
尝试猜测 XAUTHORITY 文件名并使用它。

XDM/GDM/KDM:如果您以 root 身份运行 x11vnc 并想找到 XAUTHORITY
在任何人尚未登录 X 会话之前,请使用:x11vnc -环境 FD_XDM=1 -身份验证
猜测 ...(如果用户已经登录,这也将找到 XAUTHORITY
X 会话。)当以 root 身份运行时,如果初始 -身份验证
猜测失败。

-N

如果 X 显示为 :N,尝试将 VNC 显示也设置为 :N 这只是设置
-rfb端口 5900+N 的选项,如果该端口不是,程序将立即退出
可用。 的 -N 选项仅适用于正常 -显示 用法,例如:0 或 :8, -N
-显示 等待:..., -创建, -找, -svc, - 重定向, 等模式。

-汽车端口 n

自动探测从 n 开始的空闲 VNC 端口。 默认是启动
在 5900 进行探测。使用它可以远离 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 侦听模式,您
必须提供“-6号" 选项(见下文。)

“-6”模式适用于普通连接和 -ssl 加密的。 几乎
IPv6 情况下支持所有内容,但有一些例外。 看
-隧道 因为它的 IPv6 支持。

目前,为了绝对一切正常工作,机器可能需要有
一些 IPv4 支持,至少对于环回接口。 然而,对于近
所有使用模式都不需要 IPv4 支持。 看 -nopiv4。

如果在 IPv6 模式下编译或运行时遇到问题,请设置 -DX11VNC_IPV6=0 in
配置禁用 IPv6 支持时的 CPPFLAGS。

-6号

禁用 IPv6 侦听支持(仅在“-6”模式编译为
默认值; 请参阅上面“-11”下的 X6VNC_LISTEN6 说明。)

-noipv6

不要尝试将 IPv6 用于任何侦听或连接套接字。 这包括两者
侦听服务端口和来自 -连接,
-connect_or_exit, or -代理。 如果您因 IPv6 而遇到问题,请使用此选项。

-noipv4

不要尝试将 IPv4 用于任何侦听或连接套接字。 这主要是为了
探索 x11vnc 在纯 IPv6 系统上的行为,但可能有其他用途。

-重新打开

如果 X 服务器连接断开,请尝试重新打开 X 显示(最多一个
时间。)这对于像 GDM(KillInitClients 选项)这样的显示管理器很有用
在用户登录 X 会话后立即杀死 x11vnc。 注意:重新打开状态
可能不稳定。 设置 X11VNC_REOPEN_DISPLAY=n 重新打开 n 次并设置
X11VNC_REOPEN_SLEEP_MAX 到秒数,默认10,继续尝试
重新打开显示(每秒一次。)

更新:从 0.9.9 开始,x11vnc 尝试自动避免被
通过延迟创建窗口或使用 XFIXES 来显示管理器。 所以你不应该
需要使用 KillInitClients=false 只要您登录足够快(在 45
几秒钟的连接。)您可以通过设置禁用它
X11VNC_AVOID_WINDOWS=从不。 您还可以将其设置为延迟的秒数。

-反映 主持人:N

连接到远程 VNC 服务器,而不是连接和轮询 X 显示器
主持人:N 并成为它的反射器/中继器。 这对于尝试管理
许多同时 VNC 查看器(例如教室广播)的情况,例如您
在每个网络交换机等上放置一个中继器,以通过分发来提高性能
负载和网络流量。 暗示 -共享 (使用 -无共享 作为以后的选择
禁用)。 请参阅下面的讨论 -rawfb vnc:host:N 了解更多详情。

-ID 窗口标识

显示对应的 X 窗口 窗口标识 不是整个显示器。 新窗口
像弹出菜单、瞬态顶层等,可能看不到或可能被剪掉。
在 X 服务器中禁用 SaveUnders 或 BackingStore 可能有助于显示它们。 x11vnc
如果窗口最初被部分遮挡,改变大小,则可能会崩溃
图标化等。采取了一些步骤来避免这种情况和 -xrandr 机制是
用于跟踪调整大小。 用 微信(1) 获取窗口ID,或使用“-ID “到
运行 x11vnc 微信(1) 为您提取 id。 这 -ID 选项很有用
用于导出非常简单的应用程序(例如网络摄像头上的当前视图)。

-sid 窗口标识

As -ID, 但不是直接使用窗口,而是将根视图转移到它:这个
显示 SaveUnders 菜单等,但如果它们超出范围会被剪裁
窗户。

-标签 STR

此选项被忽略,但允许您在 x11vnc 上指定唯一的字符串
命令行,例如“-标签 测试34934z”,这可以提供一种可靠的方式来
通过命令行识别不同的 x11vnc 进程(请参阅 ps(1), 紧握(1),
杀人(1) 和 /proc/PID/cmdline。)

-应用共享

简单的应用程序共享基于 -id/-sid 机制。 每一个新的顶级
应用程序创建的窗口通过反向引入一个新的查看器窗口
联系。 这 -id/-sid-连接 选项是必需的。 运行'x11vnc -应用共享
-帮助' 获取更多信息。

-夹 宽x高+X+Y

只显示与矩形对应的全屏子区域
尺寸为 WxH 且偏移量为 +X+Y 的几何图形。 VNC 显示器的尺寸为 WxH(即较小的
比全屏显示)。 这也适用于 -id/-sid 偏移量是的模式
相对于所选窗口的左上角。 一个使用这个的例子
选项是将一个大的(例如 Xinerama)显示器分成两部分
通过在每个部分上运行单独的 x11vnc,通过单独的查看器访问。

使用 '-clip xinerama0' 剪辑到第一个 xinerama 子屏幕(如果 xinerama 是
积极的)。 xinerama1 用于第二个子屏幕等。这样你就不需要计算了
出所需xinerama子屏幕的WxH+X+Y。 屏幕被分类
增加与 (0,0) 原点的距离(即不是 Xserver 的顺序)。

-flashcmap

在 8bpp 索引颜色中,让安装的颜色图随着指针的移动而闪烁
窗口到窗口(慢)。 也试试 -8到24 完全避免闪光的选项。

-shiftcmap n

罕见的问题,但一些 8bpp 显示器使用少于 256 个色元(例如 16 色
灰度,也许其他位用于双缓冲)*和*也需要
将像素值从 0, .., ncells 移开。 n 表示偏移为
应用于像素值。 要查看像素值,请设置 DEBUG_CMAP=1 以打印输出
颜色图直方图。 例子: -shiftcmap 240

-无真彩色

对于 8bpp 显示器,即使它看起来像 8bpp,也强制索引颜色(即颜色图)
真彩色(罕见问题)。

-advertise_truecolor

如果 X11 显示为索引颜色,则在客户第一次通过以下方式连接时向他们撒谎
告诉他们这是真彩色。 解决方法 RealVNC:inPF 有 colourMap 但没有
8bpp 也使用“-advertise_truecolor reset”来重置客户端 fb。

-视觉的 n

此选项可能不会按照您的想法执行。 它只是*强制*视觉
用于帧缓冲区; 这可能是件坏事......(例如弄乱颜色或
导致崩溃)。 它对于测试和某些变通方法很有用。 n 可能是
十进制数,或 0x 十六进制。 跑 xdpy信息(1) 值。 一个也可以使用
“真彩色”等见一个列表。 如果字符串以 ":m" 结尾,则 for
更好或更坏的视觉深度被迫为 m。 您可能想要使用 -诺什姆
使用此选项时(因此 XGetImage 可能会自动转换像素数据)。

-覆盖

在一个屏幕上处理多个深度视觉效果,例如 8+24 和 24+8 叠加视觉效果
(每像素 32 位包含 8 个伪彩色和 24 个真彩色)。

目前 -覆盖 仅适用于 Solaris 通过 读取屏幕(3X11) 和 IRIX 使用
读取显示(3). 在 Solaris 上,图像周围存在“出血”问题
瞬态弹出菜单(但不适用于菜单本身):解决方法是禁用
SaveUnders 通过传递“-苏" 给 Xsun 的参数(在 /etc/dt/config/Xservers 中)。

使用 VHDL 语言编写 -覆盖 作为此类情况的解决方法:一些遗留应用程序
要求默认视觉效果为 8bpp (8+24),否则他们将使用 8bpp PseudoColor
即使默认视觉效果是深度 24 TrueColor (24+8)。 在这些情况下颜色
在某些窗口中 x11vnc 将不正确,除非 -覆盖 用来。 另一种用途
of -覆盖 是为了能够显示准确的鼠标光标形状(详情如下)。

-覆盖, 由于额外的图像,性能会有些慢
需要的转换。 为获得最佳性能,请勿使用 -覆盖, 反而
配置 X 服务器,使默认视觉效果为深度 24 TrueColor 并尝试
让所有应用程序都使用该视觉对象(例如,某些应用程序具有 -使用24 or -视觉的 选项)。

-overlay_nocursor

套数 -覆盖, 但不会尝试使用
叠加机制。

-8到24 [选择]

试试这个选项,如果 -覆盖 您的操作系统不支持,并且您使用的是旧版 8bpp
您希望在默认深度为 24(并且为 32)的多深度显示器上查看的应用程序
bpp) 或者对于某些应用程序具有默认深度 8 显示和深度 24 覆盖窗口。
此选项可能不适用于所有 X 服务器和硬件(在 XFree86/Xorg mga 上测试)
司机和Xsun)。 “opts”字符串不是必需的,如下所述。

此模式启用了一种黑客攻击,其中 x11vnc 监视距
根窗口。 如果找到任何 8bpp,它会提取索引颜色像素
值使用 XGetImage() 然后使用颜色图应用转换到
创建 TrueColor RGB 值,然后将其插入到
帧缓冲区。 这将创建显示的深度 24“视图”,然后导出
通过 VNC。

相反,对于默认深度 8 显示,深度 24 区域由
XGetImage() 和一切都被转换并插入深度 24 TrueColor
帧缓冲区。

请注意,即使没有*深度 24 视觉效果或窗口(即纯 8bpp),这
模式可能是一种改进 -flashcmap 因为它避免了闪烁
并以正确的颜色显示每个窗口。

这种方法可以正常工作,但可能仍然存在错误并且会占用资源。 如果有
是使用不同颜色图的多个 8bpp 窗口,可能必须将所有窗口都图标化
但一种颜色是正确的。

在深度8的窗口之间进行剪辑和切换可能存在绘画错误
和 24. 应用启发式方法以尽量减少绘画错误。 一罐
如果错误没有修复,也可以连续按 3 个 Alt_L 刷新屏幕
本身。 还有选项 -修复屏幕 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”会将非默认可视窗口的搜索限制为
根窗口的两个级别。 在您知道的慢速机器上执行此操作
窗口管理器只在应用程序窗口和根之间强加一个额外的窗口
窗口。

同样对于非常慢的机器使用“cachewin=t”,其中 t 是一个浮点数
是时候缓存 XGetWindowAttributes 结果了。 例如 cachewin=5.0。 这可能会导致
在去图标化,绘画时,窗户在这段时间内未被注意到
错误等。

在非常旧的 SS20 上进行测试时,这些选项给出了可以接受的响应: -8到24
轮询=0.2,cachewin=5.0。 对于这台机器 -覆盖 得到支持并提供更好的
响应。

可以通过设置“dbg=1”、“dbg=2”或“dbg=3”来启用此模式的调试。

-24到32

非常罕见的问题:如果帧缓冲区(X 显示或 -原始文件) 是 24bpp 而不是
通常为 32bpp,然后将像素动态转换为 32bpp。 这样会比较慢
但可用于解决 VNC 查看器无法处理 24bpp 的问题(例如
“主要:setPF:不是 8、16 或 32 bpp?”)。 有关更多信息,请参阅常见问题解答。

在案件 -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"。

禁用 -滚动复制-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 进程终止时重新启动它。 -背景
-inetd 在这种模式下被忽略(但是请参阅 -loopbg 下文)。

即使 X 服务器终止并重新启动(在那个时刻
该进程当然需要重新连接到新的 X 服务器的权限)。

使用,例如, -循环100 在重新启动等之间休眠 100 毫秒。默认值为
2000 毫秒(即 2 秒)使用,例如 -循环300,5 睡眠 300 毫秒,只循环 5 次。

If -loopbg (加上任何数字)被指定,“-背景" 选项是隐含的,并且
模式近似 内网(8) 一定程度的使用。 在这种情况下,当它去
进入后台,任何监听套接字(即端口 5900、5800)都已关闭,因此
循环中的下一个可以使用它们。 此模式仅在 VNC
客户端(该进程的唯一客户端)在进程之前已经连接
进入后台,例如,使用 -显示 等待:.., -svc,
-连接 可以利用这种“穷人的” inetd 模式。 默认等待时间是
在此模式下为 500 毫秒。 这种用法可能有用: -svc -背景 -loopbg

-暂停 n

除非客户端在启动后的前 n 秒内连接,否则退出。

如果 n 秒后没有连接尝试,则 x11vnc 立即退出。
如果客户端尝试连接但尚未进入正常操作
状态,x11vnc 给它几秒钟的时间来完成并退出,如果它没有
它到正常状态。

通过反向连接 -连接 or -连接或退出 n 秒超时
将为所有反向连接设置。 如果连接超时警报响起,
x11vnc 将立即退出。

-睡眠 n

启动时在继续前 n 秒休眠(例如,允许重新定向和监听
客户启动)

如果给出范围:'-sleepin min-max',则最小值和最大值之间的随机值是
睡了。 例如'-sleepin 0-20'和'-sleepin 10-30'。 也允许浮动。

-inetd

发起人 内网(8): stdio 而不是监听套接字。 注意:如果你不是
将 stderr 重定向到日志文件(通过 shell 2> 或 -o 选项)您还必须指定
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -q 选项,否则 stderr 会转到查看器,这将导致它
中止。 指定两者 -inetd-q 和不 -o 会自动关闭
标准错误。

如果使用的 libvncserver 支持非 AF_INET 套接字(捆绑在 x11vnc
0.9.13 及更高版本),然后 -inetd mode 可用于原始 stdio 管道。 为了
例如,使用 SSVNC 查看器 exec=... 机制:

svvnc -观众 执行=“ssh” -tt -e 无用户@host \´x11vnc -inetd -o log.txt的 -显示
:0'"

长的 cmdline 被拆分的地方。 在上面唯一的TCP连接是
ssh 连接的那个。 没有端口重定向(-L)等; 原始标准输出是
在ssh的两边使用。 在某些情况下, -tt 不需要选项。

-tightfilexfer

启用 TightVNC 文件传输扩展。 请注意,当 -只读
选项提供所有文件传输被禁用。 还有登录的客户端
viewonly 无法传输文件。 但是,如果使用远程控制机制
要更改全局或每个客户端的 viewonly 状态,文件传输权限将
没变。

重要提示:请理解,如果 -tightfilexfer 指定并且您运行 x11vnc 作为
root 用于,例如,inetd 或显示管理器(gdm、kdm 等)访问权限,而您没有
它通过切换用户 -用户 选项,然后连接的 VNC 查看器可以执行
filetransfer 以 *root* 身份读写。

此外,tightfilexfer 在 -unixpw 模式。

-超文件传输

注意:要启用 UltraVNC 文件传输并使其正常工作,您可能需要
提供这些 LibVNCServer 选项:“-rfb版本 3.6 -允许文件传输"
"-超文件传输" 是这个组合的别名。

重要提示:请理解,如果 -超文件传输 指定并且您运行 x11vnc 作为
root 用于,例如,inetd 或显示管理器(gdm、kdm 等)访问权限,而您没有
它通过切换用户 -用户 选项,然后连接的 VNC 查看器可以执行
filetransfer 以 *root* 身份读写。

请注意,遗憾的是你不能同时做 -tightfilexfer-超文件传输 在同一个
时间,因为后者需要将版本设置为3.6,而tightvnc不会
当它看到该版本号时进行文件传输。

-http

而不是使用 -http目录 (见下文)指定Java vncviewer小程序所在的位置
是,让 x11vnc 尝试通过相对于
程序位置和标准位置(/usr/local/share/x11vnc/classes 等)。
-ssl or -隧道 寻找 ssl classes 子目录。

-http_ssl

As -http, 但强制查找 ssl 类子目录。

注意对于HTTPS,单端口Java小程序传送你可以设置
X11VNC_HTTPS_DOWNLOAD_WAIT_TIME 到等待小程序的最大秒数
下载完成。 默认值为 15。

-阿瓦希

使用 Avahi/mDNS ZeroConf 协议将此 VNC 服务器通告给本地
网络。 (相关术语:Rendezvous、Bonjour)。 根据您的设置,您可能
需要启动 avahi-daemon 并在防火墙中打开 udp 端口​​ 5353。

您可以设置 X11VNC_AVAHI_NAME、X11VNC_AVAHI_HOST 和/或 X11VNC_AVAHI_PORT
环境变量覆盖默认值。 例如: -环境
X11VNC_AVAHI_NAME=沃利

如果在构建时无法找到 avahi API,则可以使用如下帮助程序 阿瓦希-
发布(1) 或 dns- sd(1) 将被审判

-mdns

与...一样 -avahi。

-zeroconf

与...一样 -avahi。

-连接 绳子

用于“vncviewer -listen”反向连接。 如果 绳子 具有形式
"host" 或 "host:port" 连接在启动时建立一次。

使用逗号表示主机和主机:端口的列表。 例如 -连接 主机 1、主机 2 或
主机 1:0,主机 2:5678。 注意同时反向连接多台主机
您可能还需要提供以下时间: -共享

请注意,与大多数 vnc 服务器不同,x11vnc 将需要一个密码才能进行反向操作
以及前向连接。 (假设密码验证已启用,
-rfbauth, 等)如果您不想为反向连接设置密码
在启动 x11vnc 之前,您的环境中的 X1VNC_REVERSE_CONNECTION_NO_AUTH=11。

If 绳子 包含 "/" 它被解释为定期检查的文件
对于新主机。 读取第一行,然后截断文件。 当心
如果 x11vnc 以 root 身份运行(例如通过 GDM(1),
等等)。

中继器模式:一些服务提供了一个中间的“vnc 中继器”:
http://www.uvnc.com/addons/repeater.html (并且 http://koti.mbnet.fi/jtko/
linux 端口)充当代理/网关。 像这样的模式需要一个初始
在启动 VNC 协议之前为反向连接发送的字符串。
以下是执行此操作的方法:

-连接 pre=some_string+主机:端口 -连接 pre128=some_string+主机:端口 -连接
中继器=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 模式使 x11vnc 充当 SSL 客户端
(启动 SSL 连接)而不是 SSL 服务器。 这个想法是 x11vnc 可能是
与处于收听模式的观看者连接到观看者侧的 stunnel。 如果你
不想要这种行为,使用 -环境 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
这对 -连接或退出 模式。

-代理 绳子

使用字符串中的代理(例如主机:端口)作为进行反向连接的代理
(-连接器 -连接或退出 选项)。

支持 Web 代理,但请注意,默认情况下,大多数代理仅支持
到端口 443 或 563 的目标连接,所以这可能不是很有用(
查看器需要监听那个端口,否则路由器必须做一个端口
重定向)。

Web 代理可以由“host:port”或“http://host:port"(端口
即使是常见的选择 80 或 8080 也是必需的)

还支持 SOCKS4、SOCKS4a 和 SOCKS5。 SOCKS 代理通常没有
对目的端口号的限制。

使用如下格式:socks://host:port 或 socks5://host:port。 注意 ssh -D
不支持SOCKS4a,所以使用socks5://. 对于socks:// SOCKS4 用于
数字 IP 和“本地主机”,否则使用 SOCKS4a(因此代理尝试
进行 DNS 查找)。

一种实验模式是“-代理 http://host:港口/..." 注意端口后面的"/"
这将它与普通的 Web 代理区分开来。 必须提供端口,即使
它是默认的 80。对于这种模式,对提供的 URL 执行 GET
附加字符串 host=H&port=P。 H 和 P 将是 -连接 反向连接主机
和港口。 使用字符串“__END__”禁用附加。 这里的基本思想
可能是某些 cgi 脚本提供了实际的查看器连接和隧道。
如何在 cgi、php 等中实际实现这一点尚不清楚......自定义网络
服务器或 apache 模块将是直截了当的。

另一种实验模式是“-代理 ssh://用户@主机" 在这种情况下,SSH 隧道是
用于代理。 除非您的 unix 用户名是,否则不需要“user@”
“主机”不同。 对于非标准 SSH 端口,请使用 ssh://user@host:port。 如果
代理被链接起来(见下一段),那么 ssh 必须是第一个。
如果 ssh-agent 未激活,则需要在
运行 x11vnc 的终端。 例子:

-连接 本地主机:0 -代理 ssh://me@friends-pc:2222

-连接 史努比:0 -代理 ssh://ssh.company.com

多个代理可以链接在一起以防万一需要跳出一个
最终到达 VNC 查看器的主机数量。 最多 3 个可以链接,分开
以逗号的顺序将它们连接起来。 例如:
http://host1:port1,socks5://host2:port2 或三个像:第一,第二,第三

IPv6:从 x11vnc 0.9.10 开始 -代理 选项应该正确连接到 IPv6 主机。
如果出现问题,您可以通过设置禁用 IPv6 -DX11VNC_IPV6=0 在 CPPFLAGS
配置时。 如果连接到 IPv6 主机出现问题,请考虑使用中继
包含的 inet6to4 脚本。

-vncconnect, -novncconnect

监控标准 VNC 程序设置的 VNC_CONNECT X 属性 连接(1)。
当属性设置为“host”或“host:port”时建立反向连接。
运用 道具(1) 代替 vncconnect 可能会起作用(请参阅常见问题解答)。 这 -远程 控制
机制使用 X11VNC_REMOTE 通道,此选项也禁用/启用它。
默认: -vnc连接

为这些 X11 属性使用不同的名称(例如,具有单独的
同一显示器上多个 x11vnc 的通信通道)设置
VNC_CONNECT 或 X11VNC_REMOTE 环境。 变种到你想要的字符串,例如: -环境
X11VNC_REMOTE=X11VNC_REMOTE_12345 通道两侧必须使用相同
独特的名字。 对内部 X11VNC_TICKER 属性也可以这样做
(心跳和时间戳)如果需要。

-允许 主机 1[,主机 2..]

只允许来自与逗号分隔列表匹配的主机的客户端连接
主机名或 IP 地址。 以“.”结尾,也可以是数字IP
前缀,例如“192.168.100”。 匹配一个简单的子网,以获得更多的控制构建
具有 libwrap 支持的 LibVNCServer(请参阅常见问题解答)。 如果列表包含“/”它
相反,它被解释为包含重新读取的地址或前缀的文件
每次有新客户端连接时。 行可以用“#”字符注释掉
以通常的方式。

-允许 适用于 -ssl 模式,但不在 -隧道 模式。

IPv6:从 x11vnc 0.9.10 开始,可以以 IPv6 数字格式指定主机,例如
2001:4860:b009::93

环境变量:设置 -环境 X11VNC_DEBUG_ACCESS=1 打印调试信息
check_access() 调用。 放 -环境 X11VNC_ALLOW_FULLMATCH=1 强制一个完整的字符串
匹配,即没有子网“.” 将进行匹配。

Unix 套接字:如果 -unixsock 正在被使用,并且您还想限制 TCP 访问
还必须在允许中包含以“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 -connect_or_exit, 或计划使用遥控器: -R 连接:主机,或
使用 -unixsock), 指定 -rfb端口 0

IPv6:如果支持 IPv6,此选项自动暗示 IPv6 环回
地址 '::1' 也是如此。

-unixsock STR

除了常规 TCP 端口外,还可以侦听 unix 套接字 (AF_UNIX) 'str' 以获取
传入连接。 此模式适用于本地连接或隧道
要确定 Unix 套接字文件的文件权限的端点
什么可以连接到它。 示例:mkdir 〜/秒; 修改 700 〜/秒; x11vnc -unixsock
~/s/我的袜子 -rfb端口 0 ... 同:x11vnc -unixsockonly ~/s/我的袜子 ... (看
-unixsockonly 下面。)

此模式目前需要 x11vnc 中捆绑的修改后的 libvncserver
0.9.13 tarball 及更高版本。

注意SSVNC unix vncviewer可以连接unix sockets,例如:ssvnc
-观众 unix=./s/mysock

作为一种特殊的机制,如果 'str' 为 -unixsock or -unixsockonly 是的
形成 "fd=n" 其中 n 是一个非负十进制整数,而不是创建一个
unix 套接字,该文件描述符(假设已经打开和 O_RDWR)将是
作为 VNC 客户端附加。 也许 execs x11vnc 的程序已经创建了一个
套接字对(2)沟通过来。 使用此机制,如果 -inetd (是的
基本上 fd=0) 对你来说不够灵活。

-unixsockonly STR

仅侦听 unix 套接字“str”,没有 TCP 端口。 首先请注意,可以禁用所有
tcp 监听端口通过指定'-rfbport 0'。 选项“-unixsockonly str”是
功能上等同于'-unixsock str -rfb端口 0'

-听6 STR

当处于 IPv6 侦听模式“-6”时,仅在具有地址的网络接口上侦听
STR. 它也适用于链接范围地址 (fe80::219:dbff:fee5:3f92%eth0) 和
IPv6 主机名字符串(例如 ipv6.google.com。)使用 LibVNCServer -听 选项
IPv4 接口。

-不查找

不要使用 gethostbyname() 或 gethostbyaddr() 来查找主机名或 IP 号。
如果名称解析设置不正​​确并导致名称长时间停顿,请使用此选项
查找超时等。

-输入 绳子

微调允许的用户输入。 如果 绳子 不包含逗号“,”
调整仅适用于普通客户端。 否则“,”之前的部分是正常的
客户和仅查看客户之后的部分。 “K”是击键输入,“M”
用于鼠标运动输入,“B”用于按钮单击输入,“C”用于剪贴板输入,以及
“F”用于文件传输(仅限 ultravnc)。 它们在字符串中的存在使
那种类型的输入。 例如“-输入 M" 表示普通用户只能移动鼠标和
"-输入 KMBCF,男" 让普通用户做任何事情,并让只能查看的用户移动
鼠标。 当全局变量时忽略此选项 -只读 有效(所有输入
在这种情况下被丢弃)。

-grabkbd

当 VNC 查看器连接时,尝试抓住键盘,以便(非
恶意)坐在物理显示器前的用户无法输入按键。
该方法使用 XGrab 键盘(3X11) 等不安全也不排除
物理显示器上的人通过向服务器注入按键
他们,自己抢键盘等等。
假设有人在显示器上。 这适用于远程服务台或
教育使用模式。

注意:在一些最近的 (12/2010) X 服务器和/或台式机上, -grabkbd 不再有效:
它可以防止窗口管理器调整窗口大小和类似的东西。 尝试
-unrabbo两者 下面(可能不起作用。)

-grabptr

As -grabkbd, 但对于鼠标指针使用 XGrab指针(3X11)。 不幸的是
对于 X 服务器的工作方式,用户仍然可以在以下位置移动鼠标
物理显示器,但他将无法用它改变窗口焦点。 还
一些调用的窗口管理器 XGrab服务器(3X11) 用于调整大小等,将作用于
本地用户的输入。 再次,来自工作人员的某种程度的合作
假设显示。

-unrabbo两者

每当有任何输入(键盘或指针)时,取消*两个*
键盘和指针同时注入合成输入。 这是为了让
窗口管理器等有机会抢。

-总是抢

两者都适用 -grabkbd-grabptr 即使没有连接 VNC 查看器。 如果你
只想要其中之一,使用 -R 遥控器重新打开另一个,例如 -R
nograbptr。

(密码:注意 LibVNCServer 密码选项“-rfbauth 文件“而
"-密码 STR" 在帮助输出的底部进行了描述。)

-查看密码 绳子

为仅查看登录提供第二个密码。 这 -密码 (完全访问)密码
还必须提供。

-密码文件 文件名

通过文件的第一行指定 LibVNCServer 密码 文件名 (反而
或通过 -密码 在其他人可能通过的命令行上看到它 ps(1))。

有关如何提供多个密码,仅供查看,请参阅下面的说明
密码,指定用于身份验证的外部程序,以及其他功能。

如果文件名以“rm:”为前缀,读取后将被删除。
也许这对限制文件的可读性很有用。 一般来说,
密码文件不应该被不受信任的用户读取(顺便说一句:也不应该
VNC -rfbauth 文件:它没有加密,只是用一个固定的密钥来掩盖)。

如果文件名以“read:”为前缀,它将定期检查
更改并重读。 保证在新客户端连接时重新读取
以便使用最新的密码。

If 文件名 以“cmd:”为前缀,那么“:”之后的字符串作为
外部命令:命令的输出将被解释为好像被读取
从密码文件(见下文)。 如果命令不以 0 退出,则 x11vnc
立即终止。 以这种方式指定超过 1000 个密码
启动 x11vnc 之前的 X11VNC_MAX_PASSWDS。 环境变量设置为
-接受。

请注意,由于 VNC 协议,只有密码的前 8 个字符是
使用(DES 密钥)。

If 文件名 以“custom:”为前缀,然后提供自定义密码检查器
作为“:”之后的外部命令。 该命令将在客户端运行时运行
验证。 如果命令以 0 退出,则接受客户端,否则为
拒绝了。 环境变量设置为 -接受。

自定义命令的标准输入将是一个十进制数字“len”,后跟
换行符。 “len”指定挑战大小,通常为 16(VNC 规范)。
然后是 len 字节,这是发送到
客户。 然后是 len 保存客户端响应的更多字节(即
使用标准中的用户密码通过 DES 加密的质询字符串
情况)。

“custom:”方案可用于实现动态密码或实现
使用更长密码和/或不同加密算法的方法。
后者也需要自定义 VNC 客户端。 可以创建一个
例如基于 MD5SUM 的方案。 也可以看看 -unixpw_cmd 联络一位教师

文件格式为 -密码文件:

如果文件中存在多个非空行,则它们都被视为有效
密码。 空行被忽略。 密码行可能被“注释掉”
(忽略)如果它们以字符“#”开头或该行包含字符串
“__跳过__”。 可以使用“__COMM__”字符串注释行:从它到
行尾被忽略。 可以通过“__EMPTY__”指定空密码
单独一行的字符串(请注意,您的查看器可能不接受空密码)。

如果字符串“__BEGIN_VIEWONLY__”单独出现在一行中,则剩余的
密码用于仅查看访问。 为了兼容性,作为特殊情况,如果
该文件只包含两行密码,第二行自动作为
只能查看密码。 否则必须使用“__BEGIN_VIEWONLY__”标记来拥有
仅查看密码。 (提示:将第 3 行和最后一行设为“__BEGIN_VIEWONLY__”以
有 2 个完全访问密码)

-showrfbauth 文件名

将保存在 rfbauth 文件中的模糊 VNC 密码打印到屏幕上 文件名
然后退出。

-使用pw

如果命令行上没有提供其他密码方法,首先查找
~/.vnc/密码 如果发现使用它 -rfbauth; 接下来,寻找 ~/.vnc/密码文件
并使用它 -密码文件; 否则,提示用户输入密码以创建
~/.vnc/密码 并将其与 -rfbauth 选项。 如果这些都不成功 x11vnc
立即退出。

-存储密码 通过 文件

存储密码 通过 作为文件中的 VNC 密码 文件. 一旦密码是
存储程序退出。 使用密码通过“-rfbauth 文件"

如果不带参数调用,“x11vnc -storepasswd", 提示用户输入
密码并存储在文件中 ~/.vnc/passwd。 用一个参数调用,
这将是存储提示密码的文件。

-nopw

在没有某种密码的情况下使用 x11vnc 时禁用大警告消息。

-接受 绳子

运行命令(可能是在 X11 显示器上提示用户)来决定是否
应允许传入客户端连接或不连接。 绳子 是外部命令
运行通过 系统(3) 或下面描述的一些特殊情况。 一定要报价 绳子
如果它包含空格、shell 字符等 如果外部命令返回 0
客户端被接受,否则客户端被拒绝。 请参阅下面的
仅接受客户端查看的扩展。

如果 x11vnc 以 root 身份运行(比如来自 内网(8) 或来自显示管理器 XDM(1),
GDM(1) 等),在提供之前仔细考虑安全影响
这个选项(同样对于 -不见了 选项)。

环境:RFB_CLIENT_IP 环境变量将设置为传入
客户端 IP 号和 RFB_CLIENT_PORT 中的端口(如果不可用,则为 -1)。
同样,RFB_SERVER_IP 和 RFB_SERVER_PORT(连接的 x11vnc 端),
设置为允许识别 tcp 虚拟电路。 x11vnc 进程 ID
将在 RFB_X11VNC_PID 中,在 RFB_CLIENT_ID 中的客户端 ID 号,以及
RFB_CLIENT_COUNT 中的其他已连接客户端。 RFB_MODE 将是“接受”。 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 绳子 是“popup”,然后使用内置的弹出窗口。 弹出窗口将超时
120 秒后,使用 "popup:N" 将超时时间修改为 N 秒(使用 0 表示不
暂停)。

在“弹出”的情况下,当 -unixpw 选项被指定,然后*秒*
用户通过 UNIX 密码成功登录后会弹出窗口。
这次用户将被标识为 UNIX:username@hostname,即“UNIX:”前缀
指示查看者通过哪个用户登录 -unixpw。 第一个弹出窗口仅用于
是否允许他甚至*尝试*通过unix密码登录。

If 绳子 是“xmessage”然后是 消息(1) 调用用于命令。
xmessage 必须安装在机器上才能工作。

"popup" 和 "xmessage" 都会提供一个选项来接受客户端 "View-
Only”(客户端只能观看)。如果出现此选项,则不会出现 -只读
已指定,在这种情况下,整个显示仅供查看。

如果用户提供的命令以类似“yes:0,no:*,view:3”为前缀
mycommand ..." 然后将数字命令返回码与
动作:分别是接受、拒绝和仅接受查看。 使用“*”代替
表示默认操作的数字(以防命令返回意外
价值)。 例如“no:*”是一个不错的选择。

请注意,当外部命令或弹出窗口正在运行时,x11vnc 会阻塞(其他
在此期间,客户可能看不到任何更新)。 所以一个人坐着一个身体
display 需要响应弹出提示。 (如果您锁定,请使用第二个 x2vnc
自己出去)。

更多 -接受 技巧:使用“popupmouse”只允许鼠标点击内置
弹出来被识别。 同样使用“popupkey”仅识别击键
回应。 这些是为了帮助避免用户通过以下方式意外接受客户
打字或点击。 所有 3 个弹出关键字都可以跟 +N+M 以提供一个
弹出窗口的位置。 默认设置是将弹出窗口居中。

-接受后 绳子

As -接受, 除了在客户端被接受后运行用户提供的命令
并经过认证。 RFB_MODE 将设置为“afteraccept”,另一个 RFB_*
变量如 -接受。 不比 -接受, 命令返回码不是
由 x11vnc 解释。 例子: -接受后 'killall xlock &'

-不见了 绳子

As -接受, 除了在客户端离开时运行用户提供的命令
(断开连接)。 RFB_MODE 将设置为“gone”,其他 RFB_* 变量为
in -接受。 “弹出”操作也适用。 不像 -接受, 命令返回
x11vnc 不解释代码。 例子: -不见了 'xlock &'

-unixpw [名单]

使用 Unix 用户名和密码验证。 x11vnc 将使用 su(1) 程序
来验证用户的密码。 [list] 是可选的逗号分隔列表
允许的 Unix 用户名。 如果 [list] 字符串以字符“!”开头然后
整个列表被视为排除列表。 请参阅下面的每个用户选项
可以应用。

一个熟悉的“登录:”和“密码:”对话框出现在一个黑色的用户面前
vncviewer 内的屏幕。 如果用户未能提供,则连接断开
3 次尝试正确密码或在 45 秒超时前不发送密码。
现有客户在此期间只能查看。

如果收到的第一个字符是“Escape”,那么 unix 用户名将不会是
在“登录:”之后显示,因为它是键入的。 这可能对 VNC 查看器有用
自动输入用户名和密码。

由于详细的行为 su(1) 可能因操作系统和本地而异
配置,在部署前测试模式以确保其正常工作
适当地。 x11vnc 将尝试保守并拒绝登录(如果有的话)
发生异常。

需要注意的一种情况:默认情况下 FreeBSD 和其他 BSD 是不可能的
用户运行 x11vnc 以通过以下方式验证他的 *自己的* 密码 su(1)(注释掉
pam_self.so 进入 /etc/pam.d/su 消除了这种行为)。 所以x11vnc登录
在这种情况下将始终 *FAIL*(即使提供了正确的密码)。

在 *BSD 上,一个可能的解决方法是以 root 身份启动 x11vnc
"-用户 +没有人" 选项立即切换到用户无名的地方
正常进行。

另一个潜在问题的来源是提示额外信息的 PAM 模块,
例如密码老化模块。 即使正确,这些登录也会失败
提供密码。

**重要**:防止 Unix 密码以 *明文* 的形式通过
网络,将执行以下两种方案之一:1) -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 密码
网络。)这也禁用了反向连接的本地主机要求
(见下文。)

请注意,使用 -本地主机 - SSH(1)(并且没有 -unixpw) 大致相同
需要 Unix 用户登录(因为 Unix 密码或用户的公钥
身份验证由 sshd 在运行 x11vnc 且仅本地的机器上使用
接受来自该机器的连接)。

关于反向连接(例如 -R 连接:主机和 -连接 主机),当
-本地主机 约束生效,则反向连接只能用于
连接到运行 x11vnc 的同一台机器(默认端口 5500)。 请使用一个
ssh 或 stunnel 端口重定向到查看器机器以反向隧道
通过加密通道连接。

In -inetd 模式将强制执行方法 1)(而不是方法 2)。 和 -ssl 有效
反向连接被禁用。 如果您通过 env 覆盖它。 var,一定要
还使用从查看器到 inetd 的加密。 提示:您也可以拥有自己的
stunnel spawn x11vnc -inetd 模式(从而绕过inetd)。 请参阅常见问题解答
细节。

逗号分隔的 [list] 中的用户名在“:”后可能有每个用户的选项,
例如“fred:opts”,其中“opts”是“+”分隔的“viewonly”、“fullaccess”列表,
“input=XXXX”或“拒绝”,例如“karl,wally:viewonly,boss:input=M”。 对于“输入=”它
是下面描述的 K,M,B,C -输入。

如果列表中的项目为“*”,则表示这些选项适用于所有用户。 它也是
意味着所有用户都可以在提供有效密码后登录。 用
如果您使用“*”设置全局选项,则“拒绝”明确拒绝某些用户。 如果
[列表] 以“!”开头字符然后“*”被忽略以检查用户是否
是允许的,但与它相关的选项值确实适用。

如果 [list] 以“%”开头,还有一些用于检查密码的实用程序
特点。 有关更多详细信息,请参阅 quick_pw() 函数。 描述:“%-”或
“%stdin” 表示从标准输入读取一行。 “%stdin2”表示从
第一个标准输入行和第二个标准输入行的密码。 “%env”表示它是
在 $UNIXPW 环境变量中。 前导“%/”或“%”。 意味着从第一行读取
% 字符后的文件名。 % 本身意味着提示输入
用户名和密码。 否则: %user:pass 例如 -unixpw %fred:剑鱼
其他情况 user:pass 从指定的来源读取。 如果密码是
打印正确的“Y 用户”,程序退出代码为 0。如果密码是
不正确,它会打印“N user”并且退出代码为 1。如果还有其他错误
退出代码为 2。此功能使 x11vnc 成为通用 unix 用户密码
检查工具; 它可以从脚本或其他程序中使用。 这些%密码
检查也适用于 -unixpw_nis-unixpw_cmd 选项​​。

对于 % 密码检查,如果 env. 变种UNIXPW_CMD 设置为命令然后它
以用户身份运行(假设密码正确)。命令的输出
不打印,程序或脚本必须通过其他方式管理它。 这
x11vnc 的退出代码将取决于运行的命令的退出代码。

使用 VHDL 语言编写 -nounixpw 如果之前在 cmd 行中启用了 unixpw 模式,则禁用它
(例如 -svc 模式)

-unixpw_nis [名单]

As -unixpw 以上,但不要使用 su(1) 而是使用传统的
获取权限(3)+ 地穴(3)验证密码的方法。 上述所有的 -unixpw 选项
和约束适用。

此模式要求加密的密码是可读的。 加密密码
存储在 / etc /阴影 除非以 root 身份运行 x11vnc,否则将无法访问。

这被称为“NIS”模式仅仅是因为在大多数 NIS 设置中用户加密
密码可由普通用户访问(例如“ypcat passwd”),因此用户
可以验证任何用户。

此模式不需要 NIS 即可工作(仅 获取权限(3) 返回
需要加密密码),但它不太可能起作用(作为普通的
用户)适用于大多数现代环境,除非 NIS 可用。 另一方面,
当 x11vnc 以 root 身份运行时,它将能够访问 / etc /阴影 即使 NIS 是
不可用(请注意,从 inetd 运行 x11vnc 时通常以 root 身份运行
和 xdm/gdm/kdm)。

换一种方式看,如果你不想使用 su(1) 提供的方法
-unixpw (即 su_verify()),您可以以 root 身份运行 x11vnc 并使用 -unixpw_nis。 任何
有密码的用户 / etc /阴影 然后可以进行身份​​验证。

In -unixpw_nis 模式,在任何情况下都不会验证 x11vnc 的用户密码
基于 su 调用的函数(即运行的函数 su_verify() /斌/苏 育明在
伪终端来验证密码。)但是,如果 -unixpw_nis 在使用
-找-创建 -显示 WAIT:... 模式,如果 x11vnc 是
以 root 身份运行, /斌/苏 可以在外部调用以运行查找或创建
命令。

-unixpw_cmd CMD

As -unixpw 以上,但不要使用 su(1) 而是运行外部提供的
命令 CMD. 其标准输入的第一行是用户名,第二行是
收到的密码。 如果命令以状态 0(成功)退出,则 VNC 用户
将被接受。 任何其他退货状态将被拒绝。

动态密码和非 unix 密码,例如 LDAP,可以通过这种方式实现
提供您自己的自定义帮助程序。 请注意,远程查看器被赋予 3
尝试输入正确的密码,因此程序可能会连续调用
许多(或更多)次。

如果需要允许用户列表来限制可以登录的用户,请使用 -unixpw [列表] 在
除了这个选项。

在 FINDDISPLAY 和 FINDCREATEDISPLAY 模式下 CMD 也将与
RFB_UNIXPW_CMD_RUN 环境。 变种非空并设置为对应的显示
查找/创建命令。 输入的前两行是用户名和密码作为
在上述正常情况下。 要支持 FINDDISPLAY 和 FINDCREATEDISPLAY,
CMD 应该以用户身份运行请求的命令(并且很可能拒绝运行
如果密码不正确,则它。)这是一个示例脚本(注意它有一个
硬连线假密码“abc”!)

#!/ bin / sh的 # 示例 x11vnc -unixpw_cmd 脚本。 # 读取stdin的前两行
(user and passwd) 读用户读通行证

如果 [ $debug = 0 ] ,则调试 = 1; 然后 echo "user: $user" 1>&2 echo "pass: $pass" 1>&2 env
| 埃格雷普 -i 'rfb|vnc' 1>&2 fi

# 检查密码是否有效。 #(一个真实的例子将使用 ldap 查找等!)
if [ "X$pass" != "Xabc" ]; 然后退出 1 # 错误的密码 fi

if [ "X$RFB_UNIXPW_CMD_RUN" = "X"]; then exit 0 # 正确密码 else # 运行
请求的命令 (finddisplay) if [ $debug = 1 ]; 然后回声“运行:
$RFB_UNIXPW_CMD_RUN" 1>&2 fi exec /斌/苏 - “$用户” -c "$RFB_UNIXPW_CMD_RUN" 文件
退出1

In -unixpw_cmd 模式,在任何情况下都不会验证 x11vnc 的用户密码
基于 su 调用的函数(即运行的函数 su_verify() /斌/苏 育明在
伪终端来验证密码。)由提供的 unixpw_cmd 来做
如果需要,用户切换,如果它有这样做的权限。

也可以看看 ”-密码文件 风俗:..." 以上是基于非 Unix 用户名的自定义
密码检查界面。

-找

使用 FINDDISPLAY 查找用户的显示。 这是“的别名-显示
等待:cmd=查找显示".

注意:如果一个 -显示 稍后在命令行上发生,它将覆盖 -找
设置。

对于这个和接下来的几个选项,请参见 -显示 WAIT:... 下面是所有的
细节。

-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 [显示]

应用 -查找/-findpy 尝试猜测 DISPLAY 的 XAUTHORITY 文件的启发式方法
'分散'。 如果未提供“disp”,则 -显示 在命令行
用来; 如果使用 $DISPLAY 失败; 并且失败了“:0”被使用。 x11vnc 然后
退出。

如果没有打印出任何内容,则表示没有找到 'disp' 的 XAUTHORITY; IE
失败。 如果打印出“XAUTHORITY=”,则表示使用默认值(即不
设置 XAUTHORITY)。 如果打印出“XAUTHORITY=/path/to/file”,则使用该文件。

XDM/GDM/KDM:如果您以 root 身份运行 x11vnc 并想找到 XAUTHORITY
在任何人尚未登录 X 会话之前,请使用:x11vnc -环境 FD_XDM=1 -findauth
...(如果用户已经登录 XAUTHORITY,这也将找到 XAUTHORITY
session.) 以 root 身份运行时,如果初始设置为 FD_XDM=1 -findauth
将失败。

-创建

首先尝试使用 FINDDISPLAY 查找用户的显示,如果不成功
通过 FINDCREATEDISPLAY 方法创建 X 会话。 这是一个别名
"-显示 等待:cmd=FINDCREATEDISPLAY-Xvfb".

注意:如果一个 -显示 稍后在命令行上发生,它将覆盖 -创建
设置。

SSH 注意:对于两者 -找-创建 你可以(应该!)添加“-本地主机“ 选项
强制SSH隧道访问。

-x虚拟

如在 -创建, 除了 Xdummy 而不是 Xvfb。

-xvnc

如在 -创建, 除了 Xvnc 而不是 Xvfb。

-xvnc_重定向

如在 -创建, 除了 Xvnc.redirect 而不是 Xvfb。

-xdummy_xvfb

设置 WAIT:cmd=FINDCREATEDISPLAY-Xdummy,Xvfb

-create_xsrv STR

设置 WAIT:cmd=FINDCREATEDISPLAY- 可以在任何设置后在 cmdline 上
等待:...和其他事情(例如 -svc, -xdmsvc) 调整 X 服务器列表。
计费示例: -svc ... -create_xsrv X假人,X

-svc

基于SSL访问的终端服务模式。 别名 -显示
等待:cmd=FINDCREATEDISPLAY-Xvfb -unixpw -用户 unix密码= -ssl 也保存“-服务".

注意:如果一个 -展示, -unixpw, - 用户, or -ssl 稍后在命令行上发生它
将覆盖 -svc 设置。

-svc_xdummy

As -svc 除了 Xdummy 而不是 Xvfb。

-svc_xvnc

As -svc 除了 Xvnc 而不是 Xvfb。

-svc_xdummy_xvfb

As -svc 与 Xdummy,Xvfb。

-xdmsvc

显示管理器基于 SSL 的终端服务模式。 别名 -显示
等待:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw -用户 unix密码= -ssl 也保存
"-xdm_服务".

注意:如果一个 -展示, -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 客户端显示“按‘Escape’ for System Greeter”选项
结合起来 -unixpw 和 xdmcp FINDCREATEDISPLAY 模式(例如 -xdmsvc)。

通常在一个 -unixpw 模式 VNC 客户端必须提供有效的用户名和密码
获得访问权限。 然而,如果 -unixpw_system_greeter 提供和
FINDCREATEDISPLAY 命令匹配 'xdmcp',然后用户可以选择按
转义然后获取 XDM/GDM/KDM 登录/欢迎面板。 届时他们将
直接向迎宾员提供用户名和密码。

否则,在 xdmcp FINDCREATEDISPLAY 模式下,用户必须提供他的用户名和
密码两次。 首先是初始 unixpw 登录对话框,然后是
随后的 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 服务器侦听端口。 你可以
还提供主机:端口重定向到不同的机器。

如果 0 <= 端口 < 200,则将其视为 VNC 显示(添加 5900 以获得实际
端口),如果端口 < 0 则 -港口 用来。

可能是使用的唯一原因 -重定向 选项与 SSL 结合使用
支持,例如 -ssl 节省。 这提供了一种向 VNC 添加 SSL 加密的简单方法
不支持 SSL 的服务器(例如 Xvnc 或 vnc.so) 实际上,该协议确实
甚至不需要是VNC,所以“-rfb端口 端口1 -ssl 节省 -重定向 主机:端口2”可以
代替 漏斗(1)。

这种模式只允许一个重定向连接。 这 -永远 选项不
申请。 用 -inetd or -环 为持续服务。

-显示 等待:...

普通人的特殊使用方式 -显示 选项。 有用的 -unixpw, 但是可以
独立于它使用。 如果显示字符串以 WAIT: 开头,则 x11vnc
在打开 X 显示(或 -rawfb 设备)。

这对于延迟打开某些使用模式的显示很有用(比如
如果 x11vnc 在引导时启动并且没有 X 服务器正在运行或用户登录
然而)。

如果字符串是,例如 WAIT:0.0 或 WAIT:1,即普通 X 前面的“WAIT”
显示,然后使用所指示的显示。

还可以在冒号之间插入几何图形,例如 WAIT:1280x1024:... 来设置
VNC 客户端首先连接到的显示器的大小,因为某些 VNC 查看器会
不会自动调整到新的帧缓冲区大小。

一个更有趣的案例是这样的:

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

在这种情况下,运行“cmd=”之后的命令来动态计算 DISPLAY
和可选的 XAUTHORITY 数据。 命令输出的第一行必须是
形式为 DISPLAY= . 在 Linux 上,如果虚拟终端已知,则追加
",VT=n" 到这个字符串和 中风(1) 程序也将运行。 任何剩余
输出被视为 XAUTHORITY 数据。 它可以是 XAUTHORITY= 的任何一种形式
或显示的原始 xauthority 数据。 例如;

xauth 提取物 - $DISPLAY”

注意:如上一段所述,您可以提供自己的 WAIT:cmd=...
程序或脚本,但有两个非常有用的*内置*:FINDDISPLAY
(别名 -找 以上)和 FINDCREATEDISPLAY(别名 -创建 以上。)大多数人使用
这些而不是创建自己的脚本。 阅读以下内容(尤其是
内置模式部分)以了解如何配置这两个有用的内置模式 -显示
等待:模式。

在案件 -unixpw (和 -unixpw_nis 仅当 x11vnc 以 root 身份运行时),然后
cmd= 命令以刚刚通过登录进行身份验证的用户身份运行,并且
密码提示。

在案件 -unixpw_cmd, 命令也将作为登录用户运行,如
只要用户提供的帮助程序支持 RFB_UNIXPW_CMD_RUN(请参阅
-unixpw_cmd 选项。)

同样在 -unixpw, 登录的用户可以在末尾放置一个冒号
她的用户名并提供几个选项:scale=、scale_cursor=(或 sc=)、solid(或
所以),id=,clear_mods(或cm),clear_keys(或ck),clear_all(或ca),重复,
速度=(或 sp=)、readtimeout=(或 rd=)、viewonly(或 vo)、nodisplay=(或 nd=)、
rotate= (or ro=), or noncache (or nc), 如果有更多的话,都用逗号隔开
比一个。 用户登录成功后,这些选项将应用于
VNC 屏幕。 例如,

登录名:fred:scale=3/4,sc=1,repeat 密码:...

登录: runge:sp=modem,rd=120,solid

为方便起见, m/n 意味着 scale= 例如 fred:3/4 如果您键入并输入您的
密码不正确,要检索您的长“登录:”行,请按向上箭头一次
(在输入任何其他内容之前)。

大多数这些冒号选项仅适用于内置的 FINDDISPLAY 和
FINDCREATEDISPLAY 模式,但请注意,它们在
环境也是如此,所以可以使用。

在登录面板中,按 F1 以获取您可以使用的可用选项列表
在用户名后添加。

另一个选项是“geom=WxH”或“geom=WxHxD”(或ge=)。 这仅在
FINDCREATEDISPLAY 模式,当将要创建虚拟 X 服务器(例如 Xvfb)时。
它将新显示器的宽度和高度设置为
井。

您还可以提供“gnome”、“kde”、“twm”、“fvwm”、“mwm”、“dtwm”、“wmaker”、“xfce”、
“lxde”、“enlightenment”、“Xsession”或“failsafe”(与“xterm”相同)
创建的显示为用户会话使用该模式。

指定“tag=...”以设置下面描述的唯一 FD_TAG 桌面会话标签。
注意:如果 FD_TAG env,此选项将被忽略。 变种已经设置或者如果
查看器端提供的值不完全由字母数字或“_”或“-”组成
字符。

用户首选项文件:而不是让用户输入 geom=WxH,... 等等。
当他登录查找或创建他的 X 会话时,如果您将 FD_USERPREFS 设置为
不包含“/”字符的字符串,则用户的主目录为
附加到该字符串,如果文件存在,则读取并附加其第一行
他在登录时提供的任何选项:提示。 例如 -环境
FD_USERPREFS=.x11vnc_create 并且用户将“geom=1600x1200”放入他的
〜/.x11vnc_create 文件中。

要禁用选项设置,请设置环境变量 X11VNC_NO_UNIXPW_OPTS=1
在启动 x11vnc 之前。 要设置任何其他选项,用户可以使用 gui (x11vnc
-gui 连接)或远程控制方法(x11vnc -R opt:val) 在他的 VNC 期间
会议。

所以我们看到组合 -显示 等待:cmd=... 和 -unixpw 允许自动
将经过 unix 身份验证的 VNC 用户与其桌面配对。 这可能很
在 SunRays 以及多个用户共享给定机器的任何系统上很有用。
用户无需记住为其设置的特殊端口或密码
桌面和 VNC。

使用 WAIT:cmd=... 的好方法是 内网(8)(它会自动分叉一个新的
每个用户 x11vnc)。 你可以让 x11vnc inetd 产生的进程运行,比如,
根或没有人。 以 root 身份运行时(对于 inetd 或显示管理器),您可以
还提供选项“-用户 unix密码=" 让 x11vnc 进程切换到
用户也是如此。 注意:会有一个不会切换的第二个 SSL 辅助进程,
但它只是在那时对加密的流进行编码和解码。

内置模式:

-- 自动查找用户 X 会话 --

作为一种特殊情况,WAIT:cmd=FINDDISPLAY 将运行一个适用于大多数 Unix 的脚本
确定用户的 DISPLAY 变量和 xauthority 数据(请参阅 (1))。

注意:选项“-找" 是这种模式的别名。

要将此默认脚本打印到标准输出(例如用于自定义),请运行
WAIT:cmd=FINDDISPLAY-print 让脚本运行以打印它将显示的内容
找到使用“-findpy" 或 WAIT:cmd=FINDDISPLAY-run

标准脚本运行 xdpy信息(1) 在潜在显示器上运行。 如果你的 X
服务器有一个专门抓取 Xserver 的登录欢迎程序,然后是 xdpyinfo
永远阻塞,这种模式将不起作用。 看
www.karlrunge.com/x11vnc/faq.html#faq-display-manager 了解如何禁用此功能
dtgreet 在 Solaris 上,也可能用于其他迎宾员。

In -find/cmd=查找显示 模式,如果您设置 FD_XDM=1,例如 'x11vnc -环境 FD_XDM=1
-找 ...' 并且 x11vnc 以 root 身份运行(例如 inetd)然后它将尝试找到
正在运行的 XDM/GDM/KDM 登录欢迎程序的 XAUTHORITY 文件(即没有用户登录
进入 X 会话。)

作为另一种特殊情况,WAIT:cmd=HTTPONCE 将允许 x11vnc 服务一个 http
请求然后退出。 这通常是在 -inetd 在端口上运行的模式
5800 并允许客户端 Web 浏览器下载 Java vncviewer。 为了
例:

5815 流 tcp nowait root /usr/sbin/tcpd /.../x11vnc \ -inetd -q -http_ssl -程序
/.../x11vnc \ -显示 等待:cmd=HTTPONCE

其中 /.../x11vnc 是 x11vnc 的完整路径。 它用于 Apache SSL 门户
示例(请参阅常见问题解答)。

在此模式下,您可以将 X11VNC_SKIP_DISPLAY 设置为逗号分隔的显示列表
(例如“:0,:1”)在查找过程中忽略。 “:”是可选的。 范围nm
例如,也可以提供 0-20。 这个字符串也可以由连接用户设置
通过 "nd=" 使用 "+" 而不是 "," 如果 "nd=all" 或者您设置 X11VNC_SKIP_DISPLAY=all
那么所有显示查找都失败了,就好像您设置了 X11VNC_FINDDISPLAY_ALWAYS_FAILS=1
(以下。)

在某些系统上 (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 覆盖

对于其启发式,创建显示脚本设置 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 身份运行。 在某些情况下
权限可能需要以 root 身份运行,在这些情况下指定
FD_XDUMMY_RUN_AS_ROOT=1,这个和提供一样 到 Xdummy cmdline。

Xvfb 在大多数平台上都可用,不需要 root。

Xdummy 相对于 Xvfb 的一个优势是 Xdummy 支持 RANDR 动态屏幕
调整大小。

当 x11vnc 退出(即用户断开连接)时,X 服务器会话在
背景。 FINDDISPLAY 下次会直接找到。 用户必须退出
X 会话以通常的方式终止(或终止 X 服务器进程,如果
其他一切都失败了)。

要对 FINDCREATEDISPLAY 机制进行故障排除,请设置以下环境。 变种到
输出日志文件,例如 -环境 CREATE_DISPLAY_OUTPUT=/tmp/mydebug.txt

所以这对于 x11vnc 来说有点奇怪,因为它会启动并轮询虚拟
X服务器! 这可以用于,例如, 内网(8) 提供明确的手段
在机器上获得桌面(真实的或虚拟的)。 例如桌面服务:

5900 流 tcp nowait root /usr/sbin/tcpd /.../x11vnc -inetd -q -http -ssl 节省
-unixpw -用户 unixpw=\ -密码 秘密 -程序 /.../x11vnc \ -显示
等待:cmd=FINDCREATEDISPLAY

其中 /.../x11vnc 是 x11vnc 的完整路径。

查看 -svc/-服务 上面的选项别名。

如果出于某种原因您不希望 x11vnc 尝试查找现有显示
设置环境。 var X11VNC_FINDDISPLAY_ALWAYS_FAILS=1(也 -环境 ...)这是
与设置 X11VNC_SKIP_DISPLAY=all 或在“用户名:”后提供“nd=all”相同

使用 WAIT:cmd=FINDCREATEDISPLAY-print 打印出用于此的脚本。

您可以通过例如 WAIT:cmd=FINDCREATEDISPLAY- 指定首选的 X 服务器顺序
Xdummy、Xvfb、X 和/或省略您不想要的。 案例“X”表示尝试
使用以下命令启动一个真正的硬件 X 服务器 init(1)或 运行startx(1). 如果有
已经有一个运行 X 案例的 X 服务器可能只能在 Linux 上运行(参见 运行startx(1))。

“Xvnc”将启动一个 VNC X 服务器(真实或紧密的 vnc,例如,如果 Xvfb 不是
可用的)。 “Xsrv”将启动变量“FD_XSRV”中的服务器程序,如果
它是非空的。 如果您愿意,您可以将其设为包装脚本(它必须处理
:N, -几何学,-深度 和其他 X 服务器选项)。

您可以将环境变量 FD_GEOM(或 X11VNC_CREATE_GEOM)设置为 WxH 或
WxHxD 设置创建的宽度和高度以及可选的颜色深度
展示。 您还可以将 FD_SESS 设置为会话(会话的简称
窗口管理器:kde、gnome、twm、failsafe 等)。 FD_OPTS 包含额外的选项
传递到 X 服务器。 您还可以将 FD_PROG 设置为完整路径
会话/窗口管理器程序。

更多 FD 技巧:FD_CUPS=port 或 FD_CUPS=host:port 将设置杯子打印
环境。 同样对于 FD_ESD=port 或 FD_ESD=host:port 用于 esddsp 声音
重定向。 将 FD_EXTRA 设置为 X 服务器后几秒钟运行的命令
启动。 将 FD_TAG 设置为会话的唯一名称,设置为 X
属性,这使得 FINDDISPLAY 只查找具有该标记值的会话。

将 FD_XDMCP_IF 设置为运行显示管理器的网络接口;
默认为 'localhost' 但您可能需要仅在某些 IPv1 上将其设置为 '::6'
系统或错误配置的显示管理器。

如果您希望 FINDCREATEDISPLAY 会话联系 XDMCP 登录管理器
(xdm/gdm/kdm) 在同一台机器上,然后使用“Xvfb.xdmcp”而不是“Xvfb”等。
用户将不得不再次提供他的用户名和密码(但他得到
选择他的桌面类型,以便有用)。 为此,您需要
为显示管理器启用本地主机 XDMCP(udp 端口​​ 177)。 这似乎
是:

对于 gdm.conf 中的 gdm:在 [xdmcp] 部分中 Enable=true 对于 kdmrc 中的 kdm:
在 xdm-config 中的 xdm 部分 [Xdmcp] 中启用 = true:DisplayManager.requestPort:
177

请参阅上面的速记选项“-svc“”-xdmsvc“和”-sshxdmsvc" 指定
以上选项适用于一些有用的情况。

如果你设置了 env. var WAITBG=1 x11vnc 听完就会进入后台
在等待模式。

另一种特殊模式是 FINDCREATEDISPLAY-Xvnc.redirect,(或 FINDDISPLAY-
Xvnc.重定向)。 在这种情况下,如果需要,它会像上面一样启动 Xvnc,但是
以正常方式轮询它,它只是对
将 VNC 查看器连接到 Xvnc。

所以在 Xvnc.redirect 中,x11vnc 没有 VNC,只是将数据传回并
向前。 这应该比 x11vnc 的轮询方法快,但不如
使用 VNC 查看器直接连接到 Xvnc。 这里的想法是采取
x11vnc 的显示查找/创建方案的优势,SSL,也许还有一些
其他。 x11vnc 的大部分选项不适用于此模式。

Xvnc.redirect 也应该适用于 h/w 显示的 vnc.so X 服务器模块
但是它只能用于查找显示并且用户必须已经
登录到 X 控制台。

-v加密 模式

VNC 协议的 VeNCrypt 扩展允许加密的 SSL/TLS 连接。
如果 -ssl 模式被启用,然后 VeNCrypt 也被默认启用(它们都
使用 SSL/TLS 隧道,只是协议握手有点不同。)

要控制何时以及如何使用 VeNCrypt,请指定模式字符串。 如果模式是
“从不”,则不使用 VeNCrypt。 如果模式是“支持”(默认)然后
支持 VeNCrypt。 如果 mode 为“only”,则类似且较旧的 ANONTLS
不同时支持协议。 x11vnc 的正常 SSL 模式 (vncs://) 将
得到支持 -ssl 除非您将模式设置为“强制”。

如果 mode 以“nodh:”为前缀,则 Diffie Hellman 匿名密钥交换是
禁用。 如果模式以“nox509:”为前缀,则禁用 X509 密钥交换。

禁用所有匿名 Diffie-Hellman 访问(易受中间人影响)
攻击)你需要提供“-v加密 点头:支持 -annotls 从不”或
"-v加密 点头:只有"

如果 mode 以“newdh:”为前缀,则生成新的 Diffie Hellman 参数
对于每个连接(这可能很耗时:1-60 秒;请参阅 -dh参数 下面的
一种更快的方式),而不是在程序中使用固定值。 使用固定,
不知道公开的值是一个安全问题。 此设置适用
到 ANONTLS 也是如此。

长示例: -v加密 新的:nox509:支持

此外,如果模式以“plain:”为前缀,那么如果 -unixpw 模式处于活动状态
Unix 登录启用了 VeNCrypt "*Plain" username+passwd 方法。 否则在
-unixpw 模式提供正常的登录面板。

你*必须*提供 -ssl VeNCrypt 激活的选项。 这 -v加密 选项
只微调其操作。

-annotls 模式

VNC 协议的 ANONTLS 扩展允许加密的 SSL/TLS 连接。 如果
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -ssl 模式被启用,然后 ANONTLS 也被默认启用(他们都使用
SSL/TLS 隧道,只是协议握手有点不同。)

ANONTLS 是 vino 引入的一种较旧的 SSL/TLS 模式。

它因其注册的 VNC 安全类型名称而被称为“TLS”,但我们使用
此处更具描述性的“ANONTLS”,因为它仅提供匿名差异
Hellman 加密连接,因此没有证书的可能性
身份验证。

要控制何时以及如何使用 ANONTLS,请指定模式字符串。 如果模式是
“从不”,则不使用 ANONTLS。 如果模式是“支持”(默认)然后 ANONTLS
支持。 如果 mode 是“only”,那么类似的 VeNCrypt 协议就不是
同时支持。 将支持 x11vnc 的普通 SSL 模式 (vncs://)
-ssl 除非您将模式设置为“强制”。

如果 mode 以“newdh:”为前缀,则生成新的 Diffie Hellman 参数
对于每个连接(这可能很耗时:1-60 秒;请参阅 -dh参数 下面的
一种更快的方式),而不是在程序中使用固定值。 使用固定,
不知道公开的值是一个安全问题。 此设置适用
也到VeNCrypt。 参见“plain:”下的描述 -vencrypt。

长示例: -annotls 新的:平原:支持

你*必须*提供 -ssl 使 ANONTLS 处于活动状态的选项。 这 -annotls 选项
只微调其操作。

-slonly

与...一样: ”-v加密 决不要 -annotls 从不”即它禁用了 VeNCrypt 和
ANONTLS 加密方法并且只允许标准 SSL 隧道。 你还必须
提供 -ssl ... 选项(见下文。)

-dh参数 文件

对于某些操作,一组 Diffie Hellman 参数(素数和生成器)是
需要。 如果是这样,请使用中的参数 文件. 特别是,VeNCrypt 和 ANONTLS
匿名 DH 模式需要它们。 默认情况下使用固定集。 如果你不想
这样做你可以指定“newdh:” -v加密-annotls 生成选项
每个会话一个新的集合。 如果这对您来说太慢,请使用 -dh参数 文件到一个集合
您通过“openssl dhparam”手动创建 退房手续 文件 1024"

-诺斯尔

禁用 -ssl 选项(见下文)。 自从 -ssl 默认关闭 -诺斯尔 只会
在命令行上使用以取消设置任何*更早的* -ssl 选项(或 -服务...)

-ssl [佩姆]

使用 openssl 库(www.openssl.org)提供内置的加密 SSL/TLS
VNC 查看器和 x11vnc 之间的隧道。 这需要编译libssl支持
在构建时进入 x11vnc。 如果 x11vnc 没有使用 libssl 支持构建,它将退出
立即当 -ssl 规定。 见 -隧道 下面的选项
替代品。

VNC 查看器端也需要支持 SSL/TLS。 请参阅此 URL 以及
下面讨论有关如何为查看器启用 SSL 支持的想法:
http://www.karlrunge.com/x11vnc/faq.html#faq-ssl-tun nel-viewers 。 x11vnc 提供
classes/ssl 目录(-http 或 -http目录
选项。)SSVNC 查看器包也支持 SSL 隧道。

如果 VNC 查看器支持 VeNCrypt 或 ANONTLS(vino 的加密模式),它们是
也得到了支持 -ssl 模式(见 -v加密-annotls 更多选项
信息; 用 -slonly 禁用它们。)

使用 ”-ssl /路径/到/mycert.pem" 指定 PEM 格式的 SSL 证书文件以
用于标识和提供此服务器的密钥。 看 openssl的(1) 了解更多信息
关于 PEM 和 -sslGenCert 和“-ssl 节省" 下面是关于如何创建的选项
他们。

连接的 VNC 查看器 SSL 隧道可以(根据其选择)验证此服务器
如果它具有证书的公钥部分(或通用证书
权威,CA,是一种更复杂的方式来验证这个服务器的证书,见
-sslGenCA 以下)。 进行此身份验证是为了防止中间人
攻击。 否则,如果 VNC 查看器只接受此服务器的密钥,而没有
验证,流量受到保护,免受网络上的被动嗅探,但
*不是*来自中间人攻击。 有像 dsniff/webmitm 这样的黑客工具
和 cain 实施 SSL 中间人攻击。

如果 [pem] 为空或字符串“SAVE”,则 openssl的(1) 命令必须是
可用于第一次生成证书。 自签名证书是
生成(见 -sslGenCA-sslGenCert 用于证书颁发机构的使用。)它
将被保存到文件中 ~/.vnc/certs/server.pem。 在随后的调用中,如果
文件已经存在,直接使用。

使用“SAVE_NOPROMPT”来避免被提示保护生成的密钥
密码。 然而在 -inetd-背景 模式将不会提示您输入
两种情况下的密码。

如果 [pem] 是 "SAVE_PROMPT" server.pem 证书将根据您的
对所有信息(例如 OrganizationalName、CommonName 等)的提示的回答。

使用“保存- " 和 "SAVE_PROMPT- " 来引用文件
〜/.vnc/certs/server-.pem 代替(如果没有,它将生成
已经存在)。 例如“SAVE-charlie”将存储到文件中 〜/.vnc/certs/server-
查理.pem

示例:x11vnc -ssl 节省 -显示 :0 ... x11vnc -ssl 保存-某人 -显示 :0
...

如果 [pem] 是“TMP”并且 openssl的(1) PATH 中存在实用程序命令,然后一个
将为此会话生成临时的自签名证书。 如果
openssl的(1) 不能用于生成临时证书 x11vnc exits
立即地。 当 x11vnc 退出时,临时证书将被丢弃。

如果成功使用 openssl的(1) 在“SAVE”中生成临时证书或
“TMP”创建模式,它的公共部分将显示到标准错误(例如一个
可以将其复制到客户端以向 VNC 提供服务器身份验证
观众。)

注意:在“TMP”模式下,除非您安全地复制临时证书的公共部分
对观众进行认证*每次*(不太可能......),然后只是被动
嗅探攻击被阻止了,你仍然对中间人攻击持开放态度。
这就是为什么首选默认的“SAVE”模式(以及更复杂的 CA 模式)
也)。 仅使用保存的密钥和 VNC 查看器对其进行身份验证(通过公共
证书),是否防止了中间人攻击。

如果 [pem] 是“ANON”,则使用 Diffie-Hellman 匿名密钥交换方法。
在此模式下,*没有* SSL 证书,因此无法
验证 VNC 服务器或 VNC 客户端。 因此只有被动网络
避免嗅探攻击:“ANON”方法容易受到中间人的影响
攻击。 不推荐使用“ANON”; 而是使用您创建的 SSL PEM 或
默认的“保存”方法。

参见 -ssl目录 下面使用默认目录之外的目录 〜/.vnc/证书

如果您的 x11vnc 二进制文件不是使用 OpenSSL 库支持编译的,请使用
-ssl 选项将导致立即失败并退出。 对于此类二进制文件,请考虑
使用 -隧道 SSL 加密连接的选项。

其他信息:在临时证书创建模式“TMP”中,设置 env. 变种
X11VNC_SHOW_TMP_PEM=1 让 x11vnc 打印出整个证书,包括
PRIVATE KEY 部分,到 stderr。 有更好的方法来获取/保存这些信息。 看
上面的“保存”和“-sslGenCert”。

-ssl超时 n

将 SSL 读取超时设置为 n 秒。 在某些情况下(即图标化的查看器
Windows)查看器停止说话并在默认设置后断开连接
超时(大约第一分钟为 25 秒,之后为 43200 秒)。 设置为零以轮询
永远。 设置为负值以使用内置设置。

请注意,此值不适用于 *initial* ssl init 连接。 这
默认超时为 20 秒。 用 -环境 SSL_INIT_TIMEOUT=n 修改它。

-ssn失败

第一次 SSL 连接失败时退出。 在编写 SSL 连接脚本时很有用
(例如,x11vnc 是通过 ssh 启动的)并且您不希望 x11vnc 等待更多
连接,占用端口等。

-ssl目录 DIR

使用 VHDL 语言编写 DIR 作为备用 ssl 证书和密钥管理顶级目录。 这
默认是 〜/.vnc/证书

此目录用于存储服务器和其他证书和密钥以及
其他材料。 例如,在最简单的情况下,“-ssl 节省" 将存储 x11vnc
dir/server.pem 中的服务器证书

通过使用备用目录 -ssl目录 允许您管理多个 VNC
证书颁发机构 (CA) 密钥。 另一个用途是如果 〜/.vnc/证书 在 NFS 共享上
您可能希望您的证书和密钥位于本地文件系统上以防止
网络窥探(例如 -ssl目录 /var/lib/x11vnc-certs)。

-ssl目录 影响几乎所有其他 -SSL* 选项,例如 -ssl 保存, -sslGenCert,
等等..

-ssl验证

对于任一 -ssl or -隧道 模式,使用 提供证书给
验证传入的 VNC *Client* 连接(通常只有服务器是
在 SSL 中进行身份验证。)这可以用作替换标准密码的方法
客户的身份验证。

If 是一个目录,它包含单独的客户端(或 CA)证书
文件。 如果 path 是一个文件,它包含一个或多个证书。 查看特殊令牌
以下。 这些对应于“CApath = dir”和“CAfile = file”stunnel 选项。
查看 漏斗(8) 联机帮助页了解详细信息。

示例:x11vnc -ssl -ssl验证 〜/我的.crt x11vnc -ssl -ssl验证 〜/ my_pem_dir /

请注意,如果 path 是一个目录,则它必须在名为的单独文件中包含证书
喜欢.0,其中的值通过运行命令“openssl”找到
x509 -哈希 -noout -在 file.crt”。显然有人使用.1 如果有
碰撞...

密钥管理实用程序“-sslCertInfo 哈顺“和”-sslCertInfo 散列"
将在 HASH 中自动(通过符号链接)为您创建/删除这些哈希
它管理的子目录。 然后你可以点 -ssl验证 到 HASH 子目录。

特殊标记:在 -ssl 模式,如果 不是文件或目录,它被视为
逗号分隔的标记列表,解释如下:

如果令牌是“CA”,则意味着从 ssl 目录加载 CA/cacert.pem 文件。
如果令牌是“clients”,则 ssl 目录中的所有文件 clients/*.crt 都是
加载。 否则将尝试加载文件 clients/token.crt。 作为一个
kludge,如果你发现,使用像 ../server-foo 这样的令牌来加载服务器证书
必要。

使用 VHDL 语言编写 -ssl目录 使用不同的目录 〜/.vnc/证书 默认。

请注意,如果加载了“CA”证书,则不需要加载任何证书
已由其签署。 您将需要加载任何其他自签名证书
然而。

示例:x11vnc -ssl -ssl验证 CA x11vnc -ssl -ssl验证 自我:弗雷德,自我:吉姆
x11vnc -ssl -ssl验证 CA,客户

通常 ”-ssl验证 CA" 是最有效的。请参阅 -sslGenCA-sslGenCert
下面有关如何设置和管理 CA 框架的选项。

注意:以下实用程序, -sslGenCA, -sslGenCert, -sslEncKey, -sslCertInfo,
-sslCRL 提供完整性,但对于随意使用,它们是矫枉过正的。

他们提供 VNC 证书颁发机构 (CA) 密钥创建和服务器/客户端密钥
生成和签名。 所以他们提供了一个基本的公钥管理框架
用于使用 x11vnc 的 VNC。 (请注意,他们需要 openssl的(1) 安装在
系统)的

但是,最简单的使用方式,“-ssl TMP"(其中 x11vnc 自动生成
它自己的、自签名的、临时的密钥并且 VNC 查看器总是接受它,例如
通过对话框接受)对于大多数情况可能足够安全。 认证机构
不需要管理。

为了防止中间人攻击,可以通过以下方式改进“TMP”模式
使用 ”-ssl 节省“ (与...一样 ”-ssl",即默认值)让 x11vnc 创建一个更长的
term 自签名证书,然后(安全地)复制相应的公钥
证书到所需的客户端机器(必须注意私钥部分不是
被盗; 系统将提示您输入密码)。

所以请记住不要创建或管理 CA 密钥(-sslGenCA 和 -sslGenCert) is
以上两种常见使用模式中的任何一种都需要。

一个人可能想要使用 -sslGenCA-sslGenCert 如果你有大量的 VNC
客户端和服务器工作站。 这样管理员就可以生成一个
CA 密钥与 -sslGenCA 并将其证书部分分发给所有
工作站。

接下来,他可以为每个人创建签名的 VNC 服务器密钥(-sslGenCert 服务器...)
然后 x11vnc 将用于向任何 VNC 验证自身的工作站或用户
拥有 CA 证书的客户端。

或者,管理员也可以这样做,以便 VNC 客户端本身
已通过 x11vnc 身份验证(-sslGenCert 客户端 ...)为此 -ssl验证
指向 CA 证书(和/或自签名证书)。

x11vnc 将能够使用所有这些证书和密钥文件。 在 VNC 客户端上
一方面,它们需要以某种方式“导入”。 Web 浏览器具有“管理
证书”操作,Java 小程序插件控制面板也是如此。stunnel 可以
也使用这些文件(请参阅 FAQ 和 SSVNC 中的 ss_vncviewer 示例脚本。)

-sslCRL

将证书吊销列表 (CRL) 设置为 . 此设置同时适用于
-ssl-隧道 模式。

如果 path 是一个文件,则该文件包含一个或多个 PEM 格式的 CRL。 如果路径是
目录,它以通常的 OpenSSL 方式包含 CRL 的哈希命名文件。 看
OpenSSL 和 漏斗(8) 文档以获取更多信息。

此选项仅适用于 -ssl验证 已提供:它检查吊销
沿着用于验证 VNC 客户端的证书链。 这 -sslCRL 设置
时会被忽略 -ssl验证 未指定。

请注意,如果 CRL 的到期日期已过,则所有 SSL 连接都将失败
无论它们是否与 CRL 的主题相关。

很少有人的 x11vnc -ssl 基础设施太大以至于这个选项
会很有用(因为通常会维护 -ssl验证 文件或
目录应该足够了。)但是,当使用带有证书的 x11vnc
权威(见 -sslGenCA) 通过 SSL/TLS 对客户端进行身份验证, -sslCRL 选项
可用于撤销 SSL 私钥丢失或被盗的用户证书
(例如笔记本电脑。)这样就不需要创建新的 CA cert+key
生成并分发给所有用户的签名客户端密钥。

要使用已撤销的证书创建 CRL 文件,请使用命令 'openssl ca -撤销
...' 和 'openssl ca -gencrl ...'很有用。 (运行它们 〜/.vnc/证书)

-sslGenCA [目录]

生成您自己的证书颁发机构私钥、证书和其他文件
在目录 [dir] 中。 x11vnc 然后退出。

如果未提供 [dir],则一个 -ssl目录 设置被使用,或以其他方式 〜/.vnc/证书 is
用过的。

此命令还会创建服务器和客户端证书和密钥所在的目录
被存储。 这 openssl的(1) 程序必须安装在系统上并且可用
路径。

创建 CA 文件和目录后,x11vnc 命令退出; VNC
服务器未运行。

系统将提示您输入信息以放入 CA 证书。 信息确实
只要客户接受 VNC 证书,就不必准确
连接。 您还需要提供至少 4 个字符的密码
用于 CA 私钥。

生成 CA 后,您可以分发其证书部分,
[dir]/CA/cacert.pem,到将运行 VNC 查看器的其他工作站。 一会
需要在应用程序中“导入”此证书,例如 Web 浏览器、Java
小程序插件、stunnel 等。 接下来,您可以使用 CA 创建和签名密钥
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -sslGenCert 下面的选项。

示例:x11vnc -sslGenCA x11vnc -sslGenCA 〜/ myCAdir x11vnc -ssl目录 〜/ myCAdir
-sslGenCA

(最后两行是等价的)

-sslGenCert 类型 姓名

生成由 CA 签名的 VNC 服务器或客户端证书和私钥对
之前创建的 -sslGenCA。 - openssl的(1) 程序必须安装在
系统并在 PATH 中可用。

生成证书后 x11vnc 退出; VNC 服务器未运行。

要生成的密钥类型是字符串 类型. 它要么是“服务器”(即
供 x11vnc 使用)或“客户端”(用于 VNC 查看器)。 请注意,通常仅
使用“服务器”:VNC 客户端通过非公钥验证自己
方法(例如 VNC 或 unix 密码)。 类型 是必须的。

要与密钥关联的任意默认名称由
姓名 细绳。 您可以在创建密钥时根据各种提示更改它。 姓名
是可选的。

如果客户端键的名称留空,则使用“nobody”。 如果留空
服务器密钥,然后创建主服务器密钥:“server.pem”(这是
保存了一个由“引用”-ssl 节省"当服务器启动时)

If 姓名 以字符串“self:”开头,然后创建一个自签名证书
而不是由您的 CA 密钥签名的。

If 姓名 以字符串“req:”开头,然后只有一个密钥 (.key) 和一个证书
生成签名 *request* (.req)。 然后您可以将 .req 文件发送到
外部 CA(即使是专业 CA,例如 Thawte),然后将 .key 和
将收到的证书放入具有相同基本名称的 .pem 文件中。

“服务器”和“客户端”的区别只是输出的选择
文件名和子目录。 这使得 -ssl SAVE-name 选项可以很容易地
选择此选项生成的 x11vnc PEM 文件。 并且同样可以很容易地
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -ssl验证 选择获取您的客户证书。

两者的文件名或目录位置都没有什么特别之处
“服务器”和“客户端”证书。 您可以重命名文件或将它们移动到您想要的任何位置
喜欢。

在此选项之前加上 -ssl目录 [dir] 使用默认目录以外的目录
〜/.vnc/证书 你需要运行 -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 包装器的查看器上(请参阅常见问题解答):ss_vncviewer
-核实 ./cacert.crt 主机名:0

(这假设 cacert.crt 证书来自 -sslGenCA 已安全复制到 VNC
运行 ss_vncviewer 的查看器机器)

使用名称的示例:

x11vnc -sslGenCert 服务器查理 x11vnc -ssl SAVE-查理 -显示 :0 ...

客户端证书示例(很少使用):

x11vnc -sslGenCert 客户 roger scp 〜/.vnc/certs/clients/roger.pem 某主机:。 R M
〜/.vnc/certs/clients/roger.pem

x11vnc 然后用选项启动 -ssl验证 〜/.vnc/certs/clients/roger.crt
(或简单地说 -ssl验证 roger),并且在某个主机上的查看器用户可以为
例:

ss_vncviewer -mycert ./roger.pem 主机名:0

如果你设置了 env. var REQ_ARGS='...' 它将被传递给 openssl REQ(1). 一种
常见的用法是 REQ_ARGS='-days 1095' 来提高到期日期(3 年
在这种情况下)。

-sslEncKey PEM

使用您在提示时提供的密码来加密现有 PEM 文件的实用程序。
对于要使用的密钥(例如由 x11vnc),每次都必须提供密码。

下描述的“SAVE”符号 -ssl 也适用。 (在此选项之前加上
-ssl目录 [dir] 引用默认目录以外的目录 〜/.vnc/证书)

- openssl的(1) 程序必须安装在系统上并且在PATH 中可用。
Key文件加密后x11vnc命令退出; VNC 服务器不是
运行。

示例:x11vnc -sslEncKey /路径/到/foo.pem x11vnc -sslEncKey 保存 x11vnc
-sslEncKey SAVE-查理

-sslCertInfo PEM

打印有关现有 PEM 文件的信息。 此外,公众
还打印了证书。 这 openssl的(1) 程序必须在PATH 中。 基本上
命令“openssl x509 -文本” 在 pem 上运行。

打印信息后 x11vnc 命令退出; VNC 服务器未运行。

下描述的“SAVE”符号 -ssl 也适用。

使用“LIST”将给出正在管理的所有证书的列表(在 〜/.vnc/证书 是,
使用 -ssl目录 引用另一个目录)。 “ALL”将打印出每个的信息
托管密钥(这可能很长)。 提供客户端或服务器证书短名称将
也尝试查找(例如 -sslCertInfo 查理)。 长时间使用“LISTL”或“LL”(ls
-l 样式)列表。

使用“HASHON”将使用 OpenSSL 哈希创建子目录 [dir]/HASH 和 [dir]/HASH
文件名(例如 0d5fbbf1.0)符号链接指向相应的 *.crt 文件。
([目录] 是 〜/.vnc/证书 或由 -ssldir。) 这是其他人的有用方法
OpenSSL 应用程序(例如 stunnel)无需访问即可访问所有证书
连接它们。 除非您特别引用它们,否则 x11vnc 不会使用它们。
“HASHOFF”删除这些 HASH 子目录。

LIST、LISTL、LL、ALL、HASHON、HASHOFF 词也可以是小写的,例如“list”。

-sslDelCert PEM

提示您删除与 [pem] 关联的所有 .crt .pem .key .req 文件。 x11vnc
然后退出。 “保存”和查找如 -sslCertInfo 也适用。

-ssl脚本

打印出 'genCA' 和 'genCert' x11vnc openssl 包装器脚本供您使用
检查、修改等。脚本被打印到标准输出,然后是 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 连接的子进程启动
接收被解密并通过本地套接字发送到 x11vnc。 字符串“
SSL VNC 桌面是...”和“SSLPORT=...”在启动时打印出来以表明
本。

- -本地主机 默认情况下强制执行选项以避免人们绕过 SSL
渠道。 用 -环境 STUNNEL_DISABLE_LOCALHOST=1 禁用此安全性
需求。

选择 -环境 STUNNEL_DEBUG=1 用于更多调试打印输出。

选择 -环境 STUNNEL_PROG=xxx 到你要使用的 stunnel 程序的完整路径
(例如 /usr/bin/stunnel4)。

选择 -环境 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 -http目录 (见选项说明
有关更多信息。)

请注意,对于 Java 查看器小程序的使用,各种 URL 中的“?PORT=xxxx”
需要将启动时打印的内容提供给 Web 浏览器才能正确连接。

目前的自动“单端口”HTTPS模式 -ssl 不完全支持
-隧道 模式。 但是,它可以通过以下方式进行模拟:

% x11vnc -隧道 -http_ssl -http_oneport ...

一般来说,设置stunnel或其他SSL隧道也不是太难
在观看者一侧。 在 Unix 上使用 stunnel 3.x 的一个简单示例是:

% 窒息 -c -d 本地主机:5901 -r 远程主机:5900 % vncviewer 本地主机:1

对于 Windows,已将 stunnel 移植到它,并且可能还有其他此类工具
可用的。 有关更多示例,请参阅常见问题解答和 SSVNC。

-stunnel3 [佩姆]

使用 3.x 版 stunnel 命令行语法而不是 4.x 版。 这
-http/-http目录 Java 小程序服务目前在此模式下不可用。

-enc 密码:密钥文件

使用带有密码“密码”和“密钥文件”中的密钥数据的对称加密。 如果
密钥文件是 pw= 然后“字符串”用作关键数据。

注意:建议您通过以下方式使用 SSL -ssl 选项而不是这个选项
因为 SSL 很好理解并且非常小心地建立唯一的会话
键并与其他软件更兼容。 如果您不这样做,请使用此选项
想处理SSL证书进行认证,不想使用SSH
但想要对您的 VNC 会话进行一些加密。 或者,如果您必须与
您无法控制的对称密钥隧道。

请注意,此模式不适用于 UltraVNC DSM 插件,因为它们会改变
除了使用对称密码(一个
不幸的选择实施...)

cipher 可以是以下之一:arc4、aesv2、aes-cfb、blowfish、aes256 或 3des。 见
OpenSSL 文档了解更多信息。 密钥大小为 128 位(aes256 除外)。
这是制作具有这么多位的密钥文件的一种方法:

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

您需要与 VNC 连接的另一端安全地共享此密钥
(有关示例,请参见 SSVNC)。

计费示例: -enc 河豚:./my.key 示例: -enc 河豚:pw=剑鱼

默认情况下 16 个字节的随机盐,然后是 16 个字节的随机初始化
向量在流的最开始发送。 另一边必读
这些并用它们初始化它们的密码。 这些值使会话密钥
独特的(没有它们,安全性很小)。 同样,对方必须发送
我们使用相同长度的随机盐和 IV。

盐和密钥数据结合起来使用 md5 哈希创建会话密钥作为
描述于 EVP_BytesToKey(3)。

确切的调用是: 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

将任何一个设置为零都不是一个好主意,尽管您可能会被迫这样做
隧道的另一边不在你的控制之下。

完全跳过 salt 和 EVP_BytesToKey MD5(不进行散列:keydata
直接插入密码中)为盐指定“-1”,例如

-enc 河豚@-1,16:./my.key

消息摘要也可以更改为默认 MD5 以外的内容。 用
cipher@md+n,m 其中“md”可以是 sha、sha1、md5 或成熟之一。 例如:

-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-aware
随 x11vnc 提供的 VncViewer.jar 小程序)。 由于两者都使用 SSL
实现扩展到检测是否发生 HTTP 流量(即 GET)
并相应处理。 URL 将是,例如:

https://mymachine.org:5900/

这对于防火墙等来说很方便,因为只需要允许一个端口
但是,这种启发式方法为每个连接增加了几秒钟的延迟,并且可以
不可靠(特别是如果用户花很多时间思考证书
他的浏览器、Java VM 或 VNC 查看器小程序中的对话框。 没错 3 分开
“你确定要连接吗?” 对话框!)

背景结束。

用法:所以使用 -https 提供单独的、更可靠的 HTTPS 端口的选项
x11vnc 会监听。 如果 [port] 未提供(或为 0),则为一个
自动选择。 要使用的 URL 在启动时打印出来。

SSL Java 小程序目录是通过 -http目录 选项。 如果不
供应, -https 将尝试猜测目录,好像 -http 选项是
提供。

-httpsredir [港口]

In -ssl 使用通过 HTTPS 检索的 Java 小程序的模式,当 HTML 文件
包含小程序参数('index.vnc' 或 'proxy.vnc')被发送不要设置
applet PORT 参数设置为实际的 VNC 端口,但将其设置为“端口”。 如果
未提供“端口”,则从 Host: HTTP 标头猜测端口号。

当传入 TCP 连接重定向由
从一个端口到 x11vnc 所在的内部机器的路由器/网关/防火墙
侦听不同的端口。 Java 小程序需要连接到
防火墙/路由器端口,而不是内部工作站上的 VNC 端口。 例如,
可以从 mygateway.com:443 重定向到工作站: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 -环境 X11VNC_EXTRA_HTTPS_PARAMS='?GET=1' ...

如果您不想将非 SSL HTTP 端口暴露给网络(即您只是
想要单个 VNC/HTTPS 端口,例如 5900,打开连接)然后指定
选项 -环境 X11VNC_HTTP_LISTEN_LOCALHOST=1 这样连接到
LibVNCServer httpd 服务器将仅在本地主机上可用(请注意,在 -ssl
模式,HTTPS 请求从 SSL 重定向到非 SSL LibVNCServer HTTP
服务器。)

-http_oneport

对于未加密的连接模式(即没有 -SSL, - 隧道, or -enc 选项),允许
要通过 VNC 端口通过 HTTP 下载的 Java VNC 查看器小程序。

也就是说,您可以通过以下方式使用单个端口进行 Java 小程序查看器连接
在您的网络浏览器中使用这样的 URL,例如:

http://hostname:5900

常规、双端口模式、URL http://hostname:5800 也将继续工作。

如上所述,此模式不适用于 -SSL, - 隧道, or -enc
加密选项。 请注意,它是否等同于“-enc none”(即它使用
与 HTTPS 相同的检测机制,但没有加密。)

HTTPS 单端口默认开启 -ssl 加密模式(和 -enc 太),所以你
只需要 -http_oneport 进行非 SSL 加密连接时。

这种模式对于 SSH 隧道也很有用,因为它意味着只需要一个端口
被重定向。

- -httpsredir 当使用 SSH 隧道作为
以及路由器端口重定向。

请注意 -环境 上面描述的 X11VNC_HTTP_LISTEN_LOCALHOST=1 选项
-httpsredir 适用于所有情况下的 LibVNCServer httpd 服务器(ssl 与否。)

- ssh 用户@主机:disp

使用 SSH 隧道在机器“主机”上创建远程侦听端口 -R
rport:localhost:lport 方法。 lport 将是本地 x11vnc 监听端口,所以
与“主机”上的 rport (5900+disp) 的连接将达到 x11vnc。 例如
[电子邮件保护]:0

如果防火墙/路由器阻止传入连接到
x11vnc 机器,但 VNC 查看器可以访问 ssh 机器“主机”。
除非远程 unix 用户名与当前用户名不同,否则不需要“user@”。

默认情况下,远程 sshd 通常配置为仅在 localhost 上侦听
rport,因此查看器可能需要 ssh -L redir 也指向“主机”(参见 SSVNC 到
自动化)。 sshd 设置 GatewayPorts 启用监听所有接口
报告; 观众可以更容易地到达它。

"disp" 是远程 SSH 端的 VNC 显示,例如 0 对应于端口 5900,
等等。如果 disp 大于 200,则将该值用作端口。 使用负数
强制使用低端口的值,例如 host:-80 将使用端口 80。

如果 ssh-agent 未激活,则需要在
x11vnc 运行的终端。

默认情况下,远程 ssh 将发出“sleep 300”以等待传入
连接5分钟。 要修改它,请使用 user@host:disp+secs。

如果远程 SSH 服务器位于非标准端口(即不是 22)上,请使用
用户@主机:端口:显示 + 秒。

请注意,当 x11vnc 退出时,ssh 进程可能不会被终止。 它试图通过寻找
at ps(1) 输出。

-用户 名单

如果 x11vnc 以 root 身份启动(比如从 内网(8) 或来自显示管理器 XDM(1),
GDM(1) 等),然后在连接到 X 显示器后尽快
已建立尝试切换到逗号分隔的用户之一 名单。 如果
x11vnc 未以 root 身份运行,此选项将被忽略。

为什么使用这个选项? 通常不需要,因为 x11vnc 已经连接
X 显示器并可以执行其主要功能。 该选项已添加到
使某些 *external* 实用程序命令 x11vnc 偶尔运行
适当地。 特别是在 GNOME 和 KDE 下实现“-固体 颜色"
不幸的是,功能外部命令(gconftool-2 和 dcop)必须作为
拥有桌面会话的用户。 由于此选项会切换用户 ID,因此它也会影响
用于运行进程的用户 ID -接受-不见了 选项。 它也是
影响读取文件的能力,例如 -连接, -允许,-重新映射
如果启用,还有超紧凑的文件传输功能。 请注意,
-连接 文件有时也会被写入。

所以要小心这个选项,因为在某些情况下它的使用会减少
安全。

一般情况下,只有在显示仍然可以显示的情况下才会切换到用户
以该用户身份成功打开(这主要是为了尝试猜测实际
会话的所有者)。 例子: ”-用户 弗雷德,威尔玛,贝蒂》。注意是恶意的
本地用户“barney”通过在登录时快速使用“xhost +”可能会得到
x11vnc 进程切换到用户“fred”。 接下来发生什么?

在显示管理器下,切换成功可能需要很长时间(即
用户登录)。 而是让它立即切换,无论显示器是否可以
重新打开用户名的前缀是“+”字符。 例如“-用户 +鲍勃“ 要么
"-用户 +没有人".

后者(即立即切换到用户“nobody”)是唯一明显的使用
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -用户 增加安全性的选项。

使用以下表示法将组与用户关联:
user1.group1,user2.group2,... 请注意 初始化组(2) 仍然会先被调用
尝试切换到用户的所有组(主要组和附加组)。 仅有的
如果失败或不可用,则如上所述指定的单个组(或
如果未指定,则用户的主要组)切换到 塞吉德(2). 用 -环境
X11VNC_SINGLE_GROUP=1 防止尝试 初始化组(2)并且只切换到单机
团体。 只有真正需要这种设置才能使超或紧
文件传输权限正常工作。 此格式适用于任何逗号分隔
用户列表,甚至是下面描述的特殊“=”模式。

In -unixpw 模式,如果“-用户 unix密码=" 在用户进行身份验证后提供
自己通过 -unixpw 机制,x11vnc 将尝试切换到该用户,好像
"-用户 +用户名" 已提供。如果您想限制哪些用户,这将
完成后,将它们作为逗号分隔的列表提供在“unixpw =”之后 组也可以
如上所述指定。

同样,在 -ssl 模式,如果“-用户 sslpeer=" 在 SSL 客户端之后提供
用他的证书进行身份验证( -ssl验证 此选项是必需的)x11vnc
将从“emailAddress”字段中提取一个 UNIX 用户名([电子邮件保护])
x509 SSL 证书的“主题”,然后尝试切换到该用户,好像
"-用户 +用户名" 已提供。如果您想限制哪些用户,这将
完成后,将它们作为逗号分隔的列表提供在“sslpeer =”之后。 设置环境。
var X11VNC_SSLPEER_CN 使用通用名称(通常是主机名)而不是
电子邮件字段。

注意:对于 sslpeer= 模式,x11vnc 管理员必须注意任何客户端
他添加的证书 -ssl验证 在“emailAddress”中有预期的 UNIX 用户名
证书的字段。 否则,用户可能能够以另一个用户身份登录。 这
命令可用于检查:“openssl x509 -文本 -在 file.crt”,请参阅
“主题行。 此外,连同正常的 RFB_* 环境。 瓦尔斯。 (看 -接受) 通过
对于外部 cmd= 命令,RFB_SSL_CLIENT_CERT 将设置为客户端的 x509
证书字符串。

sslpeer= 模式可以帮助通过 FINDDISPLAY 和
FINDCREATEDISPLAY 机制。

立即切换到用户*在*连接到 X 显示器之前或
打开的任何文件都使用“=”字符:“-用户 =鲍勃“。那个用户需要能够
当然要打开 X 显示器和任何文件。

特殊用户“guess=”表示检查 utmpx 数据库(参见 (1) ) 看
对于附加到显示号码的用户(来自 DISPLAY 或 -显示 选项)并尝试
他她。 要限制猜测列表,请使用:"-用户 猜测=鲍勃,贝蒂".

更险恶的是特殊用户“lurk=”,意思是尝试猜测
也从 utmpx 登录数据库显示。 所以它“潜伏”在等待任何人
登录到 X 会话,然后连接到它。 在 = 之后指定用户列表
限制将尝试哪些用户。 要启用不同的搜索模式,如果
列表中的第一个用户类似于“:0”或“:0-2”,表示范围
显示将被尝试的数字(无论它们是否在 utmpx
数据库)用于所有登录的用户。另请参阅“-显示 等待:..."
功能。 例子: ”-用户 潜伏=“ 并且 ”-用户 潜伏=:0-1,鲍勃,玛丽"

使用“guess=”和“lurk=”模式时要特别小心。 他们不是
建议在本地用户不可靠的机器上使用。

-诺什姆

不要使用 MIT-SHM 扩展进行轮询。 可以轮询远程显示器
这样:小心这会使用大量的网络带宽。 这也是
如果本地机器具有有限数量的 shm 段和 -onetile is
不够。

-翻转字节顺序

如果远程轮询的主机具有不同的字节序,有时需要。 忽略除非
-诺什姆 置。

-onetile

不要使用新的 copy_tiles() 帧缓冲机制,只需使用 1 shm tile
轮询。 将使用的 shm 段限制为 3。

要禁用任何自动 shm 减少,请设置 env。 变种。 X11VNC_NO_LIMIT_SHM。

-固体 [颜色]

为了提高性能,当 VNC 客户端连接时尝试更改桌面
背景为纯色。 [颜色] 是可选的:默认颜色是
“青色4”。 对于不同的,指定 X 颜色(rgb.txt 名称,例如“darkblue”或
数字“#RRGGBB”)。

目前此选项仅适用于 GNOME、KDE、CDE、XFCE 和经典 X(即
根窗口上的背景图像)。 “gconftool-2”、“dcop”和“xfconf-
查询”外部命令分别为 GNOME、KDE ​​和 XFCE 运行。这也
适用于本机 MacOSX。 (MacOSX 或 XFCE 没有颜色选择。) 其他
桌面将无法工作,(如果您找到它们,请向我们发送相应的命令)。 如果
x11vnc 以 root 身份运行 ( 内网(8)或 GDM(1) ), -用户 可能需要选项
适用于 GNOME、KDE、XFCE。 如果 x11vnc 猜错了你的桌面,你可以强制
通过在颜色前面加上“gnome:”、“kde:”、“cde:”、“xfce:”或“root:”。

更新: -固体 不再适用于 KDE4。

此模式在 Mac OS X 控制台上以一种有限的方式工作,只有一种颜色(“海带”)
使用屏幕保护程序写入后台。 顺便拜访 ”〜/图书馆/屏幕 储户”
用于 VncSolidColor.png 更改颜色。

-停电 绳子

将屏幕上的矩形涂黑。 绳子 是 WxH+X+Y 的逗号分隔列表
为每个矩形键入几何图形。 如果列表中的一项是字符串
"noptr" 鼠标指针将不允许进入涂黑区域。

-xinerama, -诺辛奈拉玛

如果您的屏幕是由多个通过 XINERAMA 粘合在一起的显示器组成的,并且
该屏幕不是矩形此选项将尝试猜测要涂黑的区域
(如果您的系统有 libXinerama)。 默认: -希涅拉玛

一般来说,我们注意到在 XINERAMA 显示器上,您可能需要使用
"-xwarp指针" 选项,如果鼠标指针行为不端并且它被启用
默认。 利用 ”-noxwarp指针“如果你不想要这个。

-xtrap

使用 DEC-XTRAP 扩展进行击键和鼠标输入插入。 用于
遗留系统,例如 X11R5,运行不完整或缺失的 XTEST 扩展。 经过
如果缺少 XTEST 服务器抓取控制,将使用默认的 DEC-XTRAP,使用 -xtrap
也可以通过 DEC-XTRAP 进行击键和鼠标插入。

-xrandr [模式]

如果显示器支持 XRANDR(X 调整大小、旋转和反射)扩展,以及
您希望 XRANDR 事件在 x11vnc 运行时发生在显示器上,这
options 表示 x11vnc 应该尝试响应它们(而不是简单地
通过假设旧的屏幕尺寸而崩溃)。 见 xrandr(1) 联机帮助页并运行
'xrandr -q' 了解更多信息。 [mode] 是可选的,如下所述。

由于监视 XRANDR 事件和捕获错误会增加轮询开销,
仅当 XRANDR 发生变化时才使用此选项。 例如在一个可旋转的
屏幕 PDA 或笔记本电脑,或使用您经常调整大小的 XRANDR 感知桌面。 它
最好使用支持 NewFBSize 编码的 vncviewer 进行查看,因为
它知道如何对屏幕尺寸变化做出反应。 否则,LibVNCServer 会尝试执行
所以对于无法做到这一点的观众来说是合理的(屏幕的一部分可能
被剪裁、未使用等)。

注意:现在默认是检查 XRANDR 事件,但不要捕获每个 X 调用
这可能会因调整大小而失败。 如果接收到调整大小事件,则完整 -xrandr 模式
已启用。 要禁用甚至检查事件供应: -noxrandr。

“模式”默认为“调整大小”,这意味着创建一个新的、调整大小的帧缓冲区和
希望所有的观众都能适应这种变化。 “newfbsize”表示首先断开所有连接
不支持 NewFBSize VNC 编码的查看器,然后调整大小
帧缓冲区。 “退出”表示断开所有查看器客户端,然后终止
x11vnc。

-旋转 绳子

旋转和/或翻转 VNC 导出的帧缓冲区视图。 这种转变是
独立于 XRANDR 并且在主内存中的软件中完成,因此可能会更慢。
此模式在具有纵向或横向模式的手持设备上可能很有用
与实际帧缓冲区的扫描线顺序不对应。 绳子 可:

x 沿 x 轴翻转 y 沿 y 轴翻转 xy 沿 x 轴和 y 轴翻转 +90
顺时针旋转 90 度 -90 逆时针旋转 90 度 +90x
顺时针旋转 90 度,然后沿 x +90y 翻转 顺时针旋转 90 度,然后翻转
沿着 y

这些给出了所有可能的旋转和反射。

别名:同xy:yx,+180, - 180, 180 一样 -90: +270, 270 与 +90: 90 相同,
(同样适用于 90x、90y)

喜欢 -规模, 这种转换适用于任何链的末端
帧缓冲区转换以及任何具有几何形状的选项,例如 -停电,
-夹子, 等是相对于原始 X (或 -原始文件) 帧缓冲区,不是最终的
一个发送给 VNC 查看器。

如果您不希望光标形状旋转前缀 绳子 带有“nc:”,例如
“nc:+90”、“nc:xy”等

-padgeom 宽x高

每当一个新的 vncviewer 连接时,帧缓冲区就会被一个假的、实心的
黑色几何 WxH 之一。 不久之后,帧缓冲区被替换为
真正的一个。 这适用于不支持 NewFBSize 的 vncviewer
并且想要确保初始查看器几何图形足够大以处理
所有后续调整大小(例如在 -x兰德尔, -远程 id:windowid,重新缩放等)

In -unixpw mode 设置登录屏幕的大小。 使用它忽略的“一次:WxH”
设置登录屏幕后的padgeom。

-o 日志文件

将 stderr 消息写入文件 日志文件 而不是到终端。 与...一样
"-日志文件 文件“。要附加到文件中,请使用”-oa 文件“或”-logappend 文件“。如果
日志文件 包含字符串“%VNCDISPLAY”,它被扩展为 vnc 显示(
名称可能需要猜测。)“%HOME”也可以。

-旗 文件

将“PORT=NNNN”(例如 PORT=5900)字符串写入 文件 除了标准输出。 这
包装脚本可以用来检测 x11vnc 何时准备就绪。

-rm标志 文件

删除 文件 x11vnc 完成时在退出时发出信号。 该文件是在启动时创建的
如果它不存在或者如果 文件 以“创建:”为前缀。 如果文件是
创建后,x11vnc PID 被放置在文件中。 否则文件内容不是
改变了。 使用前缀“nocreate:”来防止创建。

-rc 文件名

使用 VHDL 语言编写 文件名 而不是 $HOME/.x11vncrc 用于 rc 文件。

-诺克

不要为选项处理任何 .x11vncrc 文件。

-环境 VAR=值

在 x11vnc 启动时将环境变量 'VAR' 设置为值 'VALUE'。 这是一个
避免 shell 脚本包装器等设置环境的便利实用程序。 变种。 你
可以在命令行上根据需要指定任意数量的这些。

-程序 /路径/到/x11vnc

为无法确定的情况设置 x11vnc 程序的完整路径
argv[0](例如 tcpd/inetd)

-H, -救命

打印此帮助文本。 -?, -选择 仅列出 x11vnc 选项。

-V, -版

打印程序版本和最后修改日期。

-执照

打印许可证信息。 与...一样 -复制-保修单。

-dbg

与其在清理后退出,不如在致命时运行一个简单的“调试崩溃外壳”
错误被捕获。

-q, -安静的

通过向 stderr 打印较少的信息输出来保持安静。 (利用 -安静 撤消
早期 -安静的。)

- -安静的 选项不会消除所有信息输出,它只会减少它。
它在大多数辅助使用模式中被忽略,例如 -storepasswd。 消除所有
输出使用:2>/dev/null 1>&2等

-v, -冗长

将更多信息打印到 stderr。

-背景

屏幕设置后进入后台。 到 stderr 的消息会丢失,除非 -o
使用日志文件。 像这样的东西在脚本中可能很有用:

端口=`ssh -t $host "x11vnc -display :0 -bg" | grep 端口`

端口=`echo "$port" | sed -e 's/PORT=//'`

端口=`expr $port - 5900`

vncviewer $主机:$端口

-modtweak, -nomodtweak

附加选项 -modtweak 自动尝试调整 AltGr 和 Shift 修饰符
客户端和主机之间的不同语言键盘。 否则,只有一个键
模拟键码的按下/释放(即忽略修饰符的状态:
这通常适用于相同的键盘)。 在解决以下情况时也很有用
一个 Keysym 绑定到多个键(例如“<”+“>”和“,”+“<”键)。 默认:
-modtweak

如果您在使用钥匙和 -xkb or -noxkb, 和类似的事情
不帮忙,试试 -nomodtweak。

在某些 HP-UX 系统上,注意到它们有一个奇怪的键映射,其中
单个键码将有一个键符,例如“#”,最多 XNUMX 次。 您可以通过
“xmodmap -pk" 或者 -dk 选项。 失败是当您尝试键入“#”时它会产生
“3”。 如果您看到此问题,请尝试设置环境变量
MODTWEAK_LOWEST=1 看看是否有帮助。

-xkb, -noxkb

在 modtweak 模式下,使用 XKEYBOARD 扩展(如果 X 显示器支持它)
进行修改器调整。 这很强大,如果有应该尝试
使用时仍然存在键盘映射问题 -modtweak 通过它自己。 默认是检查
一些常见的键符,例如!、@、[,是否只能通过以下方式访问 -xkb 模式,如果
所以然后自动启用该模式。 要禁用此自动检测,请使用
-noxkb。

在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 -xkb 模式处于活动状态,您可以设置这些环境。 瓦尔斯。 他们只适用于那里
是关于选择哪个键的模糊性(即映射不是一对一的)。
NOKEYHINTS=1:对于向上 ascii 击键,不使用键被保存时保存的分数提示
按下。 NOANYDOWN=1:向上击键不诉诸搜索
当前按下的键。 KEYSDOWN=N:记住最后 N 个按键
当向上击键进入时,向下打破平局。

-大写锁定

-modtweak (默认)或 -xkb 模式,如果 AZ 范围内的键符进入
检查 X 服务器以查看是否设置了 Caps_Lock。 如果不是人为
按 Shift 键生成键符。 这将使 CapsLock 键的行为
在某些情况下正确:即*两者* VNC 查看器机器和
x11vnc X 服务器处于 CapsLock on 状态。 如果一侧打开了 CapsLock 并且
其他关闭并且键盘的行为不像您认为的那样
更正 CapsLock 状态(提示:按下 CapsLock 内部和外部
查看器可以帮助将它们切换到正确的状态)。 但是,为了获得最佳效果
不要使用此选项,而是*仅*在 VNC 查看器端启用 CapsLock
(即通过在查看器窗口外按 CapsLock,也 -skip_lockkeys
以下)。 也试试 -nomodtweak 可能的解决方法。

-skip_lockkeys, -noskip_lockkeys

让 x11vnc 忽略所有 Caps_Lock、Shift_Lock、Num_Lock、Scroll_Lock 键符
从观众那里收到。 这个想法是你在 VNC 查看器端按下 Caps_Lock 但
这不会改变 x11vnc 端 X 服务器中的锁定状态。 不过你的
大写字母通过电线进入并正确应用于 x11vnc-
X 端服务器。 请注意,此模式可能无法执行您想要的操作 -nomodtweak 模式。
此外,KP_n 数字的拼凑总是在这种模式下完成:它们被映射到
常规数字键符。 也可以看看 -大写锁定 以上。 默认是 -noskip_lockkeys。

-skip_keycodes 绳子

忽略逗号分隔的十进制键码列表。 也许这些是键码
不在您的键盘上,但您的 X 服务器认为存在。 目前仅适用于
-xkb 模式。 使用此选项可以帮助 x11vnc 解决它试图解决的相反问题
解决:Keysym -> 存在歧义时的 Keycode(s)(每个 Keycode 多个
键符)。 运行'xmodmap -pk' 查看您的键盘映射。 例子: ”-skip_keycodes
94,114"

-马虎键

尝试纠正一些“草率”关键行为的实验性选项。 例如,如果在
查看器,您按下 Shift+Key,然后在 Key 之前释放 Shift,这可能
产生多余的不需要的字符(通常只在不同的键盘之间
语言)。 仅当您发现某些击键出现问题时才使用此选项。

-skip_dups, -noskip_dups

一些 VNC 查看器发送不可能重复的按键事件,例如 key-down、key-down、key-
向上,向上键全部用于同一键,或连续 20 次向下以用于同一修饰键!
设置 -skip_dups 意味着跳过这些重复并只处理第一个事件。
注意:一些 VNC 查看器假设他们可以在没有相应 up 的情况下发送 down
所以你不应该为这些观众设置这个选项(症状:一些键不
自动重复)默认值: -noskip_dups

-add_keysyms, -noadd_keysyms

如果从 VNC 查看器接收到 Keysym 并且该 Keysym 不存在于 X
服务器,然后将 Keysym 添加到 X 服务器的键盘映射中一个未使用的键上。
添加的 Keysym 将定期删除,并且在 x11vnc 退出时也会删除。 默认:
-add_keysyms

-clear_mods

在启动和退出时,通过为每个键发送 KeyRelease 来清除修改键。 这
锁定修饰符被跳过。 用于清除状态,如果显示
不小心被压下来了。

-清除键

As -clear_mods, 除了尝试释放任何按下的键。 请注意,此选项和
-clear_mods 可能会干扰在物理键盘上打字的人。

-清除全部

As -clear_keys, 除了尝试释放任何 CapsLock、NumLock 等锁。

-重新映射 绳子

从名为的文件中读取 Keysym 重新映射 绳子. 格式是每对 Keysyms
行(可以是名称或十六进制值)以空格分隔。 如果没有文件命名 绳子
存在,它被解释为这种形式:key1-key2,key3-key4,... 见
用于 Keysym 名称列表的头文件,或使用 Xev(1)。

要将键映射到按钮单击,请使用假 Keysyms “Button1”,...,等等。例如:
"-重新映射 超级_R-按钮2"(用于在笔记本电脑上粘贴)

如果我正在查看的机器没有滚轮或者我没有滚轮,我会使用这些
就像使用它所拥有的一样:

-重新映射 Super_R-按钮4,菜单-按钮5 -重新映射 KP_添加按钮4、KP_输入按钮5

前者用于PC,后者用于MacBook。 这样那些小
使用过的键可用于生成比向上和向下箭头提供的更大的跃点。
通过这种方式可以更快地滚动文本或网页(特别是如果
x11vnc 滚动检测处于活动状态。)

使用 Button44、Button12 等进行多次点击。

要禁用键符(即使其不会被注入),请将其重新映射到
“无符号”或“无”。

死键:“死”(或静音、静音)键是不产生字符的键
但必须紧跟第二次击键。 这通常用于重音
字符,例如通过按死键然后按“a”将“`”放在“a”之上。
请注意,这种解释不是核心 X11 的一部分,它取决于工具包或
应用程序来决定如何对序列做出反应。 这些的 X11 名称
键符是“dead_grave”、“dead_acute”等。但是一些 VNC 查看器会发送
键符“grave”,“acute”,而不是从而禁用重音。 解决方法
Free Introduction -重新映射 可以使用。 例如 ”-重新映射 坟墓-dead_grave,acute-dead_acute"

为方便起见,“-重新映射 DEAD" 应用这些重映射:

g 坟墓-死者坟墓
急性死亡急性
c asciiicircum-dead_circumflex
t asciitiilde-dead_tilde
m 马克龙-dead_macron
b breve-dead_breve
D 以上dot-dead_abovedot
d 分音符-dead_diaeresis
o 死度以上
一个 doubleacute-dead_doubleacute
r caron-dead_caron
e 变音节-dead_cedilla

如果您只想要一个子集,请使用第一个字母标签,例如“-重新映射 死=嘎“ 要得到
前两个。 额外的重映射也可以通过逗号提供,例如“-重新映射
DEAD=ga,Super_R-Button2”。最后,“DEAD=missing”表示应用以上所有
只要左手成员不在 X11 键盘映射中。

- 不重复, -重复

附加选项 -不重复 连接 VNC 客户端时禁用 X 服务器密钥自动重复
并且 VNC 键盘输入空闲时间不超过 5 分钟。 这适用于
重复击键错误(由按下键和按下键之间的长时间处理延迟触发
启动客户端事件:来自大屏幕更改或高延迟)。 默认:
-不重复

你可以设置环境。 变种。 X11VNC_IDLE_TIMEOUT 到你的空闲秒数
想要(5 分钟 = 300 秒)。

注意:您的 VNC 查看器端可能会自动重复,因此这不会造成任何损失,除非
有人同时在真实的 X 显示器上。

使用 ”-不重复 N" 设置 norepeat 重置的次数
(例如 X 会话管理器)将其撤消。 默认值为 2。使用负值
无限重置。

-nofb

忽略视频帧缓冲:只处理键盘和指针。 旨在与
Win2VNC 和 x2vnc 双显示器设置。

-诺贝尔

不要关注 XBell 事件。 (不会听到哔哔声) 注意:XBell 监控
需要 XKEYBOARD 扩展。

-鼻子

不管理 VNC 查看器和 X 之间 X 选择/剪切缓冲区的交换
服务器。

-无主要

不要轮询 PRIMARY 选择以将更改发送回客户端。 (主要是
但是,仍然设置为收到的更改)。

-nosetprimary

不要为从 VNC 客户端收到的更改设置 PRIMARY 选择。

-剪贴板

不要轮询 CLIPBOARD 选择以将更改发送回客户端。
(但是,CLIPBOARD 仍然设置在收到的更改上)。

-鼻夹板

不要为从 VNC 客户端收到的更改设置 CLIPBOARD 选择。

-塞尔迪尔 绳子

如果方向字符串为“发送”,则仅将选择发送给观众,如果是
“recv”只从观众那里接收。 要解决应用程序设置选择的问题
经常弄乱另一端。 您实际上可以提供逗号分隔
方向列表,包括“调试”以打开调试输出。

-光标 [模式], -无光标

设置指针光标形状(鼠标指针上的小图标)应该如何
处理。 “mode”字符串是可选的,如下所述。 默认为
显示某种光标形状。 这是如何完成的取决于 VNC 查看器和
X 服务器。 用 -无光标 完全禁用光标形状。

一些 VNC 查看器支持 TightVNC CursorPosUpdates 和 CursorShapeUpdates
扩展(通过不必发送光标图像来减少网络流量
每次移动指针时),在这种情况下使用这些扩展名(见
-nocursorshape-nocursorpos 下面禁用)。 对于其他观众,光标
每次移动指针时,形状都会直接写入帧缓冲区或
更改并与其他帧缓冲区更新一起发送。 在这种情况下,
vnc 查看器指针和远程光标之间会有一些滞后
位置。

如果 X 显示器支持从 X 中检索光标形状信息
服务器,那么默认就是使用那个模式。 在 Solaris 上,这可以通过
SUN_OVL 扩展使用 -覆盖 (另请参见 -overlay_nocursor 选项)。 一个
IRIX 上使用了类似的覆盖方案。 Xorg(例如 Linux)和最近的 Solaris Xsun
服务器支持 XFIXES 扩展以从 X 中检索准确的光标形状
服务器。 如果 XFIXES 存在,它是首选覆盖,默认情况下使用
(见 -nox修复 以下)。 这可以禁用 -nocursor, 还有一些价值观
下面的“模式”选项。

请注意,在 XFIXES 下,具有透明度(alpha 通道)的光标通常不会
被准确地表示出来,人们可能会发现 Overlay 更可取。 另见 -字母切割
-α压裂 下面的选项作为捏造因素,试图改善这种情况
给定主题的透明光标。

“mode”字符串可用于微调光标形状的显示。 它可以
可以通过以下方式使用:

"-光标 箭头" - 只显示标准箭头,不多也不少。

"-光标 没有“ - 与...一样 ”-无光标"

"-光标 X" - 当光标出现在根窗口上时,绘制熟悉的 X
形状。 某些桌面(例如 GNOME)完全覆盖了根窗口,因此
这不起作用,尝试“X1”等,尝试改变树的深度。 高延迟
链接或慢速机器在预期和实际之间会有时间延迟
光标形状。

"-光标 一些" - 与 "X" 类似,但使用额外的启发式方法来尝试猜测
窗口应该有一个类似于窗口管理器的调整大小光标或文本输入 I 型梁
光标。 这是一个完整的 hack,但在某些情况下可能很有用,因为它
提供有关光标形状的更多反馈。

"-光标 最先进的" - 尝试显示尽可能多的光标。通常这只会是
与 "some" 相同,除非显示器具有覆盖视觉效果或 XFIXES 扩展
可用的。 如果 XFIXES 不可用,在 Solaris 和 IRIX 上, -覆盖 模式将是
尝试过。

-光标拖动

即使用鼠标按钮拖动鼠标,也显示光标形状变化
向下。 如果您希望能够看到拖放光标图标,这很有用,
等等

-箭头 n

从一组常见的光标中选择一个备用的“箭头”光标。 n 可以是 1 到
6. 默认值为:1 在 XFIXES 光标抓取模式下被忽略。

-nox修复

不要使用 XFIXES 扩展来绘制精确的光标形状,即使它是
可用。

注意:要解决 Xorg 1.5 及更高版本中的崩溃问题,有些人需要使用
-noxfixes。 Xorg 崩溃发生在显示管理器(例如 GDM)登录之后。
从 x11vnc 0.9.9 开始,它会尝试自动避免使用 XFIXES,直到它
确定窗口管理器正在运行。 见 -重新打开 选项以获取更多信息以及如何
使用 X11VNC_AVOID_WINDOWS=never 禁用它。

-字母切割 n

当对光标形状使用 XFIXES 扩展时,具有透明度的光标
通常不会准确显示(但不透明的会)。 此选项设置 n
作为具有透明度的光标的截止值(“alpha 通道”,值范围
从 0 到 255) alpha 值小于 n 的任何光标像素完全变为
透明的。 否则像素是完全不透明的。 默认 240

-α压裂 分数

随着门槛 -字母切割 一些游标将变得几乎完全
透明,因为它们的 alpha 值不够高。 对于那些游标
调整 alpha 阈值,直到非零 alpha 通道像素的一部分
变得不透明。 默认 0.33

-alpha 删除

默认情况下,具有透明度的 XFIXES 光标像素具有 alpha 因子
乘以 RGB 颜色值(即对应于混合
黑色背景的光标)。 指定此选项以删除 alpha 因子。
(适用于浅色半透明光标)。

-noalphablend

在 XFIXES 模式下,不要将光标 alpha 通道数据发送到 LibVNCServer。 默认
是发送它。 alphablend 效果仅在 -nocursorshape 模式
或关闭 cursorshapeupdates 的客户端。 (但是有一个黑客
深度为 32 的 24bpp,它使用额外的 8 位来存储光标透明度以供使用
使用在本地应用透明度的黑客 vncviewer。 请参阅常见问题解答
更多信息)。

-nocursorshape

即使客户端支持,也不要使用 TightVNC CursorShapeUpdates 扩展。
参见 -光标 以上。

-光标, -nocursorpos

附加选项 -cursorpos 允许将 X 光标位置发送回所有 vnc 客户端
支持 TightVNC CursorPosUpdates 扩展。 其他客户将能够
查看指针运动。 默认: -cursorpos

-xwarppointer, -noxwarp指针

移动指针 变形指针(3X) 而不是 XTEST 扩展。 将此用作
如果指针运动行为不正确,例如在触摸屏上或
其他非标准设置。

有时在 XINERAMA 显示器上也需要它,并且在以下情况下默认启用
XINERAMA 被发现是活跃的。 为了防止这种情况,使用 -noxwarppointer。

-always_注入

即使 VNC 鼠标事件没有位移 (dx = dy = 0),也会强制
指向指示的 x,y 位置的指针。 最近的 (2009) gui 工具包 (gnome)
x11vnc原有的鼠标输入注入方式有问题。 所以x11vnc的
鼠标输入注入方式已修改。 要恢复旧行为,请使用
此选项: -always_inject。 然后 x11vnc 将始终强制定位鼠标
到 x,y 位置,即使该位置自上一个 VNC 以来没有改变
输入事件。

注意到这个问题的第一个地方是在 gnome 终端中:如果你按下和
释放鼠标按钮 3,发布了一个菜单,然后是它的第一个元素“新终端”
窗口'被激活。 这是因为 x11vnc 两次注入了鼠标位置:
一次在 ButtonPress 上,一次在 ButtonRelease 上。 该工具包解释了第 2
一个作为鼠标运动,即使鼠标没有移动。 所以现在默认x11vnc
试图避免注入第二个。

请注意,使用新的默认 x11vnc 将忽略应用程序移动
指针(翘曲)或物理显示器上的用户移动它。 所以它可能,
例如,在错误的位置注入 ButtonRelease。 如果这个(或类似情况)
导致您的环境出现问题,请指定 -always_注入 对于旧方法。

-按钮图 绳子

重新映射鼠标按钮的字符串。 格式: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: (第一个是下移和
第二个是上移)。 (注意:修饰符的初始状态被忽略而不是
重置)要包含按钮事件,请使用“Button1”,...等。

-按钮图 目前不适用于 MacOSX 控制台或 -rawfb 模式。

解决方法:使用 -按钮图 IJ...-LM...=n 将鼠标按钮的数量限制为 n,
例如 123-123=3。 如果 X 服务器报告,这将防止 x11vnc 崩溃
有 5 个按钮(4/5 滚轮),但实际上只有 3 个。

-不拖拉

不要在鼠标拖动事件期间更新显示(按住鼠标按钮)。
大大提高了对慢速设置的响应,但您会失去所有视觉反馈
拖动、文本选择和一些菜单遍历。 它覆盖任何 -指针模式
设置。

-缓存 n

客户端缓存方案。 帧缓冲存储器 n (整数)乘以
完整显示分配在实际帧缓冲区下方以缓存屏幕内容
快速检索。 因此,一个 W x H 帧缓冲区被扩展为一个 W x (n+1)*H 。 使用 0 到
禁用。

- n 实际上是可选的,默认为 10。

对于这个和另一个 -缓存* 下面的选项可以缩写为“-缓存“有
"-NC“。 还, ”-nonc“ 是相同的 ”-缓存 0"

这是一个实验性选项,目前以一种尴尬的方式实现
如果您向下滚动等,您可以在 VNC 查看器中看到像素缓存内容。所以
您必须进行设置,以便看不到该区域。 如果这个方法是
成功,客户为了不那么尴尬地执行此操作所需的更改将是
调查。

SSVNC 查看器在自动隐藏像素缓存区域方面做得很好。
或者使用 SSVNC -ycrop 显式隐藏区域的选项。

请注意,此模式在 x11vnc 服务器上都消耗大量内存
侧和 VNC 查看器侧。 如果 n=2 则使用的 RAM 量大致为
x11vnc 和 VNC 查看器的两倍。 根据经验,请注意
深度 1280 处的 1024x24 大约是 5MB 的像素数据。

循环通过 4 到 6 大(例如网络浏览器)时的合理响应
windows 建议使用 6 到 12 的值 n。 (没错:大约 10 倍以上的内存......)

由于 window backingstore 和 saveunders 的实现方式,n 必须是
甚至。 如果不是,它将增加 1。

此模式也适用于原生 MacOS X,但可能不如 X
版本。 这是由于很多原因,一个是阴影合成
这留下了需要修复的额外区域(请参阅 -ncache_pad)。 另一个是
需要避免窗口图标化动画(参见 -macicontime)。 它出现
“比例”动画模式比“精灵”模式提供更好的效果。
此外,窗口事件检测不如 X 版本准确。

-ncache_cr

In -缓存 模式,尝试做 copyrect 不透明窗口移动/拖动而不是线框
(这会导致绘画错误)。 移动时仍会使用线框
其保存条件尚未设置或已失效的窗口。

使用此选项,某些 VNC 查看器比其他查看器提供更好的响应。 在 Unix 上,
realvnc 查看器比tightvnc 查看器提供更平滑的拖动。 回应也可能是
如果服务器端机器太慢,则不稳定。

有时在非常慢的调制解调器连接上,这实际上提供了改进
因为在拖动过程中根本没有发送像素数据(甚至没有盒子动画)。

-ncache_no_moveraise

In -缓存 模式,不要假设移动窗口会导致窗口管理器
将其提升到堆栈的顶部。 默认是假设它确实如此,所以在
任何线框等的开头,窗口移动窗口将被推到顶部
在 VNC 查看器中。

-ncache_no_dtchange

In -缓存 模式,不要试图猜测桌面(视口)何时更改为另一个
一个(即另一个工作区)。 默认是尝试猜测,当检测到时尝试
使过渡更顺利。

-ncache_no_rootpixmap

In -缓存 模式,请勿尝试将桌面背景快照用于猜测
或重建窗口保存条件。

-ncache_keep_anims

In -缓存 模式,不要尝试禁用窗口管理器动画和其他效果
(通常会降低 ncache 性能或导致绘制错误)。 默认是
尝试在连接 VNC 客户端时在 KDE(但不是 GNOME)上禁用它们。

对于其他提供动画、效果的窗口管理器或桌面,
合成、半透明等干扰 -缓存 你会的方法
必须手动禁用它们。

-ncache_old_wm

In -缓存 模式,为旧式窗口管理器启用一些启发式方法,例如 fvwm
和twm。

-ncache_pad n

In -缓存 模式,为缓存矩形填充每个窗口的 n 个像素。 这
可用于尝试使用阴影或其他合成来改善情况
(例如 MacOS X 窗口管理器),尽管它可能会使事情变得更糟。 默认是
在 Unix 上为 0,在 MacOS X 上为 24。

-debug_ncache

打开调试和分析输出下 -ncache。

-线框 [字符串], - 无线框

尝试在按住鼠标按钮时检测窗口移动或调整大小并显示
线框而不是完全不透明的窗口。 这完全基于
启发式,可能并不总是有效:这取决于您的窗口管理器,甚至如何
你移动东西。 看 -指针模式 下面讨论“bogging”
下”这个试图避免的问题。默认值: -线框

较短的别名: -wf [str] 和 -现在

值“str”是可选的,当然,它包含许多可调参数
对于这个方案:

格式:阴影、线宽、百分比、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)。 "linewidth" 设置的宽度
以像素为单位的线框。 “百分比”表示不将线框方案应用于
面积小于全屏此百分比的窗口。

“T+B+L+R”表示指针必须接近的像素距离的四个整数
从窗口的顶部、底部、左侧或右侧边缘考虑线框。
这是快速排除线框窗口的加速:全部设置
为零表示不尝试加速(滚动和选择文本可能是
慢点)。

“mod”指定窗口内部的按钮按下事件是否带有
修改键(Alt、Shift 等)向下应指示线框机会。 它
可以是“0”或“none”跳过它,“1”或“all”将其应用于任何修饰符,或者
“Shift”、“Alt”、“Control”、“Meta”、“Super”或“Hyper”仅适用于该类型
的修饰键。

"t1+t2+t3+t4" 以秒为单位指定四个浮点时间:t1 是等待多长时间
对于要移动的指针,t2 是等待窗口开始移动的时间或
正在调整大小(对于某些窗口管理器,这可能相当长),t3 是多长时间
在重新绘制窗口之前保持线框移动。 t4 是最短时间
在发送线框“动画”之间。 如果检测到慢速链接,这些值
对于慢速链接,可能会自动更改为更好的东西。

-nowireframelocal

默认情况下,坐在本地显示器上的用户的鼠标移动和按钮按下
监控线框机会(以便发送更改
对 VNC 客户端有效)。 使用此选项可禁用此行为。

-wirecopyrect 模式, -无线复制

由于 -线框 机制显然准确地跟踪移动的窗户,a
可以通过告诉 VNC 查看器在本地复制已翻译的内容来获得加速
窗口区域。 这是 VNC CopyRect 编码:帧缓冲区更新不
需要发送实际的新图像数据。

较短的别名: -wcr [模式] 和 -现在

“模式”可以是“从不”(与 -nowirecopyrect) 永远不要尝试copyrect,“顶部”
意味着只有当窗口没有被任何其他窗口覆盖时才这样做,并且“总是”
意味着翻译原本不被遮挡的区域(这可能看起来很奇怪,因为
剩下的部分进来,但有助于慢速链接)。 默认值:“总是”

注意:使用时可能会出现绘画错误或响应缓慢 -规模 所以你可能
在这种情况下要禁用 CopyRect “-wirecopyrect 决不要" 在命令行或
通过远程控制。 或者您也可以使用“-规模 xxx:nocr" 比例选项。

-调试_线框

打开线框启发式的调试信息打印输出。 "-dwf" 是别名。
多次指定以获得更多输出。

-滚动复制 模式, -noscrollcopyrect

喜欢 -wirecopyrect, 但是使用启发式方法来尝试猜测窗口是否滚动了它
内容(垂直或水平)。 这需要 RECORD X 扩展
在 X 应用程序上“窥探”(目前针对某些 XCopyArea 和 XConfigureWindow
X 协议请求)。 例子:击球在终端窗口中,当
光标位于底部,文本向上滚动一行。 打中的箭头
网页浏览器窗口,网页向上滚动少量。 或滚动
滚动条或鼠标滚轮。

较短的别名: -SCR [模式] 和 -noscr

这个方案并不总是能检测到滚动,但是当它检测到时有一个很好的
使用 VNC CopyRect 编码的加速(见 -线复制)。 加速是
减少网络流量和减少 X 帧缓冲区轮询/复制。 在
另一方面,它可能会引起不希望的瞬变(例如,终端光标正在
不应该向上滚动)或其他绘画错误(窗口撕裂,
聚拢等)。 这些会在短时间内自动修复。 如果
这是不可接受的禁用该功能 -noscrollcopyrect。

屏幕清除杂物:至少为了测试,有一些“神奇的关键”
序列”(必须在 1 秒内完成)以帮助修复绘画错误
使用此模式时可能会看到:

连续 3 个 Alt_L:重新发送整个屏幕,连续 4 个 Alt_L:重读并重新发送
全屏,连续3个Super_L:标记整个屏幕进行轮询,4个Super_L在一个
row:重置RECORD上下文,连续5个Super_L:尝试推动黑屏

注意:Alt_L 是左“Alt”键(单键) Super_L 是左“Super”键
(Windows 标志)。 这两个都是修饰键,因此不应生成
自己按下时的字符。 此外,您的 VNC 查看器可能有自己的
刷新热键或按钮。

“模式”可以是“从不”(与 -noscrollcopyrect) 永远不要尝试复制,“钥匙”
表示仅响应击键而尝试,“鼠标”表示尝试响应
仅对于鼠标事件,“总是”意味着两者都做。 默认值:“总是”

注意:使用时可能会出现绘画错误或响应缓慢 -规模 所以你可能
在这种情况下要禁用 CopyRect “-滚动复制 决不要" 在命令行上
或通过遥控。 或者您也可以使用“-规模 xxx:nocr" 比例选项。

-scr_区域 n

设置要考虑的矩形的最小面积(以像素为单位)
-滚动复制 检测方案。 这是为了避免在小事上浪费精力
可以以正常方式快速更新的矩形。 例如假设一个应用程序
首先更新其细滚动条的位置,然后移动大面板
它控制了。 我们要确保跳过小滚动条并获得大滚动条
控制板。 默认值:60000

-scr_跳过 名单

跳过与逗号分隔的字符串列表匹配的应用程序的滚动检测
in 名单. 一些应用程序以奇怪的方式实现滚动,其中
XCopyArea 等也适用于窗口的不可见部分:如果我们 CopyRect
那些在滚动过程中看起来很糟糕的区域,可能会留下绘画错误
卷轴之后。 Soffice.bin 是最臭名昭著的罪犯。

使用“##”表示应用程序类的开始(例如“##XTerm”),使用“++”表示
表示应用程序实例名称的开始(例如“++xterm”)。 字符串
您的列表匹配的格式为“^^WM_NAME##Class++Instance
任何子窗口>” “xlsclients -拉” 命令将提供此信息。

如果模式以“KEY:”为前缀,则仅适用于 Keystroke 生成的卷轴
(例如向上箭头)。 如果它以“MOUSE:”为前缀,则仅适用于鼠标诱导
滚动(例如在滚动条上拖动)。 默认:
##Soffice.bin、##StarOffice、##OpenOffice

-scr_inc 名单

的反面 -scr_skip: 首先查询此列表,如果有匹配
窗口将通过 RECORD 监视滚动,无论 -scr_skip。 使用 VHDL 语言编写
-scr_跳过 '*' 跳过任何与您的不匹配的内容 -scr_inc。 使用 VHDL 语言编写 -scr_inc '*'
包括一切。

-scr_键 名单

对于击键滚动检测,仅将 RECORD 启发式应用于逗号
分开的键符列表 名单. 您可能会发现每一个的 RECORD 开销
的击键干扰了打字太多,但你不想把它关掉
完全与“-SCR 老鼠“而 -scr_parms 不起作用或太混乱。

列出的键符可以是数字或键符名称
头文件或从 Xev(1) 程序。 例子: ”-scr_键 向上、向下、返回“。 一
可能希望有特定于应用程序的列表(例如,用于终端等)但是
现在想起来太恶心了……

If 名单 以“-”字符开头的列表被视为排除列表:全部
除了那些列表之外的键符将被考虑。 特殊字符串“builtin”展开
到可能导致滚动的键符的内部列表。 顺便说一句,默认情况下
修改键、Shift_L、Control_R 等被跳过,因为它们几乎从不诱导
自己滚动。

-scr_term 名单

又一个化妆品杂牌。 将外壳/终端启发式应用于应用程序
匹配的逗号分隔列表(与 -scr_skip/-scr_inc)。 例如一个
滚动检测下令人讨厌的瞬态是如果您在终端外壳中按 Enter
使用全文窗口,实体文本光标块将向上滚动。 所以对于一个
短时间内屏幕上有两个(或更多)块光标。 有类似的
场景,(例如,输出线重复)。

这些瞬态是由滚动检测的近似引起的(例如,它
检测到滚动,但没有检测到块光标刚刚被清除的事实
卷轴)。 在几乎所有情况下,当真正的
X 帧缓冲区由正常轮询查询。 但它们会分散注意力,所以
此选项提供的是终端底部附近的额外“填充”
窗口:底部附近的一些额外行不会滚动,而是更新
来自实际的 X 帧缓冲区。 这通常会减少烦人的伪影。 采用
“无”禁用。 默认值:“术语”

-scr_keyrepeat 洛嗨

如果一个键被按住(或以其他方式快速重复)并且这会导致快速
滚动序列(例如按住箭头键)“scrollcopyrect”检测
和开销可能无法跟上。 每单滚动估计的时间是
执行,如果该估计预测每秒键的可持续滚动率
在“lo”和“hi”之间,重复的键将被丢弃以保持
滚动速度。 例如,您的密钥自动重复可能是 25 键/秒,但对于大
窗口或慢速链接每秒只能持续 8 次滚动,然后大约 2 次
在此期间,每 3 个重复的密钥将被丢弃。 默认值:“4-20”

-scr_parms 绳子

为scrollcopyrect模式设置各种参数。 格式与此类似
-线框 并包含许多参数:

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”表示指针必须接近的像素距离的四个整数
从窗口的顶部、底部、左侧或右侧边缘考虑
滚动复制。 如果 -线框 重叠优先。 这是一个加速
快速排除一个窗口被scrollcopyrect监视:将它们全部设置为
零表示不尝试加速(选择文本之类的操作可能会更慢)。

"t1+t2+t3" 以秒为单位指定三个浮点时间,适用于
使用 *Keystroke* 输入进行 scrollcopyrect 检测:t1 是按键后等待多长时间
在第一次滚动时按下,t2 是在按键后继续查看多长时间
滚动以获取更多卷轴。 t3 是尝试更新周围环境的频率
滚动区域外的滚动条(0.0 禁用)

"s1+s2+s3+s4+s5" 以秒为单位指定五个浮点时间,适用于
使用 *Mouse* 输入的 scrollcopyrect 检测:s1 是鼠标后等待多长时间
第一次滚动时按下按钮,s2 是等待多长时间
检测到第一个鼠标滚动后的附加滚动。 s3 是多久
尝试更新滚动区域之外的周围滚动条(0.0 到
禁用)。 s4 是缓冲指针运动多长时间(试图获得更少,更大
鼠标滚动)。 s5 是仅用于更新滚动窗口的最长时间
无需更新屏幕的其余部分。

-修复屏幕 绳子

根据中的设置定期“修复”屏幕 绳子. 希望你不会
需要此选项,它适用于以下情况 -滚动复制 or
-wirecopyrect 功能留下太多的绘画错误,但它可以用于任何
设想。 此选项定期执行昂贵的操作,因此具有交互性
开启时响应可能会降低。 您可以使用 3 个 Alt_L(左“Alt”键)
连续点击(如下所述 -滚动复制) 而是手动请求
需要时重新绘制屏幕。

绳子 是以下一项或多项的逗号分隔列表:“V=t”、“C=t”、
“X=t”和“8=t”。 在这些“t”代表以秒为单位的时间(它是一个浮动
即使通常应该使用大于 2 的值来避免浪费资源)。 五
设置应将整个屏幕发送给观众的频率(就像 3
Alt_L)。 C 设置 CopyRect 后等待多长时间重新绘制全屏。 X
设置从 X 服务器重新读取完整 X11 帧缓冲区并推送的频率
它向连接的观众展示。 X 的使用应该很少见,如果你
发现你需要它。 8= 仅适用于 -8到24 模式:它设置非
屏幕的默认可视区域(例如 8bpp 窗口)被刷新。 例子:
-修复屏幕 V = 10 -修复屏幕 C = 10

-调试滚动

打开滚动启发式的调试信息打印输出。 "-ds" 是别名。
多次指定它以获得更多输出。

-nox记录

禁用对 RECORD 扩展的任何使用。 这是目前使用的
-滚动复制 方案并监控 X 服务器抓取。

-grab_buster, -nograb_buster

RECORD 扩展的某些使用可能会为 XGrabServer 留下一个小窗口
僵局。 仅当整个服务器抓取应用程序需要鼠标或
释放抓取之前的键盘输入。 它通常是一个窗口管理器
这。 x11vnc 会小心避免该问题,但如果被捕获 x11vnc 将冻结。
没有 -grab_buster, 唯一的解决方案是去物理显示器并给它
一些输入来满足抓取应用程序。 或者手动杀死并重启窗口
经理,如果这是可行的。 和 -grab_buster, x11vnc 将分叉一个辅助线程
如果 x11vnc 在一段时间(20-30 秒)后似乎卡在了抓取中,那么
它会注入一些用户输入:按钮点击、退出、鼠标移动等尝试
打破抓地力。 如果您遇到很多抓取死锁,请报告错误。

-调试_抓取

打开关于 XGrabServer() 死锁的调试信息打印输出
-scrollcopyrect__mode_。

-debug_sel

打开关于 PRIMARY、CLIPBOARD 和 CUTBUFFER0 的调试信息打印输出
选择。

-指针模式 n

各种指针运动更新方案。 "-下午" 是别名。问题是指针
运动会导致屏幕上的快速变化:考虑当你
不透明地拖动一个大窗口。 x11vnc 的屏幕轮询和 vnc 都不是
压缩例程和 vncviewer 的带宽可以跟上这些快速
屏幕变化:拖动或滚动时一切都会停滞不前。 所以一个方案
在重新轮询屏幕之前,必须用于“吃掉”大部分指针输入,并且
发送帧缓冲区更新。 模式编号 n 可以是 0 到 4 并选择其中之一
下面描述的方案。

请注意 -线框-scrollcopyrect__mode_s 补充 -指针模式 by
检测(并改善)某些“快速换屏”时期。

n=0:与 -不拖。 (如果有鼠标,则暂停所有屏幕轮询
按钮被按下。)

n=1:是 2004 年 XNUMX 月左右使用的原始方案:它基本上只是跳过
-输入_跳过 重新轮询屏幕之前的键盘或指针事件。

n=2 是一种改进的方案:通过观察输入事件的当前速率,它试图
检测它是否应该在继续之前尝试“吃掉”额外的指针事件。

n=3 基本上是动态的 -不拖拉 模式:它检测鼠标移动的时间
暂停,然后刷新显示。

n=4 尝试测量网络速率和延迟、视频卡读取速率以及
屏幕上改变了多少瓷砖。 由此,它积极地尝试
当它决定有足够的资源来推动屏幕“框架”时。 不是
完成的。

默认 n 为 2。请注意,模式 2、3、4 将跳过 -输入_跳过 键盘事件
(但它不会计算指针事件)。 另请注意,这些模式不是
可用 -线程 模式有自己的指针事件处理机制。

尝试不同的指针模式,看看哪一种能给出最好的响应
您的使用,使用遥控功能很方便,例如
“x11vnc -R pm:4" 或 tcl/tk gui (Tuning -> pointer_mode -> n)。

-输入_跳过 n

对于非线程时的指针处理:尝试读取之前的 n 个用户输入事件
扫描显示。 n < 0 意味着表现得好像总是有用户输入一样。
默认值:10

-所有输入

在继续之前让 x11vnc 读取并处理所有可用的客户端输入。

-input_eagerly

-所有输入 但是使用内置的handleEventsEagerly机制
LibVNC 服务器。

-速度 路,黑白,纬度

x11vnc 尝试估计一些用于优化调度的速度参数
(例如 -指针模式 4, - 线框, -滚动复制) 和其他东西。 使用
-速度 手动设置这些选项。 三重奏 路,黑白,纬度 对应视频
以 MB/秒为单位的硬件读取速率、以 KB/秒为单位的客户端网络带宽和网络
分别以毫秒为单位的客户端延迟。 如果一个值留空,例如
“-speeds ,100,15”,然后使用内部方案来估计空值。

典型的 PC 视频卡的读取速率为 5-10 MB/秒。 如果帧缓冲区在
主内存而不是视频硬件(例如 SunRay、shadowfb、虚拟驱动程序、Xvfb),
读取速度可能会快得多。 “x11 性能 -getimage500" 可以用来降低
绑定(记住要考虑每个像素的字节数)。 由您来估算
网络带宽和客户端延迟。 对于延迟 (1) 命令可以
使用。

为方便起见,提供了一些别名,例如“-速度 调制解调器"。别名
是:“调制解调器”为 6,4,200; “dsl”代表 6,100,50; 和“lan”为 6,5000,1

-wmdt 绳子

对于某些功能,例如 -线框-滚动复制, x11vnc 必须解决
某些窗口管理器或桌面(当前为 kde 和 xfce)的问题。 经过
默认它会尝试猜测哪一个,但它可能会猜错。 使用此选项
指示哪个 wm/dt。 绳子 可以是“gnome”、“kde”、“cde”、“xfce”或“root”
(经典 X wm)。 其他任何东西都被解释为“根”。

-调试指针

打印每个指针事件的调试输出。

-调试键盘

打印每个键盘事件的调试输出。

与...一样 -dp-dk, 分别。 多次使用以获得更多输出。

-推迟

延迟向已连接客户端发送更新的时间(以毫秒为单位) (deferUpdateTime)
默认值:20

-等待

在屏幕轮询之间暂停的时间(以毫秒为单位)。 用于减少负载。 默认值:20

-extra_fbur n

执行额外的 FrameBufferUpdateRequests 检查以尝试更好地与
客户的要求。 这样做是对客户端套接字执行额外的轮询
关键时间(在 '-defer' 和 '-wait' 调用之前)。默认值为 n=1。 设置为
更大的数字以插入更多检查或设置为 n=0 以禁用。 这些的缺点
额外的调用是可能会处理比预期更多的鼠标输入。

-等待用户界面 因素

削减的因素 -等待 最近有用户输入的时间(指针
或键盘)。 提高响应,但在您移动时会增加负载
鼠标或打字。 默认值:2.00

-setdefer n

当。。。的时候 -等待用户界面 机制减少等待时间毫秒,将延迟时间设置为
相同的毫秒值。 n=1 启用,0 禁用,-1 将延迟设置为 0(无延迟)。
同样,2 和 -2 表示应该使用 'urgent_update' 模式来推送
更新更快。 默认值:1

-nowait_bog

不要检测屏幕轮询是否“陷入困境”并睡得更多。 一些
没有用户输入的活动会使事情变慢很多:考虑一个大型终端
具有长时间构建的窗口持续流式传输文本输出。 经过
默认 x11vnc 将尝试检测这一点(连续 3 次屏幕轮询,每次长于
0.25 秒,没有用户输入),睡眠时间长达 1.5 秒,让事情“赶上”。
使用此选项可禁用该检测。

-slow_fb

以秒为单位的浮点时间,以延迟所有屏幕轮询。 特殊用途
低帧率是可以接受和可取的,但您希望用户
输入以正常速率处理,因此您无法使用 -等待。

-x刷新

以秒为单位的浮点时间,表示多久执行一次相当于
外部刷新(1) 强制所有窗口(如果在可视区域内 -ID, -西德, or -夹 is
使用)重新粉刷自己。 仅当应用程序行为不端时才使用此选项
正确地重新粉刷自己。 也可以看看 -氮氧化物伤害。

-小憩, -午睡

监控活动,如果它很低,则在屏幕轮询之间需要更长的小睡才能真正
空闲时减少负载。 默认:小睡

-sb

没有活动(例如屏幕空白)后真正降低速度的时间(以秒为单位)
屏幕轮询(即睡眠约 1.5 秒)。 使用 0 禁用。 默认值:60 设置
环境。 变种。 X11VNC_SB_FACTOR 来缩放它。

-读取超时 n

将 LibVNCServer rfbMaxClientWait 设置为 n 秒。 在需要很长时间的慢速链接上
绘制第一个屏幕 LibVNCServer 可能会超时并断开连接。
默认值:20 秒。

n

每 n 秒向所有客户端发送 1x1 帧缓冲区更新(例如,尝试保持
网络连接有效)

-nofbpm, -fbpm

如果系统支持 FBPM(帧缓冲电源管理)扩展(即
一些 Sun 系统),然后防止视频硬件进入低功耗状态
当 VNC 客户端连接时。

支持 FBPM 的视频硬件在工作站空闲时通过进入低电平来节省能源
电源状态(类似于显示器的 DPMS)。 这会干扰 x11vnc 的轮询
帧缓冲区数据。

"-nofbpm" 表示在连接 VNC 客户端时防止 FBPM 处于低功耗状态,
而“-fbpm" 表示根本不监视 FBPM 状态。请参阅 集合(1) 联机帮助页
了解详情。 -nofbpm 与运行“xset fbpm force on”基本相同
定期。 默认: -fbpm

-点头, -dpms

如果系统支持 DPMS(显示电源管理信号)扩展,
然后防止监视器在 VNC 客户端处于低功耗状态时
连接的。

DPMS 降低功率监视器状态是一件好事,您通常需要功率
下发生(通常x11vnc在此导出显示没有问题
状态)。 您可能只想使用“-点头“解决问题
屏幕保护程序在 DPMS 低功耗状态下启动。 存在已知问题
KDE 上的 kdesktop_lock,每次用户输入时屏幕保护程序都会启动
停一两秒。 指定“-点头“围绕它工作。

"-点头" 表示在连接 VNC 客户端时防止 DPMS 低功耗状态,
而“-dpms" 表示根本不监视 DPMS 状态。请参阅 集合(1) 联机帮助页
了解详情。 -点头 与运行“xset dpms force on”基本相同
定期。 默认: -dpms

-强制pms

如果系统支持 DPMS(显示电源管理信号)扩展,
然后尝试将显示器保持在关机状态。 这是为了防止多管闲事
人们在物理显示器上查看屏幕上的内容。 一定要锁
断开连接前的屏幕。

这种方法远非防弹,例如假设有人附加了非DPMS
监控,或加载机器,以便在 x11vnc 恢复之前有一段时间
关机状态? 在许多机器上,如果他用键盘和鼠标淹没它
输入他可以看到在DPMS关闭状态之前屏幕上闪烁的内容
重新建立。 为了安全地工作,需要在 X 中提供支持
服务器来精确地做到这一点,而不是用 DPMS 近似地做到这一点。

-clientdpms

As -强制pms 但仅当连接 VNC 客户端时。

-noserverdpms

支持 UltraVNC ServerInput 扩展。 这允许 VNC 查看器
单击将导致服务器(x11vnc)尝试禁用键盘和
在物理显示器上进行鼠标输入并将显示器置于 dpms 关闭状态。
使用此选项跳过关闭显示器的电源。

-noultraext

禁用以下 UltraVNC 扩展:SingleWindow 和 ServerInput。 这
其他由 LibVNCServer 管理的(文本聊天、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,请将其放置
-聊天窗口 cmdline 上的选项。

另请参阅遥控器“chaton”和“chatoff”操作。 这些也可以设置
来自 tkx11vnc GUI。

-诺克斯伤害

不要使用 X DAMAGE 扩展来检测帧缓冲区的变化,即使它是
可用的。 用 -x损坏 如果您的默认设置是关闭它。

x11vnc 对 DAMAGE 扩展的使用: 1) 显着降低负载时
屏幕变化不大,2)检测变化的区域(默认情况下是小的)
更快速。

目前 DAMAGE 扩展过于保守,经常报告大面积
(例如整个终端或浏览器窗口)已损坏,即使实际已更改
区域要小得多(有时只有几个像素)。 所以启发式是
引入以跳过大区域并仅将损坏矩形用作“提示”
传统的扫描线轮询。 介绍以下调优参数
调整此行为:

-xd_区域 A

设置最大 DAMAGE 矩形区域 A (以像素为单位:宽度 * 高度)信任为
真正损坏:无论如何,矩形都将从帧缓冲区中复制(慢)
什么。 设置为零以信任*所有*矩形。 默认值:20000

-xd_mem f

设置 DAMAGE 矩形应该被“记住”多长时间, f 是一个浮点数
并且以扫描线重复循环时间(32 次迭代)为单位。 默认
(1.0) 应该没有绘画问题。 如果有问题或增加它
减少它以生活在边缘(可能在慢速机器上有用)。

-sigpipe 绳子

断管 (SIGPIPE) 处理。 绳子 可以是“忽略”或“退出”。 对于“忽略”
LibVNCServer 将处理客户端的突然丢失并继续,用于“退出”
x11vnc 将在第一个断开的连接处清理并退出。

这个选项并不是真正需要的,因为 LibVNCServer 现在正在做正确的事情
很长一段时间。 但是,为方便起见,您可以使用它来忽略其他
信号,例如“-sigpipe 忽略:HUP,INT,TERM“如果这对某些人有用
种应用。 您也可以将“exit:..”放在列表中以进行 x11vnc 清理
在列出的信号上。 "-信号" 是这个选项的别名,如果你不喜欢
'管道'。 例子: -信号 忽略:INT,TERM,退出:USR1

-线程, -无线程

是否使用线程化 LibVNCServer 算法 [rfbRunEventLoop] if
libpthread 可用。 在这种模式下,新线程(一个用于输入,一个用于
输出)被创建来处理每个新客户端。 默认: -无线程。

线程稳定性在 0.9.8 版本中得到了很大改善。

线程模式下的多个客户端对于 ZRLE 编码应该是稳定的
平台。 Tight 和 Zlib 编码目前仅在 Linux 上稳定
多个客户。 编译 -DTLS=__线程 如果你的操作系统和编译器和链接器
支持它。

对于调整大小(randr 等),请设置此环境。 变种。 到毫秒数
sleep: X11VNC_THREADS_NEW_FB_SLEEP 在 do_new_fb() 操作的不同位置。
这是为了让各种活动安定下来。 默认值约为 500 毫秒。

线程模式下的多个客户端可以为“教室”产生更好的性能
广播使用; 也在 -应用共享 广播模式。 另见 -反映
选项。

-fs f

如果轮询中更改的图块的比例大于 f,则整个屏幕是
更新。 默认值:0.75

-差距 n

启发式填充 n 或更少瓦片的行或列中的空白。 用于改善文本
分页。 默认值:4

-生长 n

通过检查靠近
边界。 默认值:3

-绒毛 n

以像素为单位的公差,用于将平铺边缘标记为已更改。 默认值:2

-debug_tiles

打印瓷砖、FB 更新等的调试输出。

-snapfb

不是轮询 X 显示帧缓冲区 (fb) 的更改,而是定期复制
所有 X 将 fb 显示到主内存中并检查该副本是否有更改。 (这
设置也适用于非 X -rawfb 模式)。 在某些情况下,这将
改善互动反应,或者至少让事情看起来更顺畅,但在其他方面
(大多数!)它会使反应变得更糟。 如果视频 h/w fb 是这样的阅读
小瓷砖非常慢,这种模式可能会有所帮助。 为了保持“帧率”
屏幕大小 x bpp 不能太大。 注意这个模式很浪费
内存 I/O 资源(即使没有任何变化,它也会进行全屏复制)。 有可能
可用于类似视频捕获的应用程序、网络摄像头或窗口撕裂是一种
问题。

-rawfb 绳子

不是轮询 X,而是轮询指定的内存对象 绳子.

对于文件轮询,到内存映射 MMAP(2) 一个文件使用:"map:/path/to/a/file@WxHxB",
具有帧缓冲区宽度、高度和每像素位数。 "mmap:..." 是一样的。

如果 mmap 有问题,请使用 "file:/..." 来降低速度 寻求(2)基础阅读。

使用“snap:...”来暗示 -snapfb 模式和“文件:”访问(这是不可搜索的
一次只提供 fb 的设备,例如摄像机提供
整个框架)。

对于共享内存段,字符串的格式为:“shm:N@WxHxB”,它指定一个
shmid N 和 WxHxB 同上。 看 垫子(1)和 电脑(1)

如果您不提供类型“map”,则假定文件存在(请参阅下一个
一些例外的段落。)

如果字符串是“setup:cmd”,则运行命令“cmd”并从它的第一行开始
被读取并用作 绳子. 这允许初始化设备,确定
WxHxB 等。这些通常以 root 身份完成,所以要小心。

如果字符串以“video”开头,请参阅下面的 VIDEO4LINUX 讨论,其中
设备可能会被查询(并可能设置)帧缓冲参数。

如果字符串以“console”、“/dev/fb”、“fb”或“vt”开头,请参阅 LINUX
下面的 CONSOLE 讨论在哪里打开了帧缓冲设备和击键(和
可能是鼠标事件)被插入到控制台中。

如果字符串以“vnc”开头,请参阅下面的 VNC HOST 讨论,其中
framebuffer 被当作另一个远程 VNC 服务器的。

可选的后缀是“:R/G/B”和“+O”来指定红色、绿色和蓝色掩码(在
hex) 和内存对象的偏移量。 如果未提供掩码 x11vnc
根据 bpp 猜测它们(如果颜色看起来不对,您需要提供
面具。)

另一个可选的后缀是每行字节数,在某些情况下不是 WxB/8。
将其指定为 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

(见 电脑(1)和 设置(1) 对于前两个例子)

通常,默认情况下会丢弃所有用户输入(请参阅 -管道输入 选项
如何使用辅助程序插入)。 X11 的大部分(屏幕、键盘、鼠标)
选项没有意义,许多会导致此模式崩溃,所以请考虑
在运行的 x11vnc 中设置或更改它们之前两次。

如果您不希望 x11vnc 在 rawfb 模式下关闭 X DISPLAY,请在前面加上“+”,例如
+file:/dev/fb0... 保持显示器打开启用默认远程控制
频道,这可能很有用。 或者,如果您指定 -noviewonly, 然后
鼠标和键盘输入仍然发送到 X 显示器,这种用法应该是
非常罕见,即用/dev/fb0 做一些奇怪的事情。

如果设备不是“可搜索的”(例如网络摄像头),请尝试一次完整地阅读它
通过“snap:”模式捕捉(注意:这是一个资源猪)。 如果您使用的是文件:
或地图:并且需要为*每个* 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 单色示例:
文件:/dev/urandom@128x128x1:1/1/1 像这样的其他一些是 128x128x2:3/3/3
128x128x4:7/7/7

对于 B < 8 帧缓冲区,您还可以设置环境。 var RAWFB_CGA=1 尝试 CGA
B=4 的映射(例如 linux vga16fb 驱动程序。)注意低 bpp 和/或分辨率
Linux 控制台上的 VGA 和 VGA16 模式尝试通过 x11vnc 导出它们
由于特殊的调色板、像素包装,甚至视频,通常会受到阻碍
绘画缓冲。 OTOH,经常尝试使用 RGB 蒙版可以产生
可以识别的东西。

VIDEO4LINUX:在 Linux 上尝试处理视频设备(网络摄像头或电视
调谐器)自动。 这个想法是将从设备中提取 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 重新打开设备时仍然存在。

是一个逗号分隔的键=值对列表。 设备的亮度,
颜色、对比度和色调可以设置为百分比,例如 br=80,co=50,cn=44,hu=60。

如果需要,也可以设置设备文件名(如果它不以“视频”开头),
例如 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)。

对于电视/射频调谐器卡,可以通过 tun=XXX 设置调谐模式,其中 XXX 可以是一
PAL、NTSC、SECAM 或 AUTO。

可以通过 inp=XXX 设置切换输入通道,其中 XXX 是
输入通道(电视、Composite1、S-Video 等)。 使用其中的名称
启动时打印的有关设备的信息。

对于带有调谐器的输入频道(例如电视),可以更改哪个电台是
由 sta=XXX 设置选择。 XXX 是站号。 目前只有
ntsc-cable-us(美国有线电视)频道内置于 x11vnc。 见 -频率表 选项
下面从 xawtv 提供一个。 如果 XXX 大于 500,则解释为
作为以 KHz 为单位的原始频率。

计费示例:

-rawfb video:br=80,w=320,h=240,fmt=RGB32,tun=NTSC,sta=47

如果卡,可能还需要添加 inp=Television 以使输入频道成为电视
在那个默认情况下不会出现。

请注意,并非所有视频捕获设备都支持上述所有设置。

查看 -管道输入 下面的 VID 选项用于通过
通过击键的 VNC 查看器。 作为一种快捷方式,如果字符串以“Video..”开头
“视频..”然后 -管道输入 VID 是隐含的。

如上所述,如果您在使用它们的字符串
逐字逐句:不向设备查询当前值。 否则设备
会被查询。

LINUX CONSOLE:以下描述了一些查看和可能交互的方式
使用 Linux 文本/图形控制台(即不是 X11 XFree86/Xorg)

注意:如果 LibVNCServer LinuxVNC 程序在您的系统上,您可能希望使用
那而不是下面的方法,因为它会更快更准确
用于 Linux 文本控制台并包括鼠标支持。 然而,有
x11vnc 中的基本 LinuxVNC 功能,如果在
下面的例子。

如果 rawfb 字符串以“console”开头,则打开帧缓冲设备 /dev/fb0
并且 /dev/tty0 也打开了。 后者用于注入击键(并非所有都是
支持,但基本的是)。 您需要成为 root 才能注入击键,
但不一定要打开/dev/fb0。 /dev/tty0 指的是活动的 VT,以
明确指出一个,例如,使用“console2”表示 /dev/tty2 等,通过指明
特定的 VT 编号。

对于要启用的 Linux 帧缓冲设备 /dev/fb0、(fb1 等)
必须加载适当的内核驱动程序。 例如 vesafb 或 vga16fb 也可以通过
设置引导参数vga=0x301(或0x314、0x317等)(vga=...方法
是首选方式; 以这种方式设置你的机器。)否则会有一个
“没有这样的设备”错误。 您还可以加载特定于
您的视频卡品牌以获得更多功能。 机器启动后,可以
通常以 root 身份“modprobe”fb 驱动程序来获取帧缓冲设备。

如果您无法在 Linux 上运行 /dev/fb0,请尝试使用 LinuxVNC 仿真模式
经过 ”-rawfb vN" 其中 N = 1, ... 6 是 Linux 虚拟终端(又名虚拟
控制台)您希望查看,例如“-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”等或 -管道输入 CONSOLE 强制
/dev/ttyN 方法。

请注意,您可以使用远程更改 Linux VT 中风(1) 制作命令
你想成为活跃的人(例如'chvt 3')。 有时切换回来
更正帧缓冲区的图形状态。 为了 ”-rawfb vN"模式没有
需要切换VT。

要完全跳过输入注入,请使用“consolex”或“vtx”。

可以使用字符串“/dev/fb0”(1 等)代替“console”。 这个可以用
指定不同的帧缓冲设备,例如 /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:加速度=4.0 -rawfb vt3
(/dev/tty3 没有 /dev/fb0)

VNC 主机:如果 -rawfb 字符串的格式为“vnc:host:N”,然后 VNC 显示“N”
在远程 VNC 服务器“主机”上连接到(即 x11vnc 充当 VNC 客户端
本身)并且该帧缓冲区被导出。 这与选项“-反映
主持人:N".

这种模式只有在你试图提高性能时才真正有用。
许多(例如 >10)同时 VNC 查看器的情况,您尝试分而治之
减少带宽和提高响应能力的方案。 然而,另一位用户发现
此模式对于通过慢速链接导出演示显示很有用:然后是多个演示
查看器连接到链接快速侧的反射 x11vnc,等等
避免所有演示查看器通过慢速链接。 其他用户有
发现这种模式对于能够利用 x11vnc 的许多功能非常有用
其他 VNC 服务器不具备的功能,例如 SSL 加密、单
端口 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 相同。

整体性能将不如单个直接连接,因为,
除其他外,还有额外级别的帧缓冲区轮询和指针
运动仍然可以每秒引起许多必须传播的变化。 提示:如果
远程 VNC 是执行线框图的 x11vnc,或执行线框图的 X 显示器
这比不透明的窗口拖动提供了更好的响应。 考虑
-不拖拉 如果问题很严重,可以选择。

环境。 变种。 X11VNC_REFLECT_PASSWORD 可以设置为登录需要的密码
vnc 主机服务器,或“file:path_to_file”以指示包含
密码作为第一行。

要设置 x11vnc 作为 VNC CLIENT 请求的像素格式,请设置 env。 变量:
X11VNC_REFLECT_bitsPerSample X11VNC_REFLECT_samplesPerPixel,和
X11VNC_REFLECT_bytesPerPixel; 默认值为 8、3、4。2、3、1 会给出低
颜色模式。 有关更多信息,请参阅 libvncclient 中的函数 rfbGetClient()。

VNC HOST 模式意味着 -共享。 使用 VHDL 语言编写 -无共享 作为后续的 cmdline 选项
禁用共享。

-频率表 文件

用于“-rawfb 电影" 让电视调谐器设备指定电台频率。
而不是使用站号到频率的内置 ntsc-cable-us 映射,
使用文件中的数据。 对于非数字站,例如 SE20,它们是
按找到的顺序放置在编号最高的电台上方。 例子:
"-频率表 /usr/X11R6/share/xawtv/europe-west.list" 你可以通过
复制 xawtv 格式。

-管道输入 CMD

此选项允许您提供外部命令 CMD x11vnc 将通过管道传输所有
用户以简单的格式输入事件。 在 -管道输入 默认模式 x11vnc
不会处理任何用户输入事件。 如果你前缀 CMD 用“tee:”它
都会将它们发送到管道命令并处理它们。 对于描述
格式运行“-pipeinput tee:/斌/猫"。另一个前缀是"reopen",意思是
如果管道退出,请重新打开管道。 用逗号分隔多个前缀。

与...结合使用 -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 和 GREY。
参见 -rawfb 视频了解详情。

如果 cmd 是“CONSOLE”或“CONSOLEn”,其中 n 是 Linux 控制台编号,则 linux
控制台击键插入到 /dev/ttyN(参见 -rawfb 控制台)执行。

如果 cmd 以“UINPUT”开头,那么 Linux uinput 模块用于插入两者
Linux 控制台的击​​键和鼠标事件(参见 -rawfb 更多)。 这通常
是 /dev/input/uinput 设备文件(您可能需要使用“mknod
/dev/input/uinput c 10 223" 并使用“modprobe uinput”插入模块。

UINPUT 模式目前只支持美式键盘(可能会添加扫码选项),
并非所有键符都受支持。 但它可能比
“控制台”方法。

您可能想要使用这些选项 -光标 没有和 -不拖拉 在这种模式下。

可以通过以下方式提供其他调整选项: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。

注意:默认加速度为 2.0,因为它似乎经常嵌入 X 和 qt
(但不总是)使用这个值。

即使使用正确的加速度设置,鼠标位置也会不同步(可能
由于没有应用加速度的鼠标“阈值”设置,请设置
集合(1))。 选项 reset=N 设置毫秒数(默认为 150),之后
试图重置光标(通过将鼠标强制到 (0, 0) 通过 small
增量,然后在 1 次跳跃中回到 (x, y)),这个修正似乎是
需要,但可能会导致菜单出现抖动或意外行为等。使用 reset=0
禁用。

如果你设置环境。 var X11VNC_UINPUT_THRESHOLDS 那么 thresh=n 模式将是
启用。 它目前运行不佳。 如果 |dx| <= 阈值和 |dy| < 门槛没有
应用加速度。 使用 "thresh=+n" |dx| + |dy| < thresh 改为使用
(X11?)

计费示例: -管道输入 UINPUT:加速度=4.0 -光标 没有

如果 uinput 设备有一个绝对指针(与普通鼠标相反,
相对指针)您可以指定选项“abs”。 请注意,触摸板
笔记本电脑在某种程度上是绝对的设备。 这(通常)避免了所有
鼠标加速问题。 如果 x11vnc 无法推断出
设备,使用“abs=WxH”。 此外,如果设备是触摸屏(假设
有一个绝对指针)使用“touch”或“touch=WxH”。 对于触摸屏,当一个
鼠标按钮被按下,压力增加被注入,当按钮被按下时
释放压力为零。

如果已设置触摸,则使用“touch_always=1”来指示鼠标何时移动
在没有按下按钮的情况下,无论如何都应该发送一个零压力的触摸事件。 还
使用“btn_touch=1”来指示应该发送 BTN_TOUCH 按键按下或释放
而不是压力变化。 设置 "dragskip=n" 跳过 n 次拖动的鼠标触摸
(施加压力)在注射之前。 指示应施加的压力
当点击触摸屏设备的按钮时发送,指定压力=n,
例如n=5。 默认值为 n=1。

如果正在使用触摸屏(上面的“触摸”)并且它正在输入
由 tslib 处理,您可以通过以下方式指定 tslib 校准文件
tslib_cal= . 例如,tslib_cal=/etc/pointercal。 为了得到准确甚至
使用 tslib 时需要可用的定位。

Linux uinput 机制可以绕过,可以直接写输入事件
改为设备。 为此,请为
输入类:direct_rel= direct_abs= direct_btn= 要么
直接键= . 这文件通常类似于 /dev/input/event1
但您可以指定任何设备文件或管道。 您必须指定其中的每一项
以上类即使它们对应于相同的设备文件(rel/abs 和 btn 是
通常相同。)查看文件 /proc/bus/输入/设备 了解什么是
可用和设备文件名。 注意:/dev/input/mouse* 设备不
似乎可行,请改用相应的 /dev/input/event* 文件。 任何输入
上面没有直接指定的类将通过 uinput 机制处理。 到
禁用创建 uinput 设备(从而丢弃未处理的输入),指定
“努输入”。

例子:

-管道输入 UINPUT:direct_abs=/dev/输入/事件1

这用于 qtmoko Neo freerunner(armel):

-管道输入 UINPUT:touch,tslib_cal=/etc/pointercal,
direct_abs=/dev/input/event1,nouinput,dragskip=4

(长线被分成两部分。)

你可以设置环境。 var X11VNC_UINPUT_DEBUG=1 或更高以获取调试输出
用于 UINPUT 模式。

-麦克诺丁

对于本机 MacOSX 服务器,禁用调光。

-macnosleep

对于本机 MacOSX 服务器,禁用显示睡眠。

-macnosaver

对于本机 MacOSX 服务器,禁用屏幕保护程序。

-macnowait

对于本机 MacOSX 服务器,不要等待用户切换回他的
显示。

-麦克轮 n

对于本机 MacOSX 服务器,将鼠标滚轮速度设置为 n(默认为 5)。

-macnoswap

对于本机 MacOSX 服务器,请勿交换鼠标按钮 2 和 3。

-宏尺寸

对于本机 MacOSX 服务器,不要调整或重置帧缓冲区,即使它是
检测到屏幕分辨率或深度已更改。

-macicoanim n

对于本机 MacOSX 服务器,将 n 设置为窗口的毫秒数
iconify/deiconify 动画需要。 在 -缓存 mode 此值将用于跳过
如果可能的话,动画。 (默认 400)

-mac菜单

对于本机 MacOSX 服务器,在 -缓存 客户端缓存模式,尝试缓存
下拉菜单(不完美,因为它们有动画淡入淡出等)

-macuskbd

对于本机 MacOSX 服务器,使用基于 a 的原始击键插入代码
美国键盘。

-macnoopengl

对于本机 MacOSX 服务器,不要使用 OpenGL 进行屏幕捕获,而是使用
原始的、已弃用的原始内存访问方法:addr = CGDisplayBaseAddress()。

-macnorawfb

对于本机 MacOSX 服务器,禁用原始内存地址屏幕捕获方法。

MACOSX 注意:有一些已弃用的 MacOSX 接口可以注入键盘和
鼠标事件和原始内存访问方法也被弃用(但是,
如果可用,OpenGL 将是首选,因为它更快。)可以强制不
通过设置在编译时使用任何不推荐使用的接口
-DX11VNC_MACOSX_NO_DEPRECATED=1 在 CPPFLAGS 中。 或者将它们一一关闭:
-DX11VNC_MACOSX_NO_DEPRECATED_LOCALEVENTS=1,
-DX11VNC_MACOSX_NO_DEPRECATED_POSTEVENTS=1 or
-DX11VNC_MACOSX_NO_DEPRECATED_FRAMEBUFFER=1 在运行时,用于测试和
解决方法,可以使用以下方法禁用它们: -环境 X11VNC_MACOSX_NO_DEPRECATED=1 -环境
X11VNC_MACOSX_NO_DEPRECATED_LOCALEVENTS=1 -环境
X11VNC_MACOSX_NO_DEPRECATED_POSTEVENTS=1 或 -环境
X11VNC_MACOSX_NO_DEPRECATED_FRAMEBUFFER=1 注意:当为
鼠标输入目前并非一切正常,例如双击和线框。
此外,不会自动检测屏幕分辨率和像素深度的变化
除非允许使用已弃用的帧缓冲区接口。

相反,如果您在没有某些
较新的接口,您可能需要指定
-DX11VNC_MACOSX_NO_CGEVENT创建ESCROLLWHEELEVENT
-DX11VNC_MACOSX_NO_CGEVENTCREATEMOUSEEVENT or
-DX11VNC_MACOSX_NO_CGEVENTCREATEKEYBOARDEVENT。 使用 VHDL 语言编写
-DX11VNC_MACOSX_USE_GETMAINDEVICE 重新获得非常古老的 QuickDraw GetMainDevice()
界面(罕见...)

-gui [gui-opt]

根据远程控制选项启动一个简单的 tcl/tk gui -远程/-查询
如下面所描述的。 需要在机器上安装“wish”程序。
“gui-opts”不是必需的:默认是启动完整的 gui 和 x11vnc
gui 显示在环境变量 DISPLAY 中的 X 显示器上。

“gui-opts”可以是逗号分隔的项目列表。 目前有这几种
项目:1)一个gui模式,一个2)gui“简单”,3)X显示gui应该
显示在,4)“托盘”或“图标”模式,以及 5)gui 几何图形。

1) gui模式可以是“start”、“conn”或“wait” “start”是上面的默认模式
并且不是必需的。 "conn" 表示不自动启动 x11vnc,但是
而是尝试连接到现有的 x11vnc 进程。 “等待”意味着刚刚开始
gui 并没有其他任何东西(稍后您将指示 gui 启动 x11vnc 或
连接到现有的。)

2) 默认情况下,gui 简单性是关闭的(具有所有选项的高级用户 gui 是
提出)从一些不那么令人生畏的事情开始,提供字符串“simple”(“ez”
是这个的别名)。 gui启动后,您可以在两者之间切换
“杂项-> simple_gui”。

3) 请注意关于可能的两个不同 X 显示的可能混淆:
x11vnc 轮询一个,但您可能希望 gui 出现在另一个上。 例如,如果
你 ssh 进入并且 x11vnc 没有运行但你可能希望 gui 回到你身边
通过您的 ssh 重定向 X 显示(例如 localhost:10)。

如果你没有在 "gui-opts" 中指定一个 gui X 显示,那么 DISPLAY 环境
变量和 -显示 选项被尝试(按该顺序)。 关于 x11vnc X
显示 gui 将尝试与之通信,它首先尝试 -显示 然后
展示。 例如,“x11vnc -显示 :0 -gui otherhost:0", 将远程控制
一个 x11vnc 轮询 :0 并在 otherhost:0 上显示 gui 下面的“托盘/图标”模式
反转此首选项,更喜欢在 x11vnc 显示器上显示。

4) 当“tray”或“icon”被指定时,gui将自己显示为一个小图标
“系统托盘”或“停靠小程序”的典型行为。 图标的颜色
指示状态(连接的客户端),还有一个气球状态。 点击
图标上提供了一个菜单,可以从中设置属性等,完整的 gui 是
在“高级”下可用。 要完全发挥作用,gui 模式应该是“开始”
(默认)。

请注意,托盘或图标模式将暗示 -永远 x11vnc 选项(如果 x11vnc
服务器与 gui 一起启动)除非 -连接 or -连接或退出 一直
指定的。 所以x11vnc(和托盘/图标gui)将在之后等待更多连接
第一个客户端断开连接。 如果您只需要一个查看器连接,请包括
-一次 选项。

对于“图标”,gui 只是一个小的独立窗口。 对于“托盘”,它将尝试
如果可能,将其嵌入“系统托盘”中。 如果附加了“=setpass”,则在
启动 X11 用户将被提示设置 VNC 会话密码。 如果
= 附加该图标将尝试将自身嵌入给定的窗口中
按十六进制数。 使用 =noadvanced 禁用完整的 gui。 (要供应多个,
使用“+”号)。 例如 -gui 托盘=setpass 和 -gui 图标=0x3600028

其他模式:“full”,默认,无需指定。 "-gui 没有“, 不要
显示一个 gui,用于覆盖 〜/.x11vncrc 设置等

5) 当“geom=+X+Y”被指定时,该几何图形被传递到 gui 顶层。
这是图标/托盘模式下的图标,否则是完整的 gui。 你也可以
指定宽高,即WxH+X+Y,但不推荐。 在“托盘”模式下
除非系统托盘管理器似乎没有运行,否则几何将被忽略。
可以想象使用类似“-gui 托盘,几何=+4000+4000"带显示器
经理保持 gui 不可见,直到有人登录......

更多的图标技巧,“icon=minimal”给出一个图标,只是带有 VNC 显示编号。
您还可以使用“iconfont=...”设置字体。 以下可能有用:
"-gui icon=minimal,iconfont=5x8,geom=24x10+0-0"

的一般例子 -gui 选项:“x11vnc -gui", “x11vnc -gui ez" "x11vnc -gui
本地主机:10", "x11vnc -gui 连接,主机:0”,“x11vnc -gui 托盘,ez" "x11vnc -gui
托盘 = setpass"

如果您不打算从 gui 启动 x11vnc(即只是远程控制
现有的),那么 gui 进程可以在与 x11vnc 不同的机器上运行
服务器只要 X 权限等允许两者之间的通信。

字体:在某些系统上,tk 字体可能太小、锯齿状或其他
不可读。 您可以将 4 个环境变量设置为您喜欢的 tk 字体:

X11VNC_FONT_BOLD 菜单和按钮的主要字体。 X11VNC_FONT_FIXED 字体为
固定宽度的文本。

X11VNC_FONT_BOLD_SMALL 托盘图标字体。 X11VNC_FONT_REG_SMALL 托盘图标菜单
字体。

最后两个仅适用于托盘图标模式。

下面是一些例子:

-环境 X11VNC_FONT_BOLD='黑体字 -16 大胆的' -环境 X11VNC_FONT_FIXED='信使 -14'
-环境 X11VNC_FONT_REG_SMALL='Helvetica -12'

您可以将上面的行(不带引号)放在您的 〜/.x11vncrc 文件
以避免必须在 x11vnc 命令行上指定它们。

-远程 命令

远程控制已经运行的 x11vnc 服务器的某些方面。 "-R“和”-r"
是“的别名-远程". 远程控制命令发送到运行后
服务器'x11vnc -远程 ...' x11vnc 命令退出。 您可以经常使用
-询问 命令(见下文)查看 x11vnc 服务器是否处理了您的 -远程
命令。

默认通信渠道是 X 属性的渠道(特别是
X11VNC_REMOTE),因此必须使用正确的 DISPLAY 设置运行此命令
并且可能 XAUTHORITY 连接到 X 服务器并设置属性。
或者,使用 -显示-身份验证 将它们设置为正确的选项
价值观。 正在运行的服务器无法使用 -novncconnect 选项,因为那
禁用通信通道。 有关备用频道,请参见下文。

例如:'x11vnc -远程 停止”(与“x11vnc”相同) -R 停止')将
关闭 x11vnc 服务器。 'x11vnc -R shared' 将启用共享连接,
和'x11vnc -R scale:3/4' 将重新缩放桌面。

为 X11 属性使用不同的名称(例如,进行单独的通信
同一显示器上多个 x11vnc 的通道)设置 X11VNC_REMOTE
环境变量到你想要的字符串,例如: -环境
X11VNC_REMOTE=X11VNC_REMOTE_12345 通道两侧必须使用相同
唯一的名称。

要按顺序运行一堆命令,请使用以下命令:x11vnc -R
'脚本:firstcmd;secondcmd;...'

使用 x11vnc -R script:file=/path/to/file 从文件中读取命令(可以是多
行并以正常方式使用注释“#”字符。 这 ';' 分隔符必须
仍然用于分隔每个命令。)

不要尝试联系另一个 x11vnc 进程,而是只运行命令(或
查询)直接,在命令前加上字符串“DIRECT:”

下列 -远程/-R 支持命令:

stop 终止服务器,与 "quit" "exit" 或 "shutdown" 相同。

ping 查看 x11vnc 服务器是否响应。 返回是:ans=ping:

ping:mystring 同上,但使用您自己的唯一字符串。 回报是:
答案=ping:我的字符串:

blacken 尝试向所有客户端推送黑色 fb 更新(由于时间
客户可能会错过)。 与“零”相同,对于矩形也是“零:x1,y1,x2,y2”。

refresh 将整个 fb 发送给所有客户端。

reset 重新创建 fb,轮询内存等。

id:windowid 集 -ID 窗口“窗口化”。 空或“根”返回根
窗口

sid:windowid 集 -sid 窗口“窗口化”

id_cmd:cmd cmds: 提升、降低、映射、取消映射、iconify、移动:dXdY、调整大小:dWdH、
几何:WxH+X+Y。 dX dY、dW 和 dH 必须以“+”或“-”开头,例如:move:-30+10
调整大小:+20+35 还有:wm_delete、wm_name:string 和 icon_name:string。 还
id_cmd:win=N:cmd

waitmapped 等到 subwin 被映射。

nowaitmapped 不要等到 subwin 被映射。

夹子:WxH+X+Y套 -夹 模式为“WxH+X+Y”

flashcmap 启用 -flashcmap 模式。

noflashcmap 禁用 -flashcmap 模式。

shiftcmap:n 设置 -shiftcmap 到 n。

notruecolor 启用 -无真彩色 模式。

真彩色禁用 -无真彩色 模式。

覆盖启用 -覆盖 模式(如果适用)。

nooverlay 禁用 -覆盖 模式。

覆盖光标在 -覆盖 模式,启用光标绘制。

overlay_nocursor 禁用光标绘制。 与 nooverlay_cursor 相同。

8to24 启用 -8到24 模式(如果适用)。

no8to24 禁用 -8到24 模式。

8to24_opts:str 设置 -8到24 选择“str”。

24to32 启用 -24到32 模式(如果适用)。

no24to32 禁用 -24到32 模式。

视觉:可见集 -视觉的 去“见”

比例:压裂组 -规模 “压裂”

scale_cursor:f 设置 -scale_cursor 到F”

仅查看启用 -只读 模式。

noviewonly 禁用 -只读 模式。

共享启用 -共享 模式。

noshared 禁用 -共享 模式。

永远启用 -永远 模式。

永远禁用 -永远 模式。

超时:n 重置 -暂停 到 n,如果当前没有客户端,则退出,除非
一个在接下来的 n 秒内连接。

tightfilexfer 为新客户端启用文件传输。

notightfilexfer 禁用新客户端的文件传输。

ultrafilexfer 为客户端启用文件传输。

noultrafilexfer 禁用客户端的文件传输。

rfbversion:nm 设置 -rfb版本 对于新客户。

http 启用 http 客户端连接。

nohttp 禁用 http 客户端连接。

deny 拒绝任何新连接,与 "lock" 相同

nodeny 允许新连接,与“解锁”相同

avahi 启用 avahi 服务广告。

noavahi 禁用 avahi 服务广告。

mdns 启用 avahi 服务广告。

nomdns 禁用 avahi 服务广告。

zeroconf 启用 avahi 服务广告。

nozeroconf 禁用 avahi 服务广告。

connect:host 反向连接到主机,“主机”可能是一个逗号分隔的列表
主机或主机:端口。 看 -连接。 与 fwd 连接一样需要密码。
见 X11VNC_REVERSE_CONNECTION_NO_AUTH=1

disconnect:host 断开任何客户端与“host”的连接,与“close:host”相同。 使用主机
"all" 关闭所有当前客户端。 如果您知道客户端内部十六进制 ID,例如
0x3(由“返回”-询问 客户" 和 RFB_CLIENT_ID) 你也可以使用它。

proxy:host:port 设置反向连接代理(为空禁用)。

allowonce:host 仅用于下一个连接,允许来自“主机”的连接。 在 -ssl
允许模式两种连接(即获取证书),除非
X11VNC_NO_SSL_ALLOW_TWICE=1

允许:主机列表集 -允许 列表到(逗号分隔)“主机列表”。 看 -允许
-本地主机。 不要与 -允许 /path/to/file 使用“+host”添加单个主机,
并使用“-主办" 删除单个主机

本地主机启用 -本地主机 模式

nolocalhost 禁用 -本地主机 模式

听:str 集 -听 到 str,为空以禁用。

noipv6 启用 -noipv6 模式。

ipv6 禁用 -noipv6 模式。

noipv4 启用 -noipv4 模式。

ipv4 禁用 -noipv4 模式。

6 启用-6 IPv6 监听模式。

no6 禁用 -6 IPv6 侦听模式。

查找禁用 -不查找 模式。

nolookup 启用 -不查找 模式。

查找禁用 -不查找 模式。

输入:str 集 -输入 为“str”,为空以禁用。

grabkbd 启用 -grabkbd 模式。

nograbkbd 禁用 -grabkbd 模式。

抓取启用 -grabptr 模式。

nograbptr 禁用 -grabptr 模式。

抓取始终启用 -总是抢 模式。

nograbal 总是禁用 -总是抢 模式。

Grablocal:n 设置 -抓取本地 到 n。

client_input:str 设置K,M,B -输入 在每个客户的基础上。 选择哪个客户端
至于断开连接,例如 client_input:host:MB 或 client_input:0x2:K

接受:cmd 设置 -接受 “cmd”(为空表示禁用)。

afteraccept:cmd 设置 -接受后 (空则禁用)。

走了:cmd设置 -不见了 “cmd”(为空表示禁用)。

noshm 启用 -诺什姆 模式。

shm 禁用 -诺什姆 模式(即使用 shm)。

翻转字节顺序启用 -翻转字节顺序 模式,您可能需要为此设置 noshm
做一点事。

noflipbyteorder 禁用 -翻转字节顺序 模式。

onetile 启用 -onetile 模式。 (您可能需要为此设置 shm
某物)

noonetile 禁用 -onetile 模式。

稳固启用 -固体 模式

nosolid 禁用 -固体 模式。

solid_color:颜色集 -固体 颜色(并应用它)。

停电:str设置 -停电 “str”(空则禁用)。 看 -停电 对于表格
"str" (基本上:WxH+X+Y,...) 使用 "+WxH+X+Y" 追加单个矩形使用
"-WxH+X+Y" 删除一个

xinerama 启用 -希涅拉玛 模式。 (如果适用)

noxinerama 禁用 -希涅拉玛 模式。

xtrap 启用 -xtrap 输入模式(如果适用)

noxtrap 禁用 -xtrap 输入模式。

xrandr 启用 -xrandr 模式。 (如果适用)

noxrandr 禁用 -xrandr 模式。

xrandr_mode:mode 设置 -xrandr 模式到“模式”。

旋转:模式设置 -旋转 模式到“模式”。

padgeom:WxH 套装 -padgeom to WxH (empty to disable) 如果 WxH 是“force”或“do”
填充几何 fb 立即应用。

安静启用 -安静的 模式。

无声禁用 -安静的 模式。

修改启用 -modtweak 模式。

nomodtweak 启用 -nomodtweak 模式。

xkb 启用 -xkb 调整模式。

noxkb 禁用 -xkb 调整模式。

大写锁定启用 -大写锁定 模式。

nocapslock 禁用 -大写锁定 模式。

skip_lockkeys 启用 -skip_lockkeys 模式。

noskip_lockkeys 禁用 -skip_lockkeys 模式。

skip_keycodes:str 启用 -xkb -skip_keycodes “字符串”。

sloppy_keys 启用 -马虎键 模式。

nosloppy_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 启用 -清除键 模式并清除它们。

noclear_keys 禁用 -清除键 模式。

clear_locks 执行 clear_locks 操作。

clear_all 执行 clear_all 操作。

keystate 有 x11vnc 打印当前 keystate。

重映射:str 集 -重新映射 “str”(空则禁用)。 看 -重新映射 对于形式
"str" (基本上:key1-key2,key3-key4,...) 使用 "+key1-key2" 追加单个
键盘映射,使用“-key1-key2”删除。

norepeat 启用 -不重复 模式。

重复禁用 -不重复 模式。

nofb 启用 -nofb 模式。

脸书禁用 -nofb 模式。

bell 启用铃声(如果支持)。

nobell 禁用铃。

sendbell 现在按铃。

鼻子启用 -鼻子 模式。

选择禁用 -鼻子 模式。

无主启用 -无主要 模式。

主要禁用 -无主要 模式。

鼻子主要启用 -nosetprimary 模式。

设置主禁用 -nosetprimary 模式。

noclipboard 启用 -剪贴板 模式。

剪贴板禁用 -剪贴板 模式。

nosetc剪贴板启用 -鼻夹板 模式。

设置剪贴板禁用 -鼻夹板 模式。

seldir:str 集 -塞尔迪尔 到“str”

resend_cutbuffer 重新发送最近的 CUTBUFFER0 副本

resend_clipboard 重新发送最新的剪贴板副本

resend_primary 重新发送最新的 PRIMARY 副本

光标:模式启用 -光标 “模式”。

show_cursor 启用显示光标。

noshow_cursor 禁用显示光标。 (与“nocursor”相同)

cursor_drag 在拖动期间启用光标更改。

nocursor_drag 在拖动过程中禁用光标更改。

箭头:n 集 -箭头 交替 n.

xfixes 启用 xfixes 光标形状模式。

noxfixes 禁用 xfixes 光标形状模式。

alphacut:n 设置 -字母切割 到 n。

alphafrac:f 设置 -α压裂 到F。

alpharemove 启用 -alpha 删除 模式。

noalpha 删除禁用 -alpha 删除 模式。

alphablend 禁用 -noalphablend 模式。

noalphablend 启用 -noalphablend 模式。

光标形状禁用 -nocursorshape 模式。

nocursorshape 启用 -nocursorshape 模式。

光标位置禁用 -nocursorpos 模式。

nocursorpos 启用 -nocursorpos 模式。

xwarp 启用 -xwarp指针 模式。

noxwarp 禁用 -xwarp指针 模式。

always_inject 启用 -always_注入 模式。

noalways_inject 禁用 -always_注入 模式。

buttonmap:str 设置 -按钮图 "str",空则禁用

拖动禁用 -不拖拉 模式。

nodragging 启用 -不拖拉 模式。

ncache 重新启用 -缓存 模式。

非缓存禁用 -缓存 模式。

ncache_size:n 设置 -缓存 大小为 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 禁用 -线框 模式。 与“nowf”相同

线框:str启用 -线框 模式字符串。

线框模式:str启用 -线框 模式字符串。

线框本地启用线框本地。 与“wfl”相同

nowireframe 禁用本地线框。 与“nowfl”相同

线复制:str 集 -wirecopyrect 细绳。 与“wcr:”相同

scrollcopyrect:str 集 -滚动复制 细绳。 相同的“scr”

noscrollcopyrect 禁用 -scrollcopyrect__mode_。 “noscr”

scr_area:n 设置 -scr_区域 至n

scr_skip:列表集 -scr_跳过 去“列出”

scr_inc:列表集 -scr_inc 去“列出”

scr_keys:列表集 -scr_键 去“列出”

scr_term:列表集 -scr_term 去“列出”

scr_keyrepeat:str 设置 -scr_keyrepeat 到“str”

scr_parms:str 集 -scr_parms 参数。

fixscreen:str 设置 -修复屏幕 到“str”。

noxrecord 禁用所有使用 RECORD 扩展。

xrecord 允许使用 RECORD 扩展。

reset_record 重置 RECORD 扩展(如果有)

指针模式:n 设置 -指针模式 到 n。 与“下午”相同

input_skip:n 设置 -输入_跳过 到 n。

allinput 启用使用 -所有输入 模式。

noallinput 禁用使用 -所有输入 模式。

input_eagerly 启用 -input_eagerly 模式。

noinput_eagerly 禁用 -input_eagerly 模式。

ssltimeout:n 设置 -ssl超时 到 n。

速度:str设置 -速度 到海峡

wmdt:str 集 -wmdt 到海峡

调试指针启用 -调试指针, 与“dp”相同

nodebug_pointer 禁用 -调试指针, 与“nodp”相同

debug_keyboard 启用 -调试键盘, 与“dk”相同

nodebug_keyboard 禁用 -调试键盘, 与“点头”相同

keycode:n 注入击键 'keycode' (xmodmap -pk)

keycode:n,down injection 'keycode' (down=0,1)

keysym:str 注入击键'keysym'(数字/名称)

keysym:str,down 注入 'keysym' (down=0,1)

ptr:x,y,mask 注入指针事件 x, y, button-mask

fakebuttonevent:button,down 直接 XTestFakeButtonEvent。

sleep:t 睡眠浮点时间 t。

get_xprop:p 获取名为 'p' 的 X 属性。

set_xprop:p:val 将名为“p”的 X 属性设置为“val”。 p -> id=NNN:p 十六进制/十进制
窗口标识。

wininfo:id 获取有关 X 窗口 ID 的信息。 使用 'root' 作为根窗口,使用 +id
为孩子。

grab_state 获取指针和键盘抓取的状态。

pointer_pos 打印 XQueryPointer x,y 光标位置。

pointer_x 打印 XQueryPointer x 光标位置。

pointer_y 打印 XQueryPointer y 光标位置。

pointer_same 在同一屏幕上打印 XQueryPointer ptr。

pointer_root 打印 XQueryPointer curr ptr rootwin。

pointer_mask 打印 XQueryPointer 按钮和 mods 掩码

mouse_x 打印 x11vnc 的光标位置概念。

mouse_y 打印 x11vnc 的光标位置概念。

noop 什么都不做。

延迟:n 设置 -推迟 到 n 毫秒,与 deferupdate:n 相同

等待:n 设置 -等待 到 n 毫秒。

extra_fbur:n 设置 -extra_fbur 到 n。

wait_ui:f 设置 -等待用户界面 f 的因子。

setdefer:n 设置 -setdefer-2,-1,0,1, 或2。

wait_bog 禁用 -nowait_bog 模式。

nowait_bog 启用 -nowait_bog 模式。

slow_fb:f 设置 -slow_fb 到 f 秒。

外部刷新:f 设置 -x刷新 到 f 秒。

readtimeout:n 将读取超时设置为 n 秒。

小睡启用 -小憩 模式。

nonap 禁用 -小憩 模式。

某人:n 设置 -sb 到 ns,与 screen_blank:n 相同

fbpm 禁用 -nofbpm 模式。

nofbpm 启用 -nofbpm 模式。

dpms 禁用 -点头 模式。

nodpms 启用 -点头 模式。

强制pms启用 -强制pms 模式。

noforcedpms 禁用 -强制pms 模式。

clientdpms 启用 -clientdpms 模式。

noclientdpms 禁用 -clientdpms 模式。

noserverdpms 启用 -noserverdpms 模式。

serverdpms 禁用 -noserverdpms 模式。

noultraext 启用 -noultraext 模式。

超文本禁用 -noultraext 模式。

chatwindow 启用本地聊天窗口模式。

nochatwindow 禁用本地聊天窗口模式。

chaton 使用本地窗口开始聊天。

chatoff 使用本地窗口结束聊天。

xdamage 启用 xdamage 轮询提示。

noxdamage 禁用 xdamage 轮询提示。

xd_area:一组 -xd_区域 最大像素面积为“A”

xd_mem:f 设置 -xd_mem 记住“f”

fs:压裂组 -fs 分数到“frac”,例如 0.5

间隙:n组 -差距 到 n。

增长:n 集 -生长 到 n。

fuzz: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 ms。

uinput_always:n 将 uinput_always 设置为 1/0。

渐进式:n 设置 LibVNCServer -渐进的 切片高度参数为 n。

桌面:str设置 -桌面 为新客户命名 str。

rfbport:n 设置 -rfb端口 到 n。

macnosaver 启用 -macnosaver 模式。

macsaver 禁用 -macnosaver 模式。

macnowait 启用 -macnowait 模式。

macwait 禁用 -macnowait 模式。

macwheel:n 设置 -麦克轮 到 n。

macnoswap 启用 -macnoswap 鼠标按钮模式。

macswap 禁用 -macnoswap 鼠标按钮模式。

宏大小启用 -宏尺寸 模式。

macresize 禁用 -宏尺寸 模式。

maciconanim:n 设置 -macicoanim 到 n。

macmenu 启用 -mac菜单 模式。

宏菜单禁用 -mac菜单 模式。

macuskbd 启用 -macuskbd 模式。

macnouskbd 禁用 -macuskbd 模式。

httpport:n 设置 -http端口 到 n。

httpdir:目录集 -http目录 到目录(并启用http)。

启用httpproxy 启用 -启用http代理 模式。

noenablehttpproxy 禁用 -启用http代理 模式。

始终共享启用 -始终共享 模式。

noalwaysshared 禁用 -始终共享 模式。 (可能会干扰其他选项)

从不共享启用 -从不分享 模式。

nonevershared 禁用 -从不分享 模式。 (可能会干扰其他选项)

不要断开连接启用 -不要断开连接 模式。

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 启用 -调试_抓取

nodebug_grabs 禁用 -调试_抓取

debug_sel 启用 -debug_sel

nodebug_sel 禁用 -debug_sel

debug_ncache 启用 -debug_ncache

nodebug_ncache 禁用 -debug_ncache

数据库启用 -dbg 崩溃外壳

nodbg 禁用 -dbg 崩溃外壳

noremote 禁用 -远程 命令处理,无法返回
上。

bcx_xattach:str 此远程控制命令用于 BARCO xattach
程序或 x2x 程序。 这两个程序都用于“指针和键盘”
在不同的 X 显示器之间共享。 一般来说,这两个显示器通常是
附近,例如在同一张桌子上,这允许用户共享一个指针
和他们之间的键盘。 用户将鼠标移动到边缘,然后鼠标
指针出现“跳”到另一个显示屏幕。 因此,它模仿了什么
单个 X 服务器可以处理两个屏幕(例如:0.0 和 :0.1)
通过将事件转发到 2nd 来实现具有多个屏幕的单个 Xserver
一个通过 XTEST 扩展。

x11vnc bcx_xattach 命令的作用是执行一些指针移动到
尝试诱导 xattach/x2x 以“跳转”到另一个显示器。 在接下来的
“主”显示是指当它有“焦点”时它基本上在做的显示
除了注意鼠标越过边缘之外什么都没有。 “奴隶”展示
指的是鼠标和键盘一旦进入边缘就被重定向到的那个
主人已经越过了。 请注意,执行 bcx_xattach 的 x11vnc
命令必须是连接到 *master* 显示器的命令。

另请注意,当输入从主显示器重定向(通过 XTEST)时
到从显示器,主显示器的指针和键盘被*抓取*
xattach/x2x。 x11vnc 可以使用此信息来验证主/从模式是否更改
已正确发生。 如果您指定“ifneeded”选项(见下文)和
初始抓取状态是所需的最终状态,然后没有指针
注入运动并返回“DONE,GRAB_OK”。

"str" 必须包含 "up"、"down"、"left" 或 "right" 之一以指示
“跳跃”的方向。 “str”还必须包含“master_to_slave”之一或
“slave_to_master”表示跳转引起的模式变化类型。 采用
“M2S”和“S2M”作为较短的别名。

“str”可能是一个“+”分隔的附加调整选项列表。 “班次= n”
选项表示从 (0,0) 偏移的偏移位置(默认为 20)。
"final=x+y" 指定光标在法线末尾的最终位置
移动顺序; 默认 30+30。 "extra_move=x+y" 表示再做一次指针移动
在“最终”到 x+y 之后。 "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" 如果
抓取状态按预期更改(或者如果提供了“如果需要”并且初始
抓取状态已经是所需的状态。)如果初始抓取状态不正确,
但最终的抓取状态是正确的,然后是“DONE,GRAB_FAIL_INIT”。 如果
初始抓取状态正确,但最终抓取状态不正确
“完成,GRAB_FAIL_FINAL”。 如果两者都不正确,它将是“DONE,GRAB_FAIL”。 在下面
抓取失败字符串后面会跟着 ":p1,k1-p2,k2" 其中 p1,k1 表示
初始指针和键盘抓取状态和 p2,k2 最终状态。 如果 GRAB_FAIL
或 GRAB_FAIL_FINAL 发生,该动作将重试最多 3 次; 尝试去
在每次尝试之间重置状态并睡一会儿。 设置 retry=n 来调整
重试次数,零表示禁用重试。

例子: -R bcx_xattach:下+M2S -R bcx_xattach:向上+S2M -R
bcx_xattach:up+S2M+nograbcheck+dt=30 -R bcx_xattach:向下+M2S+extra_move=100+100

或使用 -Q 而不是 -R 检索结果文本。

bcx_xattach:str 描述结束。

- 连接(1) 来自标准 VNC 发行版的命令也可以使用,如果
字符串以“cmd=”为前缀,例如“vncconnect cmd=stop”。 在一些
情况 道具(1) 支持的话可以使用 -组 (见常见问题解答)。

如果“-连接 /路径/到/文件" 已提供给正在运行的 x11vnc 服务器然后
该文件可以用作通信通道(这是远程
控制许多 x11vnc 轮询同一个 X 显示器之一)只需运行:'x11vnc
-连接 /路径/到/文件 -远程 ...' 或者您可以通过直接写入文件
类似:“echo cmd=stop > /path/to/file”等。

-询问 变量

喜欢 -偏僻的, 除了只是查询的值 变量。 “-Q" 是一个别名
"-询问"。可以通过逗号分隔变量来完成多个查询,例如
-询问 变量 1,变量 2。 结果以表格形式返回
ans=var1:value1,ans=var2:value2,... 到标准输出。 如果一个变量是
只读,它返回前缀“aro=”而不是“ans=”。

-远程 命令是纯粹的动作,作为变量没有意义,例如
“停止”或“断开连接”,在这些情况下,返回的值为“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 overlay nooverlay
override_cursor override_yescursor nooverlay_nocursor nooverlay_cursor
nooverlay_yescursor override_nocursor 8to24 no8to24 8to24_opts 24to32 no24to32
视觉比例 scale_cursor viewonly noviewonly shared noshared forever noforever
一次超时
拒绝锁定 nodeny 解锁 avahi mdns zeroconf noavahi nomdns nozeroconf 连接代理
allowonce 允许 noipv6 ipv6 noipv4 ipv4 no6 6 localhost nolocalhost 监听查找
nolookup 接受后接受消失 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 大写锁定 nocapslock skip_lockkeys noskip_lockkeys skip_keycodes sloppy_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 bell nobell sendbell sel nosel 主要 noprimary setprimary
鼻子主剪贴板 noclipboard setclipboard nosetc剪贴板 seldir cursorshape
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 xwarppointer
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
nowflwirecopyrect wcr nowirecopyrect nowcr scr_area scr_skip scr_inc scr_keys
scr_term scr_keyrepeat scr_parms rollcopyrect scr noscrollcopyrect noscr
修复屏幕 noxrecord xrecord 重置_记录指针_模式 pm input_skip allinput
noallinput input_eagerly noinput_eagerly 输入 grabkbd nograbkbd grabptr nograbptr
Grabalways nograbalways grablocal 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 等待读取超时
nap nonap sb screen_blank fbpm nofbpm dpms nodpms clientdpms noclientdpms forcepms
noforcedpms noserverdpms serverdpms noultraext ultraext 聊天窗口 nochatwindow
chaton chatoff fs 间隙增长 fuzz snapfb nosnapfb rawfb uinput_accel uinput_thresh
uinput_reset uinput_always 渐进式 rfbport http nohttp httpport httpdir
启用httpproxy 否启用httpproxy 始终共享 否始终共享 从不共享
noalwaysshared dontdisconnect nodontdisconnect 桌面 debug_xevents
nodebug_xevents debug_xevents debug_xdamage nodebug_xdamage debug_xdamage
调试线框 nodebug_wireframe debug_wireframe debug_scroll nodebug_scroll
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 maciconanim macmenu macnomenu nomacmenu macuskbd nomacuskbd
远程

aro=noop display vncdisplay icon_mode 自动端口循环 loopbg 桌面名称
guess_desktop guess_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_pem https httpsredir usepw using_shm 日志文件 o flag rmflag rcnorc 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_ygrab_statepointer_pospointer_xpointer_ypointer_same
指针根 指针掩码 bpp 深度 索引颜色 dpy_x dpy_y wdpy_x wdpy_y off_x
off_y cdpy_x cdpy_y coff_x coff_y rfbauth 密码 viewpasswd

-量子点 变量

就像 -询问 变量,但返回该参数的默认值(否
运行x11vnc服务器咨询)

-同步

默认情况下 -远程 命令是异步运行的,即请求被发布
程序立即退出。 采用 -同步 让程序等待
x11vnc 服务器确认该命令已处理(以某种方式)。 在
另一方面 -询问 请求总是同步处理,因为它们有
等待答案。

另请注意,如果两者 -远程-询问 请求在命令中提供
线, -远程 先处理(同步:不需要 -同步), 然后
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -询问 请求以正常方式处理。 这允许一种可靠的方式
看看是否 -远程 通过查询任何新设置来处理命令。 笔记
然而,有几秒钟的超时(见下一段),所以如果
x11vnc 需要更长的时间来处理请求者认为的请求
发生了故障。

默认为等待 3.5 秒。 或者如果 cmd=stop 只有 1.0 秒。 如果命令
匹配 'script:' 然后它将等待最多 10.0 秒。 将 X11VNC_SYNC_TIMEOUT 设置为
您希望它等待的秒数。

-查询重试 STR

如果查询未能从 x11vnc 服务器获得响应,则最多重试 n 次。 STR
指定为 n[:t][/match] 可选地,可以指定尝试之间的延迟
通过 "t" 一个浮点时间(默认为 0.5 秒。)注意:响应不是
检查有效性或它是否对应于发送的查询。 查询
"ping:mystring" 可用于帮助唯一标识查询。 可选地,一个
“/”之后的匹配字符串将用于检查结果文本。 最多 n 次重试
将一直进行,直到在输出文本中找到匹配的字符串。 如果
match string is never found 程序的退出代码为 1; 如果找到匹配项
以 0 退出。请注意,每次重试可能会打印标准输出(即多次
行打印到标准输出。)示例: -查询重试 4:1.5/抓取状态

-远程前缀 STR

为连接的 VNC 客户端启用远程控制通信通道。 str 是一个
非空字符串。 如果 VNC 客户端发送具有前缀的 rfbCutText STR 那么
处理后的部分,就好像它是通过'x11vnc发送的 -远程 ...'。 如果它
既不以 'cmd=' 也不以 'qry=' 开头,则假定为 'qry='。 任何对应的
该远程控制命令的输出文本作为
rfbCutText。 返回的输出也带有前缀 STR。 例:
-远程前缀 做这个:

请注意,启用 -远程前缀 允许远程 VNC 查看器运行 x11vnc
-远程 命令。 如果他们不被信任,请不要使用此选项。

-noremote, -是的,远程

不要处理任何远程控制命令或查询。 做过程远程控制
命令或查询。 默认: -是的,远程

关于安全 wrt 远程控制命令的说明。 如果有人可以连接到 X
显示并更改属性X11VNC_REMOTE,然后他们可以远程控制
x11vnc。 通常对 X 显示器的访问受到保护。 请注意,如果他们可以
在 X 服务器上修改 X11VNC_REMOTE,它们有足够的权限也可以运行
他们自己的 x11vnc 从而可以完全控制桌面。 如果“-连接
/路径/到/文件" 频道正在被使用,显然任何可以写信的人
/path/to/file 可以远程控制x11vnc。 所以一定要保护好 X 显示器和
该文件的写权限。 看 -私人远程 联络一位教师

如果你是偏执狂并且不认为 -noremote 就足够了,禁用
X11VNC_REMOTE 属性通道完全使用 -novnc连接, 或者使用 -更安全
关闭许多事情的选项。

-不安全

默认情况下禁用一些远程命令(当前:id:pick,accept: ,
走了: , 和 rawfb:setup: ) 因为它们与跑步有关
外部程序。 如果您指定 - 不安全, 那么这些远程控制命令是
允许。 请注意,您仍然可以在命令行上指定这些参数,
它们只是不能通过远程控制调用。

-更安全

相当于: -novncconnect -noremote 并禁止 -gui-连接 文件中。
关闭通讯通道。

-私人远程

如果出现这种情况,请执行一些健全性检查并禁用远程控制命令
其他用户可以访问 X DISPLAY 和/或连接文件。 一旦远程-
控件已禁用,无法重新打开。

-nocmds

没有外部命令(例如 系统(3), en(3), EXEC(3) ) 将完全运行。

-允许的命令 名单

名单 包含可以运行的唯一外部命令的逗号分隔列表。
相关选项的完整列表是:

stunnel, ssl, unixpw, 等待, zeroconf, id, 接受, afteraccept, 消失了, pipeinput,
v4l-info、rawfb-setup、dt、gui、ssh、storepasswd、passwdfile、custom_passwd、
findauth,崩溃。

查看每个选项的帮助以了解相关的外部命令。 请注意,
-nocmds 选项优先并禁用所有外部命令。

-拒绝全部

用于 -远程 nodeny:开始拒绝所有传入的客户端,直到“-远程
节点尼"用于让他们进来。

这些选项被传递给 LibVNCServer:

-rfb端口 端口

RFB 协议的 TCP 端口

-rfb等待

等待 RFB 客户端的最长时间(毫秒)

-rfbauth 密码文件

在 RFB 协议上使用身份验证(使用 'x11vnc -存储密码 传递文件'来创建一个
密码文件)

-rfb版本 3.x

设置我们选择宣传的 RFB 版本

-允许文件传输

允许文件传输支持

-密码 普通密码

使用身份验证(使用普通密码作为密码,使用风险自负)

-延迟更新

以毫秒为单位的延迟更新时间(默认 40)

-延迟更新

延迟指针更新的时间(以毫秒为单位)(默认无)

-桌面 姓名

VNC 桌面名称(默认为“LibVNCServer”)

-始终共享

始终将新客户视为共享客户

-从不分享

永远不要将新客户视为共享客户

-不要断开连接

当有新的非共享连接进入时,不要断开现有客户端(拒绝
而是新连接)

-http目录 目录路径

使用 dir-path home 启用 http 服务器

-http端口 端口号

使用 portnum 进行 http 连接

-启用http代理

启用 http 代理支持

-渐进的 高度

为慢速链接启用渐进式更新

-听 ip地址

仅使用 addr ipaddr 侦听网络接口上的连接。 '-听
localhost' 和主机名也可以。

libvncserver-tight-extension 选项:

-禁用文件传输

禁用文件传输

-ftproot 绳子

设置 ftp 根目录

使用 onworks.net 服务在线使用 x11vnc


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。