4.3.4 启动X应用程序
X窗口的服务器/客户机架构意味着一台主机上的X应用程序可以在另一台主机的屏幕上显示出来。X服务器接受来自多个应用程序的请求,然后在本地显示。而这些应用程序可能正运行在网络中的另几台主机上。
也就是说,为了运行一个X应用程序,必须指定在什么地方显示。环境变量DISPLAY定义了这些内容(环境变量用于在系统运行时保存一些同系统和用户相关的信息,详见21.3.1节)。下面给出了一个DISPLAY变量的典型设置:
DISPLAY=servername:3.2
当X应用程序启动时,它会查看这个环境变量。在上面这个例子中,X应用程序把自己的图形输出到主机servername上的显示3和屏幕2上。
“显示3和屏幕2”这个短语有点难懂。如果一台主机只运行一个X服务器,那么这个X服务器就工作在端口6000,对应的显示号是0;如果再安装一个X服务器程序,那么 这个新的X服务器会工作在端口6001,对应的显示号是1……依次类推。至于“屏幕2”,说的是在一台主机上连接有多台显示器的情况下,显示器也从0开始编号。第1台显示器标识为“屏幕0”,因此“屏幕2”就是这台主机所连接的第3台显示器。
由于大部分主机只运行一个X服务器、连接一台显示器,因此大部分情况下,环境变量DISPLAY的值会像下面这样:
servername:0.0
现在再回过来考虑最常见的情况——X客户机(X应用程序)向本地的X服务器传递图形输出,X服务器在本地的显示器上显示图形。此时就不再需要指定服务器名了,环境变量DISPLAY的值相应地退化为下面这样:
:0.0
由于屏幕号也可以省略(默认屏幕号为0),因此在最简单的情况下,DISPLAY变量的值只是一个“:0”。