File: README

package info (click to toggle)
fbgetty 0.1.698-6
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 1,712 kB
  • ctags: 485
  • sloc: ansic: 6,725; sh: 3,272; makefile: 121; awk: 19
file content (260 lines) | stat: -rw-r--r-- 7,427 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
fbgetty Copyright (C) 1999,2000,2001 Yann Droneaud (ydroneaud@meuh.eu.org). 

This file describe fbgetty version 0.1.698

Description
-----------

fbgetty a new getty program who support fully possibility of the 
Linux console. For the moment it run only under Linux.

Features
--------
  extended issue display (escape codes, shell variables)
  framebuffer support (display logo)
  refresh issue when VT is activated (time, user, uptime)
  display date/time according to locale
  display the output of any program
  include many files in issue

Usage 
-----

fbgetty [options] [variables] tty_device [framebuffer_device]

Options:

  -t --tty=               set tty device 
  -f --fb= --framebuffer= set framebuffer device
  -i --issue=             set issue file
  -l --login-program=     set login program
  -p --login-prompt=      set login prompt
  -o --login-timeout=     set login timeout
     --clear-screen[=(yes|no|0|1)]
                          clear or not the screen, default is yes
     --kbd=[+|-](num|caps) 
                          set or unset a keyboard flags
     --version            show version
     --dump-config        display the current configuration
     --help               show help


Options
-------

  --issue=none		disable display of issue file
  --login-prompt=none	disable display of login prompt

  --kbd=+num,-caps	enable numpad, disable capslock

  --keyboard=numlock --kbd=-capslock
			likewise (if - nor + are present, set the flag)

Environment
-----------
  fbgetty recognizes these environment variables
  simply put them on the command line

  LANG=[locale]
  issue=
  framebuffer=
  tty=
  login_program=
  login_prompt=
  login_timeout=
  refresh=
  clear_screen=

Difference between arguments, options and variables
---------------------------------------------------
 priority:
    options
    variables
    arguments

 if you put "fbgetty /dev/tty0 fb0 -t tty1 framebuffer=fb1"
  fbgetty will use tty1 and framebuffer fb1
 
Issue tag
---------
('*' means: not yet supported)

long form | short form | description  (equivalent shell command)
----------------------------------------------------------------
@system		%s	display OS name eg. kernel name (uname -s)

@version	%v	display OS version eg. kernel build date (uname -v) 

@release	%r	display OS release eg. kernel version (uname -r)

@machine
@architecture
@arch		%m	display host architecture (uname -m)

@tty
@line
@vt		%l	display tty

@framebuffer
@fb		%f	display framebuffer

@speed
@baud		%b	display line speed

@hostname	%n	display nodename (or hostname), eg: corwin (uname -n)

@domain		%o	display domain (YP/NIS) (domainname)

@fqdn
@FQDN		-	display full nodename, eg: corwin.ambre.meuh.eu.org (hostname -f)

@user		%u	display number of users connected
@users		%U	display number of users using format "%d user(s)"

@loadavg	-	display load average *

@date		%d	display date  

@time		%t	display time (24H)

@ftime		-	format date/time like 'date' does (see date(1) manpage or date --help)
			example: @ftime="%X" will print time like @time

@uptime		-	display uptime *

@verb=
@verbatim=	-	print string with no tag (%?,@*,$*) parsed (only escape sequence \?)

@include=	-	include other file to be parsed.
			syntax: @include=file[,files...]

@include_verbatim=
@cat=
@dump=
		-	print the content of the file without being parsed.

@image		-	*

$name
$"name"
${name}		display env variable ($TERM will echoing linux or linux-m)

`program [args...]`
		run the specified program with args
		NOTE: the old syntax &program is not supported since fbgetty-0.1.5test

Escape codes:
\a		echo alert (bell)
\b		backspace
\e \E		echo escape char
\f		echo formfeed
\n		echo new line
\r		echo carriage return
\t		echo horizontal tab
\v		echo vertical tab
\\		echo slash
\@		echo arobas
\%		echo percent char
\&		echo ampersand
\$		echo dollar sign
\ooo		echo character octal (octal code ooo)
\xhh \Xhh	echo hex character (hexadecimal code hh)
\[cr]		at the end of a line, don't print the carriage return (used to break a long line)

All the short escape (\? or %u) work in login prompt

Issue files
-----------
If not overrided by --issue-file, fbgetty will look for /etc/issue
If LANG is set, it will first look for issue-file.[LANG], 
 then is case of LANG in form lang_TERRITORY try issue-file.[LANG]
If not, it will use the default

Tips
----
If you want to display a file asis: without being parsed by fbgetty try this in the issue file:
`cat <your_raw_file>`
This will simply cat the file to the screen.
Another method, is to convert the file to fbgetty syntax (escape all fbgetty special characters),
checkout README and rawtoissue.sh in contrib/

Installation
------------

$ ./configure.default
$ make
$ su
# make install

examples and scripts are installed in the $datadir/fbgetty
by default /usr/share/fbgetty

Edit inittab
replace your old getty by fbgetty
see examples/*.*

Detailled Configuration
-----------------------

 Instead of using configure.default in order to get the default features of fbgetty,
you can pass options directly to the configure script

options:
 --disable-framebuffer:  don't do anything about framebuffer
 --disable-vt-refresh:   don't refresh screen when Virtual Terminal is activated
 --disable-exec-support: don't support running any program in issue
 
 --enable-secure-exec: add some security to the exec feature in issue
  --with-exec-uid=
  --with-exec-gid= use specified uid/gid to run program
  OR
  --with-exec-user= get the uid/gid from the username specified (id username)
  OR
  --with-exec-username=  get uid/gid at runtime from username
   optionnaly --with-exec-groupname=  get gid from groupname 

  WARNING: you can't mix configure time parameters 
           and run time parameters, so 

  ./configure --enable-secure-exec \
              --with-exec-username=fbgetty --with-exec-gid=100

           won't make fbgetty to run program with 100 as gid, 
           instead it will use gid of user 'fbgetty'.

 Next options are use to set the default values, they could be overridden at runtime
 --with-login-program= use alternate default login program (default: /bin/login)
 --with-login-prompt= set the default prompt (default: <hostname> login:)
 --with-issue-file= use alternate issue (default: /etc/issue)

Do ./configure --help for more options

More Informations
-----------------

see info pages
see man pages
see http://fbgetty.meuh.eu.org

Some informations about the versionning
---------------------------------------

I promise there won't be a 0.1.7 release, but some bugs appears after 
the 0.1.6 release so i need to make a patch release.
0.1.6.1 was a solution, but i don't want 4 numbers version, 0.1.6a was another i didn't want.
The solution i found was to add a number after the minor version number: 0.1.60, 0.1.61.
0.1.66 was my first choice, but i found more funny 0.1.69, so the patch release was numbered 0.1.69.

But this release shows other bugs i must correct rapidly without opening the 0.1.7 branch nor the 0.2,
so i must continue to add number after the patchlevel.
 i found this after a little search (bc + grep): 18/106 = 0.16981132075471698113
 this number contains all digit i want and is recursive.
 release that can be done:
 0.1.6
 0.1.69
 0.1.698
 0.1.6981
 and so on

After closing forever the 0.1.6 branch, release will be numbered [version].[revision]
If patch are needed, then version will be [version].[revision].[patchlevel]