Print this page
OS-2051 serial console login should set TERM appropriately
Split |
Close |
Expand all |
Collapse all |
--- old/overlay/generic/lib/svc/manifest/system/console-login.xml
+++ new/overlay/generic/lib/svc/manifest/system/console-login.xml
1 1 <?xml version="1.0"?>
2 2 <!--
3 3 Copyright 2008 Sun Microsystems, Inc. All rights reserved.
4 4 Use is subject to license terms.
5 5
6 6 NOTE: This service manifest is not editable; its contents will
7 7 be overwritten by package or patch operations, including
8 8 operating system upgrade. Make customizations in a different
9 9 file.
10 10 -->
11 11
12 12 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
13 13
14 14 <service_bundle type='manifest' name='SUNWcsr:console'>
15 15
16 16 <service
17 17 name='system/console-login'
18 18 type='service'
19 19 version='1'>
20 20
21 21 <dependency
22 22 name='fs'
23 23 grouping='require_all'
24 24 restart_on='none'
25 25 type='service'>
26 26 <service_fmri value='svc:/system/filesystem/minimal' />
27 27 </dependency>
28 28
29 29 <dependency
30 30 name='identity'
31 31 grouping='require_all'
32 32 restart_on='none'
33 33 type='service'>
34 34 <service_fmri value='svc:/system/identity:node' />
35 35 </dependency>
36 36
37 37 <dependency
38 38 name='utmpx'
39 39 grouping='require_all'
40 40 restart_on='none'
41 41 type='service'>
42 42 <service_fmri value='svc:/system/utmp:default' />
43 43 </dependency>
44 44
45 45 <!-- Note that console-login should be dependent on any services
46 46 that may need to use the console. This requirement can be met
47 47 by establishing a dependency on milestone/sysconfig which,
48 48 among other things, collects such dependencies.
49 49 -->
50 50 <dependency
51 51 name='sysconfig'
52 52 grouping='require_all'
53 53 restart_on='none'
54 54 type='service'>
55 55 <service_fmri value='svc:/milestone/sysconfig' />
56 56 </dependency>
57 57
58 58 <exec_method
59 59 type='method'
60 60 name='start'
61 61 exec='/lib/svc/method/console-login %i'
62 62 timeout_seconds='0'>
63 63 <method_context>
64 64 <method_credential user='root' group='root' />
65 65 </method_context>
66 66 </exec_method>
67 67
68 68 <exec_method
69 69 type='method'
70 70 name='stop'
71 71 exec=':kill -9'
72 72 timeout_seconds='3'>
73 73 <method_context>
74 74 <method_credential user='root' group='root' />
75 75 </method_context>
76 76 </exec_method>
77 77
78 78
79 79 <property_group name='startd' type='framework'>
80 80 <propval name='duration' type='astring' value='child' />
81 81 <propval name='ignore_error' type='astring'
82 82 value='core,signal' />
83 83 <propval name='utmpx_prefix' type='astring' value='co' />
84 84 </property_group>
85 85
86 86 <property_group name='general' type='framework'>
87 87 <propval name='action_authorization' type='astring'
88 88 value='solaris.smf.manage.vt' />
89 89 <propval name='value_authorization' type='astring'
90 90 value='solaris.smf.manage.vt' />
91 91 </property_group>
92 92
93 93 <!-- these are passed to ttymon in the method script.
94 94 note that value_authorization is not passed to ttymon
95 95 and it's for smf_security(5).
96 96 -->
97 97 <property_group name='ttymon' type='application'>
98 98 <propval name='value_authorization' type='astring'
99 99 value='solaris.smf.value.vt' />
100 100 <propval name='device' type='astring' value='/dev/wscons' />
101 101 <propval name='label' type='astring' value='console' />
102 102 <propval name='timeout' type='count' value='0' />
103 103 <propval name='nohangup' type='boolean' value='true' />
104 104 <propval name='modules' type='astring'
105 105 value='ldterm,ttcompat' />
106 106 <propval name='prompt' type='astring'
107 107 value='`uname -n` wscons login:' />
108 108 <propval name='terminal_type' type='astring'
109 109 value='' />
110 110 </property_group>
111 111
112 112
113 113 <instance name='default' enabled='true'>
114 114 </instance>
115 115
116 116 <instance name='ttya' enabled='true'>
117 117
118 118 <dependency
119 119 name='system-console'
120 120 grouping='require_all'
121 121 restart_on='none'
122 122 type='service'>
123 123 <service_fmri value='svc:/system/console-login:default' />
124 124 </dependency>
125 125
126 126 <!-- these are passed to ttymon in the method script -->
127 127 <property_group name='ttymon' type='application'>
128 128 <propval name='value_authorization' type='astring'
↓ open down ↓ |
128 lines elided |
↑ open up ↑ |
129 129 value='solaris.smf.value.vt' />
130 130 <propval name='device' type='astring' value='/dev/term/a' />
131 131 <propval name='label' type='astring' value='115200' />
132 132 <propval name='timeout' type='count' value='0' />
133 133 <propval name='nohangup' type='boolean' value='true' />
134 134 <propval name='modules' type='astring'
135 135 value='ldterm,ttcompat' />
136 136 <propval name='prompt' type='astring'
137 137 value='`uname -n` ttya login:' />
138 138 <propval name='terminal_type' type='astring'
139 - value='' />
139 + value='xterm' />
140 140 </property_group>
141 141 </instance>
142 142
143 143 <instance name='ttyb' enabled='true'>
144 144
145 145 <dependency
146 146 name='system-console'
147 147 grouping='require_all'
148 148 restart_on='none'
149 149 type='service'>
150 150 <service_fmri value='svc:/system/console-login:default' />
151 151 </dependency>
152 152
153 153 <!-- these are passed to ttymon in the method script -->
154 154 <property_group name='ttymon' type='application'>
155 155 <propval name='value_authorization' type='astring'
↓ open down ↓ |
6 lines elided |
↑ open up ↑ |
156 156 value='solaris.smf.value.vt' />
157 157 <propval name='device' type='astring' value='/dev/term/b' />
158 158 <propval name='label' type='astring' value='115200' />
159 159 <propval name='timeout' type='count' value='0' />
160 160 <propval name='nohangup' type='boolean' value='true' />
161 161 <propval name='modules' type='astring'
162 162 value='ldterm,ttcompat' />
163 163 <propval name='prompt' type='astring'
164 164 value='`uname -n` ttyb login:' />
165 165 <propval name='terminal_type' type='astring'
166 - value='' />
166 + value='xterm' />
167 167 </property_group>
168 168 </instance>
169 169
170 170 <instance name='vt2' enabled='false'>
171 171
172 172 <dependency
173 173 name='system-console'
174 174 grouping='require_all'
175 175 restart_on='none'
176 176 type='service'>
177 177 <service_fmri value='svc:/system/console-login:default' />
178 178 </dependency>
179 179
180 180 <dependency
181 181 name='vtdaemon'
182 182 grouping='require_all'
183 183 restart_on='none'
184 184 type='service'>
185 185 <service_fmri value='svc:/system/vtdaemon:default' />
186 186 </dependency>
187 187
188 188 <!-- these are passed to ttymon in the method script -->
189 189 <property_group name='ttymon' type='application'>
190 190 <propval name='value_authorization' type='astring'
191 191 value='solaris.smf.value.vt' />
192 192 <propval name='device' type='astring' value='/dev/vt/2' />
193 193 <propval name='label' type='astring' value='console' />
194 194 <propval name='timeout' type='count' value='0' />
195 195 <propval name='nohangup' type='boolean' value='true' />
196 196 <propval name='modules' type='astring'
197 197 value='ldterm,ttcompat' />
198 198 <propval name='prompt' type='astring'
199 199 value='`uname -n` vt2 login:' />
200 200 <propval name='terminal_type' type='astring'
201 201 value='' />
202 202 </property_group>
203 203
204 204 </instance>
205 205
206 206
207 207 <instance name='vt3' enabled='false'>
208 208
209 209 <dependency
210 210 name='system-console'
211 211 grouping='require_all'
212 212 restart_on='none'
213 213 type='service'>
214 214 <service_fmri value='svc:/system/console-login:default' />
215 215 </dependency>
216 216
217 217 <dependency
218 218 name='vtdaemon'
219 219 grouping='require_all'
220 220 restart_on='none'
221 221 type='service'>
222 222 <service_fmri value='svc:/system/vtdaemon:default' />
223 223 </dependency>
224 224
225 225 <!-- these are passed to ttymon in the method script -->
226 226 <property_group name='ttymon' type='application'>
227 227 <propval name='value_authorization' type='astring'
228 228 value='solaris.smf.value.vt' />
229 229 <propval name='device' type='astring' value='/dev/vt/3' />
230 230 <propval name='label' type='astring' value='console' />
231 231 <propval name='timeout' type='count' value='0' />
232 232 <propval name='nohangup' type='boolean' value='true' />
233 233 <propval name='modules' type='astring'
234 234 value='ldterm,ttcompat' />
235 235 <propval name='prompt' type='astring'
236 236 value='`uname -n` vt3 login:' />
237 237 <propval name='terminal_type' type='astring'
238 238 value='' />
239 239 </property_group>
240 240
241 241 </instance>
242 242
243 243
244 244 <instance name='vt4' enabled='false'>
245 245
246 246 <dependency
247 247 name='system-console'
248 248 grouping='require_all'
249 249 restart_on='none'
250 250 type='service'>
251 251 <service_fmri value='svc:/system/console-login:default' />
252 252 </dependency>
253 253
254 254 <dependency
255 255 name='vtdaemon'
256 256 grouping='require_all'
257 257 restart_on='none'
258 258 type='service'>
259 259 <service_fmri value='svc:/system/vtdaemon:default' />
260 260 </dependency>
261 261
262 262 <!-- these are passed to ttymon in the method script -->
263 263 <property_group name='ttymon' type='application'>
264 264 <propval name='value_authorization' type='astring'
265 265 value='solaris.smf.value.vt' />
266 266 <propval name='device' type='astring' value='/dev/vt/4' />
267 267 <propval name='label' type='astring' value='console' />
268 268 <propval name='timeout' type='count' value='0' />
269 269 <propval name='nohangup' type='boolean' value='true' />
270 270 <propval name='modules' type='astring'
271 271 value='ldterm,ttcompat' />
272 272 <propval name='prompt' type='astring'
273 273 value='`uname -n` vt4 login:' />
274 274 <propval name='terminal_type' type='astring'
275 275 value='' />
276 276 </property_group>
277 277
278 278 </instance>
279 279
280 280
281 281 <instance name='vt5' enabled='false'>
282 282
283 283 <dependency
284 284 name='system-console'
285 285 grouping='require_all'
286 286 restart_on='none'
287 287 type='service'>
288 288 <service_fmri value='svc:/system/console-login:default' />
289 289 </dependency>
290 290
291 291 <dependency
292 292 name='vtdaemon'
293 293 grouping='require_all'
294 294 restart_on='none'
295 295 type='service'>
296 296 <service_fmri value='svc:/system/vtdaemon:default' />
297 297 </dependency>
298 298
299 299 <!-- these are passed to ttymon in the method script -->
300 300 <property_group name='ttymon' type='application'>
301 301 <propval name='value_authorization' type='astring'
302 302 value='solaris.smf.value.vt' />
303 303 <propval name='device' type='astring' value='/dev/vt/5' />
304 304 <propval name='label' type='astring' value='console' />
305 305 <propval name='timeout' type='count' value='0' />
306 306 <propval name='nohangup' type='boolean' value='true' />
307 307 <propval name='modules' type='astring'
308 308 value='ldterm,ttcompat' />
309 309 <propval name='prompt' type='astring'
310 310 value='`uname -n` vt5 login:' />
311 311 <propval name='terminal_type' type='astring'
312 312 value='' />
313 313 </property_group>
314 314
315 315 </instance>
316 316
317 317
318 318 <instance name='vt6' enabled='false'>
319 319
320 320 <dependency
321 321 name='system-console'
322 322 grouping='require_all'
323 323 restart_on='none'
324 324 type='service'>
325 325 <service_fmri value='svc:/system/console-login:default' />
326 326 </dependency>
327 327
328 328 <dependency
329 329 name='vtdaemon'
330 330 grouping='require_all'
331 331 restart_on='none'
332 332 type='service'>
333 333 <service_fmri value='svc:/system/vtdaemon:default' />
334 334 </dependency>
335 335
336 336 <!-- these are passed to ttymon in the method script -->
337 337 <property_group name='ttymon' type='application'>
338 338 <propval name='value_authorization' type='astring'
339 339 value='solaris.smf.value.vt' />
340 340 <propval name='device' type='astring' value='/dev/vt/6' />
341 341 <propval name='label' type='astring' value='console' />
342 342 <propval name='timeout' type='count' value='0' />
343 343 <propval name='nohangup' type='boolean' value='true' />
344 344 <propval name='modules' type='astring'
345 345 value='ldterm,ttcompat' />
346 346 <propval name='prompt' type='astring'
347 347 value='`uname -n` vt6 login:' />
348 348 <propval name='terminal_type' type='astring'
349 349 value='' />
350 350 </property_group>
351 351
352 352 </instance>
353 353
354 354
355 355 <stability value='Evolving' />
356 356
357 357 <template>
358 358 <common_name>
359 359 <loctext xml:lang='C'>
360 360 Console login
361 361 </loctext>
362 362 </common_name>
363 363 <documentation>
364 364 <manpage title='ttymon' section='1M'
365 365 manpath='/usr/share/man' />
366 366 </documentation>
367 367
368 368 <pg_pattern name='ttymon' type='application' target='this'
369 369 required='false'>
370 370 <prop_pattern name='device' type='astring'
371 371 required='false'>
372 372 <description>
373 373 <loctext xml:lang='C'>
374 374 The terminal device to be used for the console login prompt.
375 375 </loctext>
376 376 </description>
377 377 <visibility value='readwrite'/>
378 378 <cardinality min='1' max='1'/>
379 379 <values>
380 380 <value name='/dev/console'>
381 381 <description>
382 382 <loctext xml:lang='C'>
383 383 The default console device
384 384 </loctext>
385 385 </description>
386 386 </value>
387 387 <value name='/dev/wscons'>
388 388 <description>
389 389 <loctext xml:lang='C'>
390 390 The physical workstation console (i.e. keyboard and monitor)
391 391 </loctext>
392 392 </description>
393 393 </value>
394 394 <value name='/dev/term/a'>
395 395 <description>
396 396 <loctext xml:lang='C'>
397 397 Serial device A
398 398 </loctext>
399 399 </description>
400 400 </value>
401 401 <value name='/dev/term/b'>
402 402 <description>
403 403 <loctext xml:lang='C'>
404 404 Serial device B
405 405 </loctext>
406 406 </description>
407 407 </value>
408 408 </values>
409 409 <choices>
410 410 <include_values type='values'/>
411 411 </choices>
412 412 </prop_pattern>
413 413 <prop_pattern name='label' type='astring'
414 414 required='false'>
415 415 <common_name>
416 416 <loctext xml:lang='C'>
417 417 /etc/ttydefs entry
418 418 </loctext>
419 419 </common_name>
420 420 <description>
421 421 <loctext xml:lang='C'>
422 422 The appropriate entry from /etc/ttydefs
423 423 </loctext>
424 424 </description>
425 425 <visibility value='readwrite'/>
426 426 <cardinality min='1' max='1'/>
427 427 </prop_pattern>
428 428 <prop_pattern name='timeout' type='count'
429 429 required='false'>
430 430 <description>
431 431 <loctext xml:lang='C'>
432 432 If no user input is given within the number of seconds defined by this property after the prompt is printed, ttymon should exit.
433 433 </loctext>
434 434 </description>
435 435 <units>
436 436 <loctext xml:lang='C'>
437 437 seconds
438 438 </loctext>
439 439 </units>
440 440 <visibility value='readwrite'/>
441 441 <cardinality min='1' max='1'/>
442 442 </prop_pattern>
443 443 <prop_pattern name='nohangup' type='boolean'
444 444 required='false'>
445 445 <description>
446 446 <loctext xml:lang='C'>
447 447 Do not force a hangup on the line by setting the speed to zero before setting the speed to the default or specified speed.
448 448 </loctext>
449 449 </description>
450 450 <visibility value='readwrite'/>
451 451 <cardinality min='1' max='1'/>
452 452 </prop_pattern>
453 453 <prop_pattern name='modules' type='astring'
454 454 required='false'>
455 455 <common_name>
456 456 <loctext xml:lang='C'>
457 457 STREAMS modules
458 458 </loctext>
459 459 </common_name>
460 460 <description>
461 461 <loctext xml:lang='C'>
462 462 STREAMS modules to be pushed on the terminal
463 463 </loctext>
464 464 </description>
465 465 <visibility value='readwrite'/>
466 466 <internal_separators>,</internal_separators>
467 467 </prop_pattern>
468 468 <prop_pattern name='prompt' type='astring'
469 469 required='false'>
470 470 <description>
471 471 <loctext xml:lang='C'>
472 472 Prompt to be printed on console
473 473 </loctext>
474 474 </description>
475 475 <visibility value='readwrite'/>
476 476 <cardinality min='1' max='1'/>
477 477 </prop_pattern>
478 478 <prop_pattern name='terminal_type' type='astring'
479 479 required='false'>
480 480 <description>
481 481 <loctext xml:lang='C'>
482 482 Sets the initial value of the TERM environment variable
483 483 </loctext>
484 484 </description>
485 485 <visibility value='readwrite'/>
486 486 <cardinality min='1' max='1'/>
487 487 </prop_pattern>
488 488 </pg_pattern>
489 489
490 490 </template>
491 491 </service>
492 492
493 493 </service_bundle>
↓ open down ↓ |
317 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX