|
|
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.