|
|
1.1 ! root 1: .SH ! 2: Window System Initialization ! 3: .PP ! 4: Most displays capable of running a window system bear ! 5: little resemblance to ! 6: .UX \'s ! 7: model of a terminal connected by ! 8: a serial line. ! 9: Current display hardware may require involved initialization before it ! 10: is usable as a terminal, and may have an interface that looks nothing like ! 11: the conventional view of a serial device. ! 12: As soon as the window system is running, however, it is easy to ! 13: provide a terminal emulator to a user. ! 14: .PP ! 15: Unix currently realizes someone has logged out ! 16: by the eventual termination of the process started by \fIinit\fP(8). ! 17: \fIInit\fP is also the only process which can detect when an orphan process ! 18: terminates, ! 19: so the restart of a terminal line (or window system) ! 20: after logout can only be performed by ! 21: \fIinit\fP. ! 22: .PP ! 23: The solution taken to support X (or Andrew, which has a similar structure) ! 24: was to generalize \fIinit\fP. ! 25: \fIGetty\fP(8) or (in X's case, \fIxterm\fP) now opens and revokes access to ! 26: a terminal or pty rather than \fIinit\fP. ! 27: The format of the /etc/ttys file, already extended at Berkeley, was further ! 28: extended to allow the specification of an arbitrary command to be ! 29: run as \fIgetty\fP. ! 30: For X, this would normally be the terminal emulator. ! 31: \fIInit\fP will also restart an optional window system server ! 32: process associated with the pty. ! 33: \fIInit\fP must start this process, ! 34: since \fIinit\fP is the only process ! 35: in ! 36: .UX ! 37: that can detect its exit. ! 38: The initial \fIxterm\fP can not be started from a window system server, ! 39: since the server must exist all the time, and \fIinit\fP has to know the ! 40: process id in order for it to detect the \fIlogin\fP process has terminated. ! 41: The X server process itself opens the display device and performs ! 42: whatever initialization may be required (for example, the Vs100 requires ! 43: loading with firmware stored in a file). ! 44: .PP ! 45: Once \fIxterm\fP starts execution, it exec's \fIgetty\fP on the slave side of the ! 46: pty, and a user can log in normally. ! 47: When the user's shell exits, \fIxterm\fP exits, and \fIinit\fP can then ! 48: detect the user has logged out normally. ! 49: .PP ! 50: \fIInit\fP can now be used to guarantee that a process will be kept running ! 51: despite failures as long as the system is multi-user. ! 52: Another approach not seriously examined would have made it possible for ! 53: an orphan process to have a parent other than \fIinit\fP. ! 54:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.