让Unix服务器运行结果异地显示( 二 )


2、如果有很多客户端程序需要在远程计算机上运行而它们的运行结果都需要输出到本地的终端时 , 则最好采用设置display环境变量的方式来实现 。这主要是因为环境变量设置后 , 对其下面的所有应用程序都有效 。除非应用程序在启动的时候采用了-display这个可选项修改了覆盖了display这个值 。Display是Unix操作系统中外壳程序中的一个变量 。X客户端程序在输出运行结果时 , 会根据这个变量中设置的值把结果输出到特定的地方 。默认情况下是本地的终端 。如果要重定向到其他的远程客户端上 , 系统工程师就需要设置这个值 。如系统工程师可以登录到server1服务器上(通过本地登陆或者远程登陆) , 定义或者修改display环境变量的值 。这个赋值的格式与上面display可选项的格式相同 , 都采用主机名:服务器号.屏幕号的形式 。这里的主机名字可以利用主机名字对应的IP地址来表示 。如果系统工程师知道主机IP地址的话 , 那么笔者建议还是采用主机IP地址为好 。因为这里如果提供主机名字的话 , 则Unix操作系统还需要利用本地的HOST文件或者DNS服务器来进行主机名字解析 。如果万一DNS或者HOST文件没有这个主机名字记录的话 , 则其中间解析的过程需要一段不短的时间 , 会影响输出结果重定向的及时性 。故笔者在工作中希望采用IP地址而不是主机名字 。如此设置以后 , 在远程计算机上执行某个程序 , 而这个程序的结果却会显示在本地的终端上 。特别让我们兴奋的是 , X客户端程序允许我们使用本地的键盘控制远程的客户端程序 。这主要是因为键盘是服务程序的一个必不可少的部分 。
四、该方案的注意点 。
【让Unix服务器运行结果异地显示】在使用这个方案的时候 , 笔者对各位读者有两个善意的提醒 。
首先 , 如果display变量与-display可选项并存的话 , 需要注意两者之间的关系 。如系统工程师先利用设置display变量的形式把应用程序的结果输出到远程终端屏幕上 , 然后再启动某个应用程序的时候加入了-display可选项 , 让这个应用程序的结果输出到本地 。那么后面采用的这个可选项的值会覆盖前面的环境变量的值 。也就是说 , 后面启动的应用程序其输出结果会在本地显示 , 而其他没有带可选项的应用程序其结果则在远程客户端上(display环境变量设置的地方)显示 。
其次在什么时候使用可选项来实现 , 而什么时候采用环境变量来设置呢?根据笔者点经验 , 主要是看有多少客户端程序要重定向输出结果?如果这个需要重定向输出结果的客户端程序比较多的话 , 那么最好通过设置环境变量来实现 。此时如果利用可选项来实现的话 , 每个应用程序启动时都要加入这个选项 。相反如果只是个别应用程序需要重定向的话 , 则可以通过可选项来实现 。另外也可以向上面所说的 , 先设置环境变量 , 然后对于个别应用程序设置可选项 , 利用其覆盖的特性来灵活的管理应用程序的输出结果 。
最后需要明确的是 , 其使用效果还受到网络带宽的影响 。为此如果通过互联网来进行连接的话 , 则这个输出结果重定向功能需要慎用 。因为很有可能因为网络的拥塞或者延迟导致数据的丢失 。此时对于系统工程师来说可能就是得不偿失了 。

推荐阅读