Xdm会话进程
By Chris Carlson 翻译: 程剑峰
在安装好系统中的X窗口系统后,只要把系统默认的启动模式设置成模式5,系统在启动时就会自动运行xdm。现在我们应该考虑该如何设置xdm,使它在我们登录进入系统时能自动启动一些应用程序。
在单位里,我每天回家前总是要退出系统,因为当我不在时,其他人也可能会来使用机器。我可不希望其他人在我的办公室里用我的帐号登陆到机器上,虽然这样的事并不常有。(也许会有人出于好奇想翻翻我存在硬盘上的邮件。)现在的问题是,我希望在我登录进入系统时,Xdm可以自动启动一些应用程序,比如我的记事簿和我的日历程序等。
在这篇文章中我打算讨论一些关于X窗口中的会话进程的东西:它是怎么启动的,如何对它进行定制。我要告诉你怎样让系统在启动时自动启动你喜欢的Window管理器(Window Manager),怎样让Xdm自动启动应用程序,怎样用你喜欢的字体和颜色设置X环境。由于所有UNIX平台上的X Window系统都差不多,所以以下的内容不仅适用于Linux上的XFree86系统,也适用于其他平台上的X Window系统。事实上,我会对Redhat 5.x中的XFree86和SGI IRIX中的X Window系统进行比较。你会发现在这两个系统中我们用到的文件都使用相同的文件名,只是在不同的目录下。
我知道其他人已经写了一些有关X Window配置的文章,比如在十二月的那期(译者注:英文原版linux公报的期号)有一篇Jay Ts写的“X Window管理”。虽然X Windows是非常通用的,可它也是非常复杂的。我认为有关X Window的东西足够写很多文章。这些文章的内容可能有一部份是重复的,但每篇文章都可以从不同的角度来写。我的这篇文章尽可能从一个用户而不是一个管理员的角度来写。
这篇文章的内容是基于以下几个前提条件的:
系统中的xdm使用Red Hat的默认设置。也就是说你没有改过/etc/X11/xdm目录下的任何文件。(由于我没有安装过其他的Linux,我假设它们的默认设置也和Red Hat的一样,或者他们间虽有差别,但不影响我们这里讨论的内容。)考虑到这些情况,对于那些xdm用到的文件,我就直接使用系统默认的文件名。应当注意的是,大多数的文件名我们都可以自己加以修改的,比如你可以改动/etc/X11/xdm/xdm-config文件,或者在启动xdm时通过命令行指定其他的配置文件。(在SGI上,设置文件为/var/X11/xdm/xdm-config,我见过其他的一些系统使用/usr/lib/X11/xdm/xdm-config。)
你对X Window使用的客户/服务器的概念应该有一个基本的了解。即X服务器是一个程序,处理显示和键盘输入。其他应用程序作为客户使用X服务器提供的服务进行显示和读取输入。
你对X资源及其在X环境中的用途有一定的了解。
用户会话的初始化和终止
X服务器通过xdm启动后出现用户登录屏幕。用户从这个屏幕成功登录以后,xdm实际上就成功的启动了一个“用户会话”。这个会话是一个shell脚本(shell script)。这个脚本终止时就会终止用户会话,同时xdm会结束X服务器,并使系统回到用户登录状态。
在开始一个X会话之前,xdm会用超级用户(root)的权限运行一个启动脚本以执行一些必需的初始化。随后,为了保证以当前用户的环境设置运行X Window,脚本文件/etc/X11/xdm/GiveConsole将把/dev/console的拥有者从root改回到当前用户。
同样的,当会话结束时xdm会首先以超级用户的权限执行一个小脚本来清除由启动脚本创建的东西。然后由脚本/etc/X11/xdm/TakeConsole将/dev/console的拥有权改回超级用户。
请注意在SGI上这两个文件分别是/var/X11/xdm/GiveConsole和/var/X11/xdm/TakeConsole
在安装好系统中的X窗口系统后,只要把系统默认的启动模式设置成模式5,系统在启动时就会自动运行xdm。现在我们应该考虑该如何设置xdm,使它在我们登录进入系统时能自动启动一些应用程序。
在单位里,我每天回家前总是要退出系统,因为当我不在时,其他人也可能会来使用机器。我可不希望其他人在我的办公室里用我的帐号登陆到机器上,虽然这样的事并不常有。(也许会有人出于好奇想翻翻我存在硬盘上的邮件。)现在的问题是,我希望在我登录进入系统时,Xdm可以自动启动一些应用程序,比如我的记事簿和我的日历程序等。
在这篇文章中我打算讨论一些关于X窗口中的会话进程的东西:它是怎么启动的,如何对它进行定制。我要告诉你怎样让系统在启动时自动启动你喜欢的Window管理器(Window Manager),怎样让Xdm自动启动应用程序,怎样用你喜欢的字体和颜色设置X环境。由于所有UNIX平台上的X Window系统都差不多,所以以下的内容不仅适用于Linux上的XFree86系统,也适用于其他平台上的X Window系统。事实上,我会对Redhat 5.x中的XFree86和SGI IRIX中的X Window系统进行比较。你会发现在这两个系统中我们用到的文件都使用相同的文件名,只是在不同的目录下。
我知道其他人已经写了一些有关X Window配置的文章,比如在十二月的那期(译者注:英文原版linux公报的期号)有一篇Jay Ts写的“X Window管理”。虽然X Windows是非常通用的,可它也是非常复杂的。我认为有关X Window的东西足够写很多文章。这些文章的内容可能有一部份是重复的,但每篇文章都可以从不同的角度来写。我的这篇文章尽可能从一个用户而不是一个管理员的角度来写。
这篇文章的内容是基于以下几个前提条件的:
系统中的xdm使用Red Hat的默认设置。也就是说你没有改过/etc/X11/xdm目录下的任何文件。(由于我没有安装过其他的Linux,我假设它们的默认设置也和Red Hat的一样,或者他们间虽有差别,但不影响我们这里讨论的内容。)考虑到这些情况,对于那些xdm用到的文件,我就直接使用系统默认的文件名。应当注意的是,大多数的文件名我们都可以自己加以修改的,比如你可以改动/etc/X11/xdm/xdm-config文件,或者在启动xdm时通过命令行指定其他的配置文件。(在SGI上,设置文件为/var/X11/xdm/xdm-config,我见过其他的一些系统使用/usr/lib/X11/xdm/xdm-config。)
你对X Window使用的客户/服务器的概念应该有一个基本的了解。即X服务器是一个程序,处理显示和键盘输入。其他应用程序作为客户使用X服务器提供的服务进行显示和读取输入。
你对X资源及其在X环境中的用途有一定的了解。
用户会话的初始化和终止
X服务器通过xdm启动后出现用户登录屏幕。用户从这个屏幕成功登录以后,xdm实际上就成功的启动了一个“用户会话”。这个会话是一个shell脚本(shell script)。这个脚本终止时就会终止用户会话,同时xdm会结束X服务器,并使系统回到用户登录状态。
在开始一个X会话之前,xdm会用超级用户(root)的权限运行一个启动脚本以执行一些必需的初始化。随后,为了保证以当前用户的环境设置运行X Window,脚本文件/etc/X11/xdm/GiveConsole将把/dev/console的拥有者从root改回到当前用户。
同样的,当会话结束时xdm会首先以超级用户的权限执行一个小脚本来清除由启动脚本创建的东西。然后由脚本/etc/X11/xdm/TakeConsole将/dev/console的拥有权改回超级用户。
请注意在SGI上这两个文件分别是/var/X11/xdm/GiveConsole和/var/X11/xdm/TakeConsole
顶(0)
踩(0)
下一篇:关于LiLo--原理篇
- 最新评论