代理管理器服务。
proxymngr [ -config filename] [ -timeout seconds] [ -retries #] [ -verbose]
proxymngr(代理管理器)响应来自于 xfindproxy(和其它类似的客户机)的解析请求,在适当的时候启动新的代理并且持续跟踪所有可用的代理服务。 代理管理器无论何时在可能的情况下尽量重用现有的代理。
代理管理器处理两种类型的代理:受管和非受管代理。
受管代理是在代理管理器的请求下启动的代理。
非受管代理或者在系统引导时间启动,或者由系统管理员手动启动。 代理管理器清楚它的存在但并不试图启动非受管代理。
-config | 重设缺省的 proxymngr 配置文件。关于 proxymngr 配置文件的更多信息,请参阅下文。 |
-timeout | 设置代理管理器试图发现非受管代理的尝试之间的秒数。 缺省值是 10。 |
-retries | 设置代理管理器试图发现非受管代理的最大重试次数。 缺省值为 3。 |
-verbose | 在接收到请求并启动代理后显示各种不同的调试和跟踪记录。 |
代理管理器维护描述可用代理服务的本地配置文件。 这个配置文件在安装 proxymngr 期间被安装在 /usr/X11R6.3/lib/X11/proxymngr/pmconfig 中。 可以使用 -config 命令行标志来重写配置文件的位置。
除了以感叹号开头的注释行外,配置文件的每一行描述一个非受管代理服务或者一个受管代理服务。
对于非受管代理,其格式是:
<service-name> unmanaged <proxy-address>
service-name 是非受管代理服务的名字,不能包含任何空格,例如 XFWP。service-name 不区分大小写。
proxy-address 是非受管代理的网络地址。 地址的格式特定于 service-name。 例如,对于 XFWP 服务,proxy-address 可以是 firewall.x.org:100。
如果配置文件中有多个具有相同的非受管 service-name 的条目,代理管理器将试图以在配置文件中出现的顺序使用代理。
对于受管代理,其格式是:
<service-name> managed <command-to-start-proxy>
service-name 是受管代理服务的名称,绝不能包含任何空格,例如 LBX。service- name 不区分大小写。
command-to-start-proxy 是由代理管理器执行来启动一个新的代理实例的命令。 如果 command-to-start-proxy 包含空格,整个命令应该用单引号引起来。 如果需要,command-to- start-proxy 能够用于启动远程机器上的代理。关于用来启动远程机器代理的远程执行方法的具体细节在此不作详述。
示例:样本配置文件
! proxy manager config file ! ! Each line has the format: ! <serviceName> managed <startCommand> ! or ! <serviceName> unmanaged <proxyAddress> ! lbx managed /usr/X11R6.3/bin/lbxproxy ! ! substitute site-specific info xfwp unmanaged firewall:4444
当代理管理器从 xfindproxy(或另一个类似的客户机)取得一个请求时,它的操作过程取决于请求中的 service-name。
对于一个受管代理服务,代理管理器将查找这个服务的任何已运行的代理是否能够处理一个新的请求。 如果找不到,代理管理器将试图启动一个新的代理实例 (使用在配置文件中找到的 command-to-start-proxy)。如果失败,将会返回一个错误给调用者。
对于非受管代理服务,代理管理器将在配置文件中为这个服务查找所有的非受管代理。 如果配置文件中有多个具有相同的非受管 service-name 的条目,代理管理器将试图以在配置文件中出现的顺序使用代理。 如果没有任何一个非受管代理能够满足请求, 代理管理器将在配置的时间量(由 -timeout 指定,缺省值为 10)后超时, 然后重新试图查找一个满足请求的非受管代理。 重试次数可通过 -retries 自变量指定,或使用缺省值 3。 如果重试失败,代理管理器除了返回一个错误给调用程序外别无选择(因为代理管理器不能启动非受管代理服务)。