~peter-pearse/ubuntu/oneiric/x11-utils/prop001

« back to all changes in this revision

Viewing changes to luit/man/luit.man

  • Committer: Bazaar Package Importer
  • Author(s): Julien Cristau
  • Date: 2011-02-09 20:34:01 UTC
  • mfrom: (3.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20110209203401-43knowb75duvo9td
Tags: 7.6+1
* Remove David Nusinow and Brice Goglin from Uploaders.  Thanks for your
  work!
* Drop Pre-Depends on x11-common.
* Bump Standards-Version to 3.9.1.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.\"
 
2
.\"
 
3
.\" Escape single quotes in literal strings from groff's Unicode transform.
 
4
.ie \n(.g .ds AQ \(aq
 
5
.el       .ds AQ '
 
6
.ie \n(.g .ds `` \(lq
 
7
.el       .ds `` ``
 
8
.ie \n(.g .ds '' \(rq
 
9
.el       .ds '' ''
 
10
.TH LUIT 1 __vendorversion__
 
11
.SH NAME
 
12
luit \- Locale and ISO\ 2022 support for Unicode terminals
 
13
.SH SYNOPSIS
 
14
.B luit
 
15
[
 
16
.I options
 
17
] [
 
18
.B \-\-
 
19
] [
 
20
.I program
 
21
[
 
22
.I args
 
23
] ]
 
24
.SH DESCRIPTION
 
25
.B Luit
 
26
is a filter that can be run between an arbitrary application and a
 
27
UTF-8 terminal emulator.  It will convert application output from the
 
28
locale's encoding into UTF-8, and convert terminal input from UTF-8
 
29
into the locale's encoding.
 
30
 
 
31
An application may also request switching to a different output
 
32
encoding using ISO\ 2022 and ISO\ 6429 escape sequences.  Use of this
 
33
feature is discouraged: multilingual applications should be modified
 
34
to directly generate UTF-8 instead.
 
35
 
 
36
.B Luit
 
37
is usually invoked transparently by the terminal emulator.  For
 
38
information about running
 
39
.B luit
 
40
from the command line, see EXAMPLES below.
 
41
.SH OPTIONS
 
42
.TP
 
43
.B \-h
 
44
Display some summary help and quit.
 
45
.TP
 
46
.B \-list
 
47
List the supported charsets and encodings, then quit.
 
48
.TP
 
49
.B \-V
 
50
Print luit's version and quit.
 
51
.TP
 
52
.B \-v
 
53
Be verbose.
 
54
.TP
 
55
.B \-c
 
56
Function as a simple converter from standard input to standard output.
 
57
.TP
 
58
.B \-p
 
59
In startup, establish a handshake between parent and child processes.
 
60
This is needed for some systems, e.g., FreeBSD.
 
61
.TP
 
62
.B \-x
 
63
Exit as soon as the child dies.  This may cause
 
64
.B luit
 
65
to lose data at the end of the child's output.
 
66
.TP
 
67
.BI \-argv0 " name"
 
68
Set the child's name (as passed in argv[0]).
 
69
.TP
 
70
.BI \-encoding " encoding"
 
71
Set up
 
72
.B luit
 
73
to use
 
74
.I encoding
 
75
rather than the current locale's encoding.
 
76
.TP
 
77
.B +oss
 
78
Disable interpretation of single shifts in application output.
 
79
.TP
 
80
.B +ols
 
81
Disable interpretation of locking shifts in application output.
 
82
.TP
 
83
.B +osl
 
84
Disable interpretation of character set selection sequences in
 
85
application output.
 
86
.TP
 
87
.B +ot
 
88
Disable interpretation of all sequences and pass all sequences in
 
89
application output to the terminal unchanged.  This may lead to
 
90
interesting results.
 
91
.TP
 
92
.B \-k7
 
93
Generate seven-bit characters for keyboard input.
 
94
.TP
 
95
.B +kss
 
96
Disable generation of single-shifts for keyboard input.
 
97
.TP
 
98
.B +kssgr
 
99
Use GL codes after a single shift for keyboard input.  By default, GR
 
100
codes are generated after a single shift when generating eight-bit
 
101
keyboard input.
 
102
.TP
 
103
.B \-kls
 
104
Generate locking shifts (SO/SI) for keyboard input.
 
105
.TP
 
106
.BI \-gl " gn"
 
107
Set the initial assignment of GL.  The argument should be one of
 
108
.BR g0 ,
 
109
.BR g1 ,
 
110
.B g2
 
111
or
 
112
.BR g3 .
 
113
The default depends on the locale, but is usually
 
114
.BR g0 .
 
115
.TP
 
116
.BI \-gr " gk"
 
117
Set the initial assignment of GR.  The default depends on the locale,
 
118
and is usually
 
119
.B g2
 
120
except for EUC locales, where it is
 
121
.BR g1 .
 
122
.TP
 
123
.BI \-g0 " charset"
 
124
Set the charset initially selected in G0.  The default depends on
 
125
the locale, but is usually
 
126
.BR ASCII .
 
127
.TP
 
128
.BI \-g1 " charset"
 
129
Set the charset initially selected in G1.  The default depends on the
 
130
locale.
 
131
.TP
 
132
.BI \-g2 " charset"
 
133
Set the charset initially selected in G2.  The default depends on the
 
134
locale.
 
135
.TP
 
136
.BI \-g3 " charset"
 
137
Set the charset initially selected in G3.  The default depends on the
 
138
locale.
 
139
.TP
 
140
.BI \-ilog " filename"
 
141
Log into
 
142
.I filename
 
143
all the bytes received from the child.
 
144
.TP
 
145
.BI \-olog " filename"
 
146
Log into
 
147
.I filename
 
148
all the bytes sent to the terminal emulator.
 
149
.TP
 
150
.BI \-alias " filename"
 
151
the locale alias file
 
152
.br
 
153
(default: __locale_alias__).
 
154
.TP
 
155
.B \-\-
 
156
End of options.
 
157
.SH EXAMPLES
 
158
The most typical use of
 
159
.B luit
 
160
is to adapt an instance of
 
161
.B XTerm
 
162
to the locale's encoding.  Current versions of
 
163
.B XTerm
 
164
invoke
 
165
.B luit
 
166
automatically when it is needed.  If you are using an older release of
 
167
.BR XTerm ,
 
168
or a different terminal emulator, you may invoke
 
169
.B luit
 
170
manually:
 
171
.IP
 
172
$ xterm \-u8 \-e luit
 
173
.PP
 
174
If you are running in a UTF-8 locale but need to access a remote
 
175
machine that doesn't support UTF-8,
 
176
.B luit
 
177
can adapt the remote output to your terminal:
 
178
.IP
 
179
$ LC_ALL=fr_FR luit ssh legacy-machine
 
180
.PP
 
181
.B Luit
 
182
is also useful with applications that hard-wire an encoding that is
 
183
different from the one normally used on the system or want to use
 
184
legacy escape sequences for multilingual output.  In particular,
 
185
versions of
 
186
.B Emacs
 
187
that do not speak UTF-8 well can use
 
188
.B luit
 
189
for multilingual output:
 
190
.IP
 
191
$ luit -encoding 'ISO 8859-1' emacs -nw
 
192
.PP
 
193
And then, in
 
194
.BR Emacs ,
 
195
.IP
 
196
M-x set-terminal-coding-system RET iso-2022-8bit-ss2 RET
 
197
.PP
 
198
.SH FILES
 
199
.TP
 
200
.B __locale_alias__
 
201
The file mapping locales to locale encodings.
 
202
.SH SECURITY
 
203
On systems with SVR4 (\*(``Unix-98\*('') ptys (Linux version 2.2 and later,
 
204
SVR4),
 
205
.B luit
 
206
should be run as the invoking user.
 
207
 
 
208
On systems without SVR4 (\*(``Unix-98\*('') ptys (notably BSD variants),
 
209
running
 
210
.B luit
 
211
as an ordinary user will leave the tty world-writable; this is a
 
212
security hole, and luit will generate a warning (but still accept to
 
213
run).  A possible solution is to make
 
214
.B luit
 
215
suid root;
 
216
.B luit
 
217
should drop privileges sufficiently early to make this safe.  However,
 
218
the startup code has not been exhaustively audited, and the author
 
219
takes no responsibility for any resulting security issues.
 
220
 
 
221
.B Luit
 
222
will refuse to run if it is installed setuid and cannot safely drop
 
223
privileges.
 
224
.SH BUGS
 
225
None of this complexity should be necessary.  Stateless UTF-8
 
226
throughout the system is the way to go.
 
227
 
 
228
Charsets with a non-trivial intermediary byte are not yet supported.
 
229
 
 
230
Selecting alternate sets of control characters is not supported and
 
231
will never be.
 
232
.SH SEE ALSO
 
233
xterm(__appmansuffix__), unicode(__miscmansuffix__), utf-8(__miscmansuffix__), charsets(__miscmansuffix__).
 
234
.nf
 
235
.br
 
236
.I Character Code Structure and Extension Techniques (ISO\ 2022, ECMA-35).
 
237
.br
 
238
.I Control Functions for Coded Character Sets (ISO\ 6429, ECMA-48).
 
239
.fi
 
240
.SH AUTHOR
 
241
The version of
 
242
.B Luit
 
243
included in this X.Org Foundation release
 
244
was originally written by Juliusz Chroboczek <jch@freedesktop.org>
 
245
for the XFree86 Project and includes additional contributions from
 
246
Thomas E. Dickey required for newer releases of xterm(__appmansuffix__).