下一页 上一页 目录

5. 告知客户端

客户端程序(例如,您的图形应用程序)通过检查 DISPLAY 环境变量来了解要连接到哪个显示器。不过,可以通过在启动客户端时给它命令行参数 -display hostname:0 来覆盖此设置。一些示例可能会使事情更清楚。

我们的计算机在外部被称为 light,并且我们在域 uni.verse 中。如果我们运行一个正常的 X 服务器,则显示器被称为 light.uni.verse:0。我们想要在远程计算机上运行绘图程序 xfig,该计算机名为 dark.matt.er,并在此处 light 上显示其输出。

假设您已经 telnet 登录到远程计算机 dark.matt.er

如果您在远程计算机上运行 csh

dark% setenv DISPLAY light.uni.verse:0
dark% xfig &

或者,另一种方法是

dark% xfig -display light.uni.verse:0 &

如果您在远程计算机上运行 sh

dark$ DISPLAY=light.uni.verse:0
dark$ export DISPLAY
dark$ xfig &

或者,另一种方法是

dark$ DISPLAY=light.uni.verse:0 xfig &

或者,当然,也可以

dark$ xfig -display light.uni.verse:0 &

似乎某些版本的 telnet 会自动将 DISPLAY 变量传输到远程主机。如果您使用的是其中之一,那么您很幸运,不必手动设置它。如果不是,大多数版本的 telnet 确实会传输 TERM 环境变量;通过一些明智的技巧,可以将 DISPLAY 变量搭载到 TERM 变量上。

搭载的想法是,您进行一些脚本编写以实现以下目的:在 telnet 登录之前,将 DISPLAY 的值附加到 TERM。然后 telnet 登出。在远程端,在适用的 .*shrc 文件中,从 TERM 读取 DISPLAY 的值。


下一页 上一页 目录