dtlogin.man 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067
  1. .\" $XConsortium: dtlogin.man /main/2 1995/07/17 10:51:24 drk $
  2. .\" * *
  3. .\" * (c) Copyright 1993, 1994 Hewlett-Packard Company *
  4. .\" * (c) Copyright 1993, 1994 International Business Machines Corp. *
  5. .\" * (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
  6. .\" * (c) Copyright 1993, 1994 Novell, Inc. *
  7. .\" *
  8. .TH DTLOGIN 1X
  9. .ds ]W HP DT 3.0 (6/92)
  10. .SH NAME
  11. \fBdtlogin \(em The HP DT Login Manager.\fP
  12. .sp 1
  13. .SH SYNOPSIS
  14. .B dtlogin
  15. [-config \fIconfiguration_file\fP]
  16. [-daemon]
  17. [-debug \fIdebug_level\fP]
  18. [-error \fIerror_log_file\fP]
  19. [-nodaemon]
  20. [-resources \fIresource_file\fP]
  21. [-server \fIserver_entry\fP]
  22. [-session \fIsession_program\fP]
  23. .sp 1
  24. .SH DESCRIPTION
  25. .PP
  26. .I Dtlogin
  27. manages a collection of X displays, both local and possibly remote.
  28. The emergence of X terminals guided the design of several parts of this system,
  29. along with the development of the X Consortium standard XDMCP (
  30. \fIX Display Manager Control Protocol\fP).
  31. .I Dtlogin
  32. provides services similar to those provided by \fIinit\fP(1M),
  33. \fIgetty\fP(1M) and \fIlogin\fP(1) on character terminals: prompting
  34. for login and password, authenticating the user, and running a ``session.''
  35. .PP
  36. A ``session'' is defined by the lifetime of a particular process; in the
  37. traditional character-based terminal world, it is the user's login shell
  38. process.
  39. In the HP DT
  40. context, it is the HP DT Session Manager.
  41. This is because
  42. in a windowing
  43. environment, a user's login shell process does not necessarily have any
  44. terminal-like interface with which to connect.
  45. .PP
  46. If the HP DT Session Manager is not used, the typical
  47. .I dtlogin
  48. substitute is either a window manager with an exit option, or a
  49. terminal emulator running a shell, where the lifetime of the
  50. terminal emulator is the lifetime of the shell process
  51. that it is running;
  52. thus reducing the X session to an emulation of the
  53. character-based terminal session.
  54. .PP
  55. When the session is terminated,
  56. .I dtlogin
  57. resets the X server and (optionally) restarts the whole process.
  58. .PP
  59. Because
  60. .I dtlogin
  61. provides the first interface that users see, it is designed to be
  62. simple to use and easy to customize to the needs of a particular site.
  63. .PP
  64. .sp 1
  65. .SH OPTIONS
  66. .PP
  67. All options, except \fB-config\fP,
  68. specify values that can also be specified in the configuration file
  69. as resources.
  70. Typically, customization is done via the configuration file
  71. rather than command line options.
  72. The options are most useful for debugging and one-shot tests.
  73. .IP "\fB-config\fP \fIconfiguration_file\fP"
  74. Specifies a resource file that specifies the remaining configuration
  75. parameters. If no file is specified and the file
  76. \fI/usr/dt/config/Xconfig\fP exists,
  77. .I dtlogin
  78. uses it.
  79. .IP "\fB-daemon\fP"
  80. Specifies ``true'' as the value for the \fBdaemonMode\fP
  81. resource. This makes
  82. .I dtlogin
  83. close all file descriptors, disassociate the controlling terminal and put
  84. itself in the background when it first starts up (just like the host
  85. of other daemons).
  86. .IP "\fB-debug\fP \fIdebug_level\fP"
  87. Specifies the numeric value for the \fBdebugLevel\fP
  88. resource. A non-zero value causes
  89. .I dtlogin
  90. to print debugging statements to the terminal; it also disables the
  91. \fBdaemonMode\fP resource, forcing
  92. .I dtlogin
  93. to run synchronously.
  94. .IP "\fB-error\fP \fIerror_log_file\fP"
  95. Specifies the value for the \fBerrorLogFile\fP resource.
  96. This file contains errors from
  97. .I dtlogin
  98. as well as anything written to \fIstderr\fP by the various scripts and programs
  99. run during the progress of the session.
  100. .IP "\fB-nodaemon\fP"
  101. Specifies ``false'' as the value for the \fBdaemonMode\fP
  102. resource.
  103. .IP "\fB-resources\fP \fIresource_file\fP"
  104. Specifies the value for the \fBresources\fP resource. This file
  105. is loaded using \fIxrdb (1)\fP to specify configuration parameters for the
  106. authentication screen.
  107. .IP "\fB-server\fP \fIserver_entry\fP"
  108. Specifies the value for the \fBservers\fP resource.
  109. See \fBservers\fP below for more detail.
  110. .IP "\fB-udpPort\fP \fIport_number\fP"
  111. Specifies the value for the \fBrequestPort\fP resource. This
  112. sets the port-number that \fIdtlogin\fR monitors for XDMCP requests.
  113. Since XDMCP
  114. uses the registered well-known udp port 177, this resource should probably
  115. not be changed except for debugging.
  116. .IP "\fB-session\fP \fIsession_program\fP"
  117. Specifies the value for the \fBsession\fP resource. This
  118. indicates the program to run when the user has logged in as the session.
  119. .sp 1
  120. .SH "CONTROLLING THE SERVER"
  121. .I Dtlogin
  122. controls local servers using POSIX signals. SIGHUP is expected to reset the
  123. server, closing all client connections and performing other clean up
  124. duties. SIGTERM is expected to terminate the server. If these signals do
  125. not perform the expected actions,
  126. the resources \fBresetSignal\fP and \fBtermSignal\fP
  127. can specify alternate signals.
  128. .PP
  129. To control remote servers not using XDMCP,
  130. .I dtlogin
  131. searches the window hierarchy on the display and uses the KillClient
  132. protocol request
  133. in an attempt to clean up the terminal for the next session. This
  134. may not actually kill all of the clients, since only those that have created
  135. windows are noticed. XDMCP provides a more sure mechanism; when
  136. .I dtlogin
  137. closes its initial connection, the session is over and the terminal is
  138. required to close all other connections.
  139. .sp 1
  140. .SH "CONTROLLING DTLOGIN"
  141. .PP
  142. .I Dtlogin
  143. responds to two signals: SIGHUP and SIGTERM. When sent a SIGHUP,
  144. .I dtlogin
  145. rereads the configuration file and the file specified by the
  146. \fBservers\fP resource and determines whether entries have been added
  147. or removed. If a new entry has been added,
  148. .I dtlogin
  149. starts a session on the associated display. Entries that have been removed
  150. are disabled immediately, meaning that any session in progress is
  151. terminated without notice, and no new session is started.
  152. .PP
  153. When sent a SIGTERM,
  154. .I dtlogin
  155. terminates all sessions in progress and exits. This can be used when
  156. shutting down the system.
  157. .\".PP
  158. .\".I Dtlogin
  159. .\"attempts to mark the various sub-processes for ps(1) by editing the
  160. .\"command line argument list in place. Because dtlogin can't allocate additional
  161. .\"space for this task, it is useful to start dtlogin with a reasonably long
  162. .\"command line (15 to 20 characters should be enough). Each process that is
  163. .\"servicing a display is marked "-<Display-Name>".
  164. .sp 1
  165. .SH ENVIRONMENT
  166. \fIDtlogin\fP invokes the user's session with the following default
  167. environment:
  168. .nf
  169. .ta .5i 2i
  170. DISPLAY is set to the associated display name
  171. EDITOR is set to /usr/dt/bin/dtpad
  172. HOME is set to the home directory of the user
  173. KBD_LANG is set to the value of LANG for applicable languages
  174. LANG is set to the current NLS language (if any)
  175. LC_ALL is set to the current NLS language (if any)
  176. LC_MESSAGES is set to the current NLS language (if any)
  177. LOGNAME is set to the user name
  178. MAIL is set to /var/mail/$USER
  179. PATH is set to the value of the \fBuserPath\fP resource
  180. USER is set to the user name
  181. SHELL is set to the user's default shell (from /etc/passwd)
  182. TERM is set to xterm
  183. TZ is set to the value of the \fBtimeZone\fP resource or system default
  184. XAUTHORITY may be set to an authority file
  185. .fi
  186. .PP
  187. Three methods are available to modify or add to this list depending on the
  188. desired scope of the resulting environment variable.
  189. The \fBenvironment\fP resource is available in the \fIdtlogin\fR
  190. configuration file to allow
  191. setting of environment variables on a global or per-display basis.
  192. Variables specified by this method are available to both the display's
  193. X server process
  194. and the user's session and override any default settings.
  195. The resource accepts a string of <name>=<value> pairs separated by at
  196. least one space
  197. or tab.
  198. The values specified must be constants because no shell is used to parse the
  199. string.
  200. See the \fBResources\fP section below for details on setting this resource.
  201. .sp
  202. For example:
  203. .nf
  204. .ta .5i 2i
  205. Dtlogin*environment: SB_DISPLAY_ADDR=0xB00000 \\
  206. WMSHMSPC=0x200000
  207. .fi
  208. .sp 1
  209. Note: The environment variables LANG and TZ have their own
  210. dedicated resources
  211. in the configuration file and should not be set via \fBenvironment\fR.
  212. .sp 1
  213. Environment variables that require processing by a shell or are
  214. dependent on the value of another environment variable can be specified
  215. in the startup script \fIXsession\fR. These variables are loaded into
  216. the environment of all users on the display, but not to the X server process.
  217. They override any previous settings of the same variable.
  218. The \fIXsession\fR script accepts ksh syntax for setting environment
  219. variables.
  220. .sp 1
  221. For example.
  222. .nf
  223. .ta .5i 3i
  224. MAIL=/var/mail/$USER
  225. .fi
  226. .sp 1
  227. Finally, personal environment variables can be set on a per-user basis
  228. in the script file $HOME/\fI.dtprofile\fP.
  229. \fIDtlogin\fP accepts either sh, ksh, or csh syntax for the commands
  230. in this file.
  231. The commands should only be those that set environment variables, not any
  232. that perform terminal I/O, excepting \fItset(1)\fP or \fIstty(1)\fP.
  233. If the first line of \fI.dtprofile\fP is #!/bin/sh, #!/bin/ksh, or
  234. #!/bin/csh, \fIdtlogin\fP uses the appropriate shell to
  235. parse \fI.dtprofile\fP.
  236. Otherwise, the user's default shell ($SHELL) is used.
  237. .\".PP
  238. .\"To ease maintenance, the user may wish to replace complementary environment
  239. .\"setting commands in $HOME/\fI.profile\fP ( $HOME/\fI.login\fP ) with the
  240. .\"single command ". $HOME/\fI.dtprofile\fP" (source $HOME/\fI.dtprofile\fP).
  241. .sp 1
  242. .SH INTERNATIONALIZATION
  243. All labels and messages are localizable.
  244. The message catalog \fIdtlogin.cat\fP contains the localized
  245. representations of the default labels and messages.
  246. \fIDtlogin\fP reads the appropriate message catalog indicated by the
  247. \fBLANG\fP environment variable and displays the localized strings.
  248. An option on the authentication screen allows the user to override the
  249. default language for the subsequent session.
  250. If the authentication screen has been localized for the selected language,
  251. it is redisplayed in that language;
  252. otherwise, it is displayed in the default language.
  253. In either case, the \fBLANG\fP environment variable is set
  254. appropriately for the resulting session.
  255. .PP
  256. The resource \fBlanguage\fP is available in the \fIdtlogin\fP configuration
  257. file to change the default language for a display.
  258. .PP
  259. The resource \fBlanguagelist\fP is also available in the \fIdtlogin\fP configuration
  260. file to override the default set of languages displayed on the
  261. authentication screen.
  262. .sp 1
  263. .SH RESOURCES
  264. The actions of
  265. .I dtlogin
  266. can be controlled through the use of various configuration files, which
  267. are in the
  268. X resource format.
  269. Some resources control the behavior of \fIdtlogin\fR in general, some can
  270. be specified for a particular display, and others control the appearance of
  271. the authentication screen.
  272. The general and display-specific resources are specified in the
  273. configuration file named by
  274. the \fB-config\fR command line option.
  275. All resources should be prepended with the application name \fBDtlogin\fR.
  276. .sp 1
  277. .TS
  278. center;
  279. cB sss
  280. lB lB lB lB
  281. l l l l.
  282. Dtlogin General Resource Set
  283. Name Class Type Default
  284. _
  285. accessFile AccessFile String NULL
  286. autoRescan AutoRescan Boolean True
  287. daemonMode DaemonMode Boolean False
  288. debugLevel DebugLevel Int 0
  289. errorLogFile ErrorLogFile String NULL
  290. errorLogSize ErrorLogSize Int 50
  291. keyFile KeyFile String /usr/dt/config/Xkeys
  292. lockPidFile LockPidFile Boolean True
  293. pidFile PidFile String NULL
  294. authDir AuthDir String /usr/dt/config
  295. removeDomainname RemoveDomainname Boolean True
  296. requestPort RequestPort Int 177
  297. servers Servers String :0 Local local /usr/bin/X11/X :0
  298. sysParmsFile SysParmsFile String /etc/src.sh
  299. timeZone TimeZone String MST7MDT
  300. wakeupInterval WakeupInterval Int 10
  301. .TE
  302. .sp 1
  303. The \fIdtlogin\fP general resources are not display-specific and
  304. are applied to all displays where appropriate.
  305. .sp 1
  306. .IP "\fBaccessFile\fP"
  307. To prevent unauthorized XDMCP service
  308. this file contains a database of hostnames which are
  309. allowed direct access to this machine.
  310. The format of this file is described
  311. in the section
  312. .B "Xdmcp Access Control."
  313. .IP "\fBauthDir\fP"
  314. This is a directory name that
  315. .I dtlogin
  316. uses to temporarily store authorization files for displays using XDMCP.
  317. .IP "\fBautoRescan\fP"
  318. This boolean controls whether
  319. .I dtlogin
  320. rescans the configuration file and server file after a session terminates
  321. and the files have changed. You can force
  322. .I dtlogin
  323. to reread these files by sending a SIGHUP to the main process.
  324. .IP "\fBdaemonMode\fP"
  325. .I Dtlogin
  326. can make itself into an unassociated daemon process. This is
  327. accomplished by forking and leaving the parent process to exit, then closing
  328. file descriptors and releasing the controlling terminal. This is inconvenient
  329. when attempting to debug
  330. .I dtlogin.
  331. Setting this resource to "false" disables \fBdaemonMode\fP.
  332. .sp 1
  333. If
  334. .I dtlogin
  335. is started from /etc/inittab, it should not be run in daemon mode.
  336. Otherwise the \fIinit\fP process will think it has terminated and will
  337. attempt to restart it.
  338. .IP "\fBdebugLevel\fP"
  339. A non-zero value specified for this integer resource enables
  340. debugging information to be printed. It also disables daemon mode, which
  341. redirects the information into the bit-bucket. Specifying a non-zero
  342. debug level also allows non-root users to run
  343. .I dtlogin,
  344. which is not normally useful.
  345. .IP "\fBerrorLogFile\fP"
  346. Error output is normally directed at the system console. To redirect it,
  347. set this resource to any file name.
  348. This file also contains any output directed to stderr
  349. by \fIXstartup, Xsession \fPand \fIXreset\fP, so it contains descriptions
  350. of problems in those scripts as well.
  351. .IP "\fBerrorLogSize\fP"
  352. This resource specifies the maximum size of the error log file in kilobytes.
  353. When the limit is reached, \fIdtlogin\fP will delete the oldest entries in the
  354. file until the file size is reduced to 75% of the maximum.
  355. .IP "\fBkeyFile\fP"
  356. XDM-AUTHENTICATION-1 style XDMCP authentication requires that a private key
  357. be shared between
  358. .I dtlogin
  359. and the terminal. This resource specifies the file containing those
  360. values. Each entry in the file consists of a display name and the shared
  361. key. By default,
  362. .I dtlogin
  363. does not include support for XDM-AUTHENTICATION-1 because it requires DES, which
  364. is not generally distributable.
  365. .IP "\fBlockPidFile\fP"
  366. This is the resource that controls whether
  367. .I dtlogin
  368. uses file locking to prevent multiple logins.
  369. .IP "\fBpidFile\fP"
  370. The filename specified is created to contain an ASCII
  371. representation of the process-id of the main \fIdtlogin\fP process. This is
  372. quite useful when reinitializing the system.
  373. .I Dtlogin
  374. also uses file locking to attempt to prevent more than one daemon running on
  375. the same machine.
  376. .IP "\fBremoveDomainname\fP"
  377. When computing the display name for XDMCP clients, the resolver
  378. typically creates a fully qualified host name for the terminal. As this is
  379. sometimes confusing,
  380. .I dtlogin
  381. removes the domain name portion of the host name if it is the same as the
  382. domain name for the local host when this variable is set.
  383. .IP "\fBrequestPort\fP"
  384. This indicates the UDP port number that
  385. .I dtlogin
  386. uses to listen for incoming XDMCP requests. Unless you need to debug the
  387. system, leave this with its default value.
  388. .IP "\fBservers\fP"
  389. This resource either specifies a file name full of server entries, one per
  390. line (if the value starts with a slash), or a single server entry. Each
  391. entry indicates a display that should constantly be managed and that is
  392. not using XDMCP. Each entry consists of at least three parts: a display
  393. name, a display class, a display type, and (for local servers) a command
  394. line to start the server. A typical entry for local display number 0 is:
  395. .nf
  396. :0 Local local@console /usr/bin/X11/X :0
  397. .fi
  398. The display types are:
  399. .ta .5i
  400. .nf
  401. local a local display, i.e. one that has a server program to run
  402. foreign a remote display, i.e. one that has no server program to run
  403. .fi
  404. .IP
  405. The display name must be something that can be passed in the \fB-display\fP
  406. option to any X program. This string is used in the display-specific
  407. resources to specify the particular display, so be careful to match the
  408. names (e.g., use ":0 local /usr/bin/X11/X :0" instead of "localhost:0 local
  409. /usr/bin/X11/X :0" if your other resources are specified as
  410. "Dtlogin._0.session"). The display class portion is also used in the
  411. display-specific resources as the class portion of the resource. This is
  412. useful if you have a large collection of similar displays (a group of
  413. X terminals, for example) and want to set resources for groups of them. When using
  414. XDMCP, the display is required to specify the display class, so perhaps your
  415. X terminal documentation describes a reasonably standard display class
  416. string for your device.
  417. .sp1
  418. On local bitmaps, the user may choose a "No Windows" option via the login
  419. screen, which temporarily suspends the X-server and presents
  420. the traditional character "login:" prompt.
  421. The user can then log in and perform non-X related tasks.
  422. When the user finishes and logs out, the X-server is restarted, and
  423. the login screen is redisplayed.
  424. .sp1
  425. In order to support "No Windows" mode, the display must have an associated
  426. Internal Terminal Emulator (\fBITE\fP) device.
  427. By default,
  428. .I dtlogin
  429. associates the \fBITE\fP device "console" (/dev/console) with display ":0".
  430. If your configuration does not match this default, specify "@<device>" for
  431. the display(s) with an associated \fBITE\fP and "@none" for all other displays
  432. listed in the \fBservers\fP file.
  433. .IP "\fBsysParmsFile\fP"
  434. This resource specifies a file containing shell commands, one of which sets
  435. the timezone environment variable (TZ) for the system.
  436. If the timezone is set via the shell syntax, "TZ=", \fIdtlogin\fP can
  437. use this information to set the timezone for the user session.
  438. .IP "\fBtimeZone\fP"
  439. This resource specifies the local time zone for \fIdtlogin\fR.
  440. It is loaded into the environment of \fIdtlogin\fR as the value of
  441. the variable \fBTZ\fR and inherited by all subsequent sessions.
  442. .sp 1
  443. Some systems maintain a configuration file that contains the timezone
  444. setting (ex. /etc/src.sh).
  445. See the resource \fBsysParmsFile\fP.
  446. .IP "\fBwakeupInterval\fP"
  447. If the user selects "No Windows" mode from the login screen, \fIdtlogin\fP
  448. terminates the X-server and allows the traditional character-based login
  449. prompt, "login:" to become visible.
  450. If the user does not log in within 2 * \fBwakeupInterval\fP seconds, the
  451. X-server is restarted. Once the user has logged in, \fIdtlogin\fP checks
  452. every \fBwakeupInterval\fP seconds to see if the user has logged out. If
  453. so, the X-server is restarted and the login screen is redisplayed.
  454. .sp 2
  455. .TS
  456. center;
  457. cB sss
  458. lB lB lB lB
  459. l l l l.
  460. Dtlogin Display Resource Set
  461. Name Class Type Default
  462. _
  463. authorize Authorize Boolean False
  464. authName AuthName String MIT-MAGIC-COOKIE-1
  465. authFile AuthFile String /usr/dt/config/auth-server
  466. cpp Cpp String /lib/cpp
  467. environment Environment String NULL
  468. failsafeClient FailsafeClient String /usr/bin/X11/xterm
  469. grabServer GrabServer Boolean True
  470. grabTimeout GrabTimeout Int 3 sec.
  471. language Language String NULL
  472. languageList LanguageList String NULL
  473. openDelay OpenDelay Int 5 sec.
  474. openRepeat OpenRepeat Int 5 sec.
  475. openTimeout OpenTimeout Int 30 sec.
  476. pingInterval PingInterval Int 5 min.
  477. pingTimeout PingTimeout Int 5 min.
  478. reset Reset String NULL
  479. resetForAuth ResetForAuth Boolean False
  480. resetSignal Signal Int 1 (SIGHUP)
  481. resources Resources String NULL
  482. session Session String NULL
  483. startAttempts StartAttempts Int 4
  484. startup Startup String NULL
  485. systemPath SystemPath String /usr/bin/X11:/bin:/usr/bin:/etc
  486. systemShell SystemShell String /bin/sh
  487. terminateServer TerminateServer Boolean False
  488. termSignal Signal Int 15 (SIGTERM)
  489. userAuthDir UserAuthDir String /tmp
  490. userPath UserPath String /usr/bin/X11:/bin:/usr/bin:/usr/contrib/bin:/usr/local/bin
  491. dtlite Dtlite Boolean False
  492. xrdb Xrdb String /usr/bin/X11/xrdb
  493. .TE
  494. .sp 1
  495. .PP
  496. \fIDtlogin\fR display resources can be specified for all displays or for
  497. a particular display.
  498. To specify a particular display,
  499. the display name is inserted into the resource name between
  500. ``Dtlogin'' and the final resource name segment.
  501. For example, \fBDtlogin.expo_0.startup\fP is the name of the
  502. resource defining the startup shell file on the ``expo:0'' display.
  503. The resource
  504. manager separates the name of the resource from its value with colons, and
  505. separates resource name parts with dots, so
  506. .I dtlogin
  507. uses underscores for the dots and colons when generating the resource
  508. name.
  509. .sp
  510. Resources can also be specified for a class of displays by inserting the
  511. class name instead of a display name.
  512. A display that is not managed by XDMCP can have its class affiliation
  513. specified in the file referenced by the \fBservers\fR resource.
  514. A display using XDMCP supplies its class affiliation as part of the
  515. XDMCP packet.
  516. .sp 2
  517. .IP "\fBauthorize\fP"
  518. \fBauthorize\fP is a boolean resource that controls whether
  519. .I dtlogin
  520. generates and uses authorization for the server connections. (See
  521. \fBauthName\fP.)
  522. .IP "\fBauthName\fP"
  523. If \fBauthorize\fP is used, \fBauthName\fP specifies the type of
  524. authorization to be used.
  525. Currently,
  526. .I dtlogin
  527. supports only MIT-MAGIC-COOKIE-1 authorization,
  528. XDM-AUTHORIZATION-1
  529. could be supported, but DES is not generally distributable. XDMCP
  530. connections state which authorization types are supported dynamically, so
  531. \fBauthName\fP is ignored in this case.
  532. .\"When \fBauthorize\fP is set for a
  533. .\"display and authorization is not available, the user is informed by having a
  534. .\"different message displayed in the login widget.
  535. (See \fBauthorize\fP.)
  536. .IP "\fBauthFile\fP"
  537. This file is used to communicate the authorization data from \fIdtlogin\fP to
  538. the server, using the \fI-auth\fP server command line option. It should be
  539. kept in a write-protected directory to prevent its erasure, which would
  540. disable the authorization mechanism in the server.
  541. .IP "\fBcpp\fP"
  542. This specifies the name of the C preprocessor that is used by xrdb.
  543. .IP "\fBenvironment\fP"
  544. This resource can contain a set of <name>=<value> pairs separated by a space
  545. or tab.
  546. Each item is loaded into the environment of the server and session.
  547. See the \fBEnvironment\fR section for details.
  548. .IP "\fBfailsafeClient\fP"
  549. If the default session fails to execute,
  550. .I dtlogin
  551. falls back to this program. This program is executed with no
  552. arguments, but executes using the same environment variables as
  553. the session would have had. (See \fBThe Xsession File\fP below.)
  554. .IP "\fBgrabServer\fP (See \fBgrabTimeout\fP.)"
  555. .IP "\fBgrabTimeout\fP"
  556. To improve security,
  557. .I dtlogin
  558. grabs the server and keyboard while reading the name and password. The
  559. \fBgrabServer\fP resource specifies if the server should be held while
  560. the name and password is read. When FALSE, the server is ungrabbed
  561. after the keyboard grab succeeds; otherwise, the server is grabbed until just
  562. before the session begins. The \fBgrabTimeout\fP resource specifies
  563. the maximum time
  564. .I dtlogin
  565. will wait for the grab to succeed. The grab may fail if some other
  566. client has the server grabbed, or possibly if the network latencies
  567. are very high. The \fBgrabTimeout\fP resource has a default of
  568. 3 seconds; be cautious when using this resource, since a user
  569. can be deceived by a look-alike window on the display. If the grab fails,
  570. .I dtlogin
  571. kills and restarts the server (if possible) and session.
  572. .sp 1
  573. Some X-terminals cannot display their configuration screens while the server
  574. is grabbed.
  575. Setting \fBgrabServer\fP to false will allow the screens to be displayed,
  576. but opens the possibility that a user's login name can be stolen by copying
  577. the contents of the login screen.
  578. Since the keyboard is still grabbed and the password is not echoed, the
  579. password cannot be stolen.
  580. .IP "\fBlanguage\fP"
  581. This resource specifies the default setting for the \fBLANG\fR environment
  582. variable.
  583. If the \fIdtlogin\fR screen is localized for that
  584. language, it is displayed appropriately; otherwise, it is displayed
  585. in the language "C".
  586. The user may temporarily override this setting via an option on the login
  587. screen.
  588. When the subsequent session terminates, the \fBLANG\fR variable
  589. reverts to this setting.
  590. .IP "\fBlanguageList\fP"
  591. This resource allows the user to override the default set of languages
  592. displayed in the "Language" menu of the login screen.
  593. It is useful if the set of languages actually used on a particular display
  594. is smaller than the set installed on the system.
  595. The resource value is a list of valid values for the \fBLANG\fP environment
  596. variable.
  597. Language values should be separated by one or more spaces or tabs.
  598. .IP "\fBopenDelay\fP (See \fBstartAttempts\fP.)"
  599. .IP "\fBopenRepeat\fP (See \fBstartAttempts\fP.)"
  600. .IP "\fBopenTimeout\fP (See \fBstartAttempts\fP.)"
  601. .IP "\fBpingInterval\fP (See \fBpingTimeout\fP.)"
  602. .IP "\fBpingTimeout\fP"
  603. To discover when remote displays disappear,
  604. .I dtlogin
  605. occasionally "pings" them, using an X connection and sending XSync
  606. requests. \fBpingInterval\fP specifies the time (in minutes) between
  607. successive ping attempts, and \fBpingTimeout\fP specifies the maximum
  608. wait time (in
  609. minutes) for the terminal to respond to the request. If the
  610. terminal does not respond, the session is terminated.
  611. .I Dtlogin
  612. does not ping local displays. Although it may seem harmless, it is
  613. undesirable when the workstation session is terminated as a result of the
  614. server hanging for NFS service and not responding to the ping.
  615. .IP "\fBreset\fP"
  616. This specifies a program that is run (as root) after the session terminates.
  617. By default no program is run.
  618. The conventional name is \fIXreset\fP. See
  619. \fBThe Xreset File\fP below.
  620. .IP "\fBresetForAuth\fP"
  621. The original implementation of authorization in the sample server reread the
  622. authorization file at server reset time, instead of when checking the
  623. initial connection. Since
  624. .I dtlogin
  625. generates the authorization information just before connecting to the
  626. display, an old server does not get current authorization information.
  627. This resource causes
  628. .I dtlogin
  629. to send SIGHUP to the server after setting up the file, causing an
  630. additional server reset to occur, during which time the new authorization
  631. information is read.
  632. .IP "\fBresetSignal\fP"
  633. This resource specifies the signal
  634. .I dtlogin
  635. sends to reset the server.
  636. See the section \fBControlling The Server\fP
  637. .IP "\fBresources\fP"
  638. This resource specifies the name of the file to be loaded by \fIxrdb (1)\fP
  639. as the resource data-base onto the root window of screen 0 of the display.
  640. This resource data base is loaded just before the authentication procedure
  641. is started, so it can control the appearance of the "login" window. See the
  642. section below on the authentication screen, which describes the various
  643. resources that are appropriate to place in this file. There is no
  644. default value for this resource, but the conventional name is \fIXresources\fP.
  645. See \fBAuthentication Screen Resources\fP below.
  646. .IP "\fBsession\fP"
  647. This specifies the session to be executed (not running as root).
  648. By default, \fI/usr/bin/X11/xterm\fP is
  649. run. The conventional name is \fIXsession\fP. See \fBThe Xsession File\fP
  650. below.
  651. .IP "\fBstartAttempts\fP"
  652. Four numeric resources control the behavior of
  653. .I dtlogin
  654. when attempting to open reluctant servers: \fBopenDelay\fP,
  655. \fBopenRepeat\fP, \fBopenTimeout\fP, and \fBstartAttempts\fP.
  656. \fBopenDelay\fP is the duration (in seconds) between successive attempts;
  657. \fBopenRepeat\fP is the number of attempts to make; \fBopenTimeout\fP is
  658. the amount of time to wait while actually attempting the opening (i.e.,
  659. the maximum time spent in the \fIconnect\fP (2) syscall); and
  660. \fBstartAttempts\fP is the number of times the entire process occurs before
  661. giving up on the server. After \fBopenRepeat\fP attempts have been made,
  662. or if \fBopenTimeout\fP seconds elapse in any particular attempt,
  663. .I dtlogin
  664. terminates and restarts the server, attempting to connect again. This
  665. process is repeated \fBstartAttempts\fP time, at which point the display is
  666. declared dead and disabled. (See \fBopenDelay\fP, \fBopenRepeat\fP,
  667. and \fBopenTimeout\fP.)
  668. .IP "\fBstartup\fP"
  669. This specifies a program that is run (as root) after the authentication
  670. process succeeds. By default, no program is run. The conventional name for a
  671. file used here is \fIXstartup\fP. See the \fBXstartup\fP section below.
  672. .IP "\fBsystemPath\fP"
  673. .I Dtlogin
  674. sets the PATH environment variable for the startup and reset scripts to the
  675. value of this resource. Note the
  676. conspicuous absence of "." from this entry. This is a good practice to
  677. follow for root; it avoids many system penetration
  678. schemes.
  679. .IP "\fBsystemShell\fP"
  680. .I Dtlogin
  681. sets the SHELL environment variable for the startup and reset scripts to the
  682. value of this resource.
  683. .IP "\fBterminateServer\fP"
  684. This boolean resource specifies whether the X server should be terminated
  685. when a session terminates (instead of resetting it).
  686. This option can be
  687. used if the server tends to grow without bound over
  688. time in order to limit
  689. the amount of time the server is run continuously.
  690. .IP "\fBtermSignal\fP"
  691. This resource specifies the signal
  692. .I dtlogin
  693. sends to terminate the server.
  694. See the section \fBControlling The Server\fP
  695. .IP "\fBuserAuthDir\fP"
  696. When
  697. .I dtlogin
  698. cannot write to the usual user authorization file ($HOME/.Xauthority),
  699. it creates a unique file name in this directory and points the environment
  700. variable XAUTHORITY at the created file.
  701. .IP "\fBuserPath\fP"
  702. .I Dtlogin
  703. sets the PATH environment variable for the session to this value. It should
  704. be a colon-separated list of directories; see \fIsh(1)\fP for a full
  705. description.
  706. .IP "\fBdtlite\fP"
  707. Setting this resource to "True" restricts the display to only allowing
  708. fail-safe or DT Lite sessions.
  709. The "HP DT Session" selection is disabled.
  710. .IP "\fBxrdb\fP"
  711. Specifies the program used to load the resources.
  712. .sp 1
  713. .SH "AUTHENTICATION SCREEN RESOURCES"
  714. The authentication screen reads a name-password pair
  715. from the keyboard.
  716. As this is a Motif toolkit client, colors, fonts and
  717. some layout options can be controlled with resources.
  718. Resources for this screen
  719. should be put into the file named by the
  720. \fBresources\fP resource.
  721. .sp 1
  722. The default logo on the authentication screen may be replaced
  723. with a bitmap of the
  724. user's choice.
  725. The following resources are available in addition to the standard Motif set
  726. in order to control positioning of the logo and the drop shadow.
  727. The resources should be prefaced with the string \fBDtlogin*logo*\fR
  728. when specified.
  729. .sp1
  730. .TS
  731. center;
  732. cB sss
  733. lB lB lB lB
  734. l l l l.
  735. Logo Resource Set
  736. Name Class Type Default
  737. _
  738. bitmapFile BitmapFile String NULL
  739. dropShadowBackground DropShadowBackground Pixel dynamic
  740. dropShadowForeground DropShadowForeground Pixel dynamic
  741. dropShadowBackgroundPixmap DropShadowBackgroundPixmap String dynamic
  742. dropShadowThickness DropShadowThickness Int dynamic
  743. verticalOffset VerticalOffset Int dynamic
  744. x X Position -1
  745. y X Position -1
  746. .TE
  747. .sp 1
  748. .\".RS
  749. .IP "\fBbitmapFile\fP"
  750. Specifies the absolute path name to the bitmap file to be used for the logo.
  751. .IP "\fBdropShadowBackground\fP"
  752. Specifes the background color for the drop shadow.
  753. .IP "\fBdropShadowForeground\fP"
  754. Specifes the foreground color for the drop shadow.
  755. .IP "\fBdropShadowBackgroundPixmap\fP"
  756. Specifes the pixmap to be used for the drop shadow.
  757. This can either be a built-in Motif pixmap or the absolute path name to
  758. a bitmap to be used as the tile for the drop shadow.
  759. .IP "\fBdropShadowThickness\fP"
  760. Specifes the thickness of the drop shadow in units of pixels.
  761. .IP "\fBverticalOffset\fP"
  762. Specifes the percentage of the logo to be positioned vertically off the main
  763. matte.
  764. By default the logo is centered horizontally and positioned vertically by
  765. this amount above the matte.
  766. This resource is ignored if \fBy\fR is specified.
  767. .IP "\fBx\fP"
  768. Specifes the \fIx\fR origin for the logo in units of pixels.
  769. This resource overrides the default horizontal centering of the logo.
  770. .IP "\fBy\fP"
  771. Specifes the \fIy\fR origin for the logo in units of pixels.
  772. This resource overrides the default vertical positioning of the logo.
  773. .RE
  774. .sp2
  775. The default welcome message on the authentication screen may also be replaced
  776. with a message of the user's choice.
  777. The following resources are available
  778. to control content and positioning of the welcome message.
  779. The resources should be prefaced with the string \fBDtlogin*greeting*\fR
  780. when specified.
  781. .sp 1
  782. .TS
  783. center;
  784. cB sss
  785. lB lB lB lB
  786. l l l l.
  787. Greeting Resource Set
  788. Name Class Type Default
  789. _
  790. alignment Alignment char ALIGNMENT_CENTER
  791. background Background Pixel dynamic
  792. foreground Foreground Pixel dynamic
  793. fontList FontList FontList dynamic
  794. labelString String String Welcome to %LocalHost%
  795. x X Position dynamic
  796. y X Position dynamic
  797. .TE
  798. .sp 1
  799. .\".RS
  800. .IP "\fBalignment\fP"
  801. Specifies the alignment of text in the welcome message. Possible values
  802. are ALIGNMENT_BEGINNING, ALIGNMENT_CENTER, and ALIGNMENT_END.
  803. .IP "\fBbackground\fP"
  804. Specifes the background color for the welcome message.
  805. .IP "\fBforeground\fP"
  806. Specifes the foreground color for the welcome message.
  807. .IP "\fBfontList\fP"
  808. Specifes the font to use for the welcome message.
  809. .IP "\fBlabelString\fP"
  810. Specifes the text to use in the welcome message.
  811. Multiple lines can be specified by including newline characters, "\\n",
  812. in the text. If the token %LocalHost% is included in the text, it will
  813. be replaced with the name of the host providing login service.
  814. .IP "\fBx\fP"
  815. Specifes the \fIx\fR origin for the welcome message in units of pixels.
  816. By default the welcome message is centered horizontally in the login matte.
  817. While in the matte it is clipped to the matte boundaries. If it is
  818. positioned outside the matte, it may extend to the screen boundaries.
  819. .IP "\fBy\fP"
  820. Specifes the \fIy\fR origin for the welcome message in units of pixels.
  821. By default the message is positioned slightly above the login area of the
  822. login matte.
  823. .RE
  824. .sp 1
  825. .SH "XDMCP ACCESS CONTROL"
  826. .PP
  827. The database file specified by the \fBDtlogin.accessFile\fP resource
  828. provides information which
  829. .I dtlogin
  830. uses to control access from displays requesting XDMCP service. This file
  831. contains entries which control the response to
  832. Direct and Broadcast queries.
  833. .PP
  834. The format of an entry is either a host name or a
  835. pattern.
  836. A pattern is distinguished from a host name by the inclusion of
  837. one or more meta characters (`*' matches any sequence of 0 or more
  838. characters, and `?' matches any single character) which are compared against
  839. the host name of the display device.
  840. If the entry is a host name, all comparisons are done using
  841. network addresses, so any name which converts to the correct network address
  842. may be used.
  843. For patterns, only canonical host names are used
  844. in the comparison, so ensure that you do not attempt to match
  845. aliases.
  846. Preceding either a host name or a pattern with a `!' character
  847. causes hosts which
  848. match that entry to be excluded.
  849. .PP
  850. When checking access for a particular display host, each entry is scanned in
  851. turn and the first matching entry determines the response.
  852. .PP
  853. Blank lines are ignored, `#' is treated as a comment
  854. delimiter causing the rest of that line to be ignored,
  855. and `\e\fInewline\fP'
  856. causes the newline to be ignored, allowing indirect host lists to span
  857. multiple lines.
  858. .PP
  859. Here is an example Xaccess file:
  860. .LP
  861. .ta 2i 4i
  862. .nf
  863. #
  864. # Xaccess \- XDMCP access control file
  865. #
  866. !xtra.lcs.mit.edu # disallow direct/broadcast service for xtra
  867. bambi.ogi.edu # allow access from this particular display
  868. *.lcs.mit.edu # allow access from any display in LCS
  869. .fi
  870. .sp1
  871. If XDMCP access is granted, a temporary file may be created in the
  872. \fBauthDir\fR directory which contains authorization information for the
  873. X-terminal.
  874. It is deleted when the session starts.
  875. .sp 1
  876. .SH "SESSION STARTUP"
  877. .PP
  878. Three files are provided to assist in session startup.
  879. They can be replaced by other mechanisms via \fIdtlogin\fP resources.
  880. .SH "The Xstartup File"
  881. .PP
  882. This file is typically a shell script. It is run as "root" and should be
  883. very careful about security. This is the place to put commands that
  884. display the message of the day or do other system-level functions on
  885. behalf of the user.
  886. Various environment variables are set for the use of this script:
  887. .nf
  888. .ta .5i 2i
  889. DISPLAY is set to the associated display name
  890. HOME is set to the home directory of the user
  891. PATH is set to the value of the \fBsystemPath\fP resource
  892. USER is set to the user name
  893. SHELL is set to the value of the \fBsystemShell\fP resource
  894. .\" XAUTHORITY may be set to an authority file
  895. .fi
  896. .PP
  897. No arguments of any kind are passed to the script.
  898. .I Dtlogin
  899. waits until this script exits before starting the user session. If the
  900. exit value of this script is non-zero,
  901. .I dtlogin
  902. discontinues the session immediately and starts another authentication
  903. cycle.
  904. .SH "The Xsession File"
  905. .PP
  906. This script reads in the user's personal environment from
  907. $HOME/\fI.dtprofile\fP
  908. and then invokes the desired session manager.
  909. It is run with
  910. the permissions of the authorized user, and has several environment variables
  911. pre-set.
  912. See the \fBEnvironment\fP section for a list of the pre-set variables.
  913. .\".PP
  914. .\"\fIXsession\fP tries three types of startup mechanisms.
  915. .\"By default, the HP DT Session Manager \fIdtsession\fP, is invoked
  916. .\"if it is installed and executable.
  917. .\"Otherwise, \fIXsession\fP looks for
  918. .\"the file $HOME/\fI.xsession\fP.
  919. .\"This is the startup mechanism used by the MIT client \fIXDM\fP and
  920. .\"contains commands to invoke clients for the user's session.
  921. .\"If \fI.xsession\fP does not exist, \fIXsession\fP looks for the file
  922. .\"$HOME/\fI.x11start\fP.
  923. .\"If found, \fIXsession\fP runs the program \fIxinit\fP and pass this file
  924. .\"as an argument.
  925. .\".PP
  926. .\"Failing to find any of these files, \fIXsession\fP starts the Motif
  927. .\"window manager and a single hpterm client.
  928. .SH "The Xreset File"
  929. .PP
  930. Symmetrical with \fIXstartup\fP, this script is run after the user session has
  931. terminated. Run as root, it should probably contain commands that undo
  932. the effects of commands in \fIXstartup\fP, such as
  933. unmounting directories from file servers. The collection of environment
  934. variables that were passed to \fIXstartup\fP are also
  935. given to \fIXreset\fP.
  936. .sp 1
  937. .SH "TYPICAL USAGE"
  938. .PP
  939. .I Dtlogin
  940. is designed to operate in a wide variety of environments.
  941. The following setup is a good place to start, but may not be "typical"
  942. in many environments.
  943. .PP
  944. First off, the
  945. .I dtlogin
  946. configuration file should be set up. A good thing to do is to
  947. make a directory (ex. \fI/usr/dt/config\fP)
  948. that contains all of the relevant
  949. files. Here is a typical configuration file, which could be
  950. named \fIXconfig\fP :
  951. .nf
  952. .ta .5i 2i
  953. Dtlogin.errorLogFile: /usr/dt/config/Xerrors
  954. Dtlogin.pidFile: /usr/dt/config/Xpid
  955. Dtlogin.accessFile: /usr/dt/config/Xaccess
  956. Dtlogin.servers: /usr/dt/config/Xservers
  957. Dtlogin*resources: /usr/dt/config/Xresources
  958. Dtlogin*startup: /usr/dt/config/Xstartup
  959. Dtlogin*session: /usr/dt/config/Xsession
  960. Dtlogin*reset: /usr/dt/config/Xreset
  961. .fi
  962. .PP
  963. As you can see, this file simply contains references to other files. Note
  964. that some of the resources are specified with ``*'' separating the
  965. components. These resources can be made unique for each different display,
  966. by replacing the ``*'' with the display-name.
  967. See the \fBResources\fP section for a complete discussion.
  968. .PP
  969. The first file \fI/usr/dt/config/Xservers\fP contains the list of displays to
  970. manage. Most workstations have only one display, numbered 0, so the file
  971. looks like this:
  972. .nf
  973. .ta .5i
  974. :0 Local local /usr/bin/X11/X :0
  975. .fi
  976. .PP
  977. This keeps \fI/usr/bin/X11/X\fP running on this display and
  978. manage a continuous cycle of sessions.
  979. .PP
  980. The file \fI/usr/dt/config/Xerrors\fP contains error messages from
  981. .I dtlogin
  982. and anything output to stderr by \fIXstartup, Xsession or Xreset\fP. When
  983. you have trouble getting
  984. .I dtlogin
  985. working, check this file to see if
  986. .I dtlogin
  987. has any clues to the trouble.
  988. .I Xerrors
  989. can become quite large and should be trimmed periodically.
  990. .PP
  991. The next configuration entry, \fI/usr/dt/config/Xresources\fP, is loaded onto
  992. the display as a resource database using \fIxrdb (1)\fP. As the authentication
  993. screen reads this database before starting up, it usually contains
  994. parameters for that screen.
  995. .sp 3
  996. .SH "SOME OTHER POSSIBILITIES"
  997. .PP
  998. You can also use
  999. .I dtlogin
  1000. to run a single session at a time
  1001. by specifying the server on the command
  1002. line:
  1003. .nf
  1004. .ta .5i
  1005. dtlogin -server ":0 HP-TVRX local /usr/bin/X11/X :0"
  1006. .fi
  1007. .PP
  1008. If you have an X terminal that supports the XDMCP protocol, an
  1009. entry for that terminal in \fIXservers\fR is not required.
  1010. If you have a file server and all X terminals support XDMCP, then
  1011. \fIXservers\fR would contain no entries.
  1012. .PP
  1013. Configurations may contain combinations of
  1014. local servers, X terminals without XDMCP, and X terminals
  1015. with XDCMP.
  1016. .sp 1
  1017. .SH COPYRIGHT
  1018. Copyright 1988, Massachusetts Institute of Technology
  1019. .br
  1020. (c) Copyright 1993, 1994 Hewlett-Packard Company
  1021. .br
  1022. (c) Copyright 1993, 1994 International Business Machines Corp.
  1023. .br
  1024. (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  1025. .br
  1026. (c) Copyright 1993, 1994 Novell, Inc.
  1027. .br
  1028. See \fIX(1)\fP for a full statement of rights and permissions.
  1029. .sp1
  1030. .SH AUTHOR
  1031. .I Dtlogin
  1032. is based on the MIT client \fIXDM\fR, authored by Keith Packard.
  1033. .sp1
  1034. .SH ORIGIN
  1035. Massachusetts Institute of Technology
  1036. .br
  1037. Hewlett-Packard Company
  1038. .br
  1039. International Business Machines Corp.
  1040. .br
  1041. Sun Microsystems, Inc.
  1042. .br
  1043. Novell, Inc.
  1044. .sp1
  1045. .SH "SEE ALSO"
  1046. \fBconnect(2)\fP, \fBlogin(1)\fP, \fBgetty(1M)\fP, \fBsh(1)\fP,
  1047. \fBstty(1)\fP, \fBtset(1)\fP, \fBX(1)\fP,
  1048. \fBxinit(1M)\fP, \fBxrdb(1)\fP, and \fBXDMCP\fP.
  1049. .br