247 lines
6.0 KiB
Groff
247 lines
6.0 KiB
Groff
.\"
|
|
.\"
|
|
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
|
.ie \n(.g .ds AQ \(aq
|
|
.el .ds AQ '
|
|
.ie \n(.g .ds `` \(lq
|
|
.el .ds `` ``
|
|
.ie \n(.g .ds '' \(rq
|
|
.el .ds '' ''
|
|
.TH LUIT 1 __vendorversion__
|
|
.SH NAME
|
|
luit \- Locale and ISO\ 2022 support for Unicode terminals
|
|
.SH SYNOPSIS
|
|
.B luit
|
|
[
|
|
.I options
|
|
] [
|
|
.B \-\-
|
|
] [
|
|
.I program
|
|
[
|
|
.I args
|
|
] ]
|
|
.SH DESCRIPTION
|
|
.B Luit
|
|
is a filter that can be run between an arbitrary application and a
|
|
UTF-8 terminal emulator. It will convert application output from the
|
|
locale's encoding into UTF-8, and convert terminal input from UTF-8
|
|
into the locale's encoding.
|
|
|
|
An application may also request switching to a different output
|
|
encoding using ISO\ 2022 and ISO\ 6429 escape sequences. Use of this
|
|
feature is discouraged: multilingual applications should be modified
|
|
to directly generate UTF-8 instead.
|
|
|
|
.B Luit
|
|
is usually invoked transparently by the terminal emulator. For
|
|
information about running
|
|
.B luit
|
|
from the command line, see EXAMPLES below.
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-h
|
|
Display some summary help and quit.
|
|
.TP
|
|
.B \-list
|
|
List the supported charsets and encodings, then quit.
|
|
.TP
|
|
.B \-V
|
|
Print luit's version and quit.
|
|
.TP
|
|
.B \-v
|
|
Be verbose.
|
|
.TP
|
|
.B \-c
|
|
Function as a simple converter from standard input to standard output.
|
|
.TP
|
|
.B \-p
|
|
In startup, establish a handshake between parent and child processes.
|
|
This is needed for some systems, e.g., FreeBSD.
|
|
.TP
|
|
.B \-x
|
|
Exit as soon as the child dies. This may cause
|
|
.B luit
|
|
to lose data at the end of the child's output.
|
|
.TP
|
|
.BI \-argv0 " name"
|
|
Set the child's name (as passed in argv[0]).
|
|
.TP
|
|
.BI \-encoding " encoding"
|
|
Set up
|
|
.B luit
|
|
to use
|
|
.I encoding
|
|
rather than the current locale's encoding.
|
|
.TP
|
|
.B +oss
|
|
Disable interpretation of single shifts in application output.
|
|
.TP
|
|
.B +ols
|
|
Disable interpretation of locking shifts in application output.
|
|
.TP
|
|
.B +osl
|
|
Disable interpretation of character set selection sequences in
|
|
application output.
|
|
.TP
|
|
.B +ot
|
|
Disable interpretation of all sequences and pass all sequences in
|
|
application output to the terminal unchanged. This may lead to
|
|
interesting results.
|
|
.TP
|
|
.B \-k7
|
|
Generate seven-bit characters for keyboard input.
|
|
.TP
|
|
.B +kss
|
|
Disable generation of single-shifts for keyboard input.
|
|
.TP
|
|
.B +kssgr
|
|
Use GL codes after a single shift for keyboard input. By default, GR
|
|
codes are generated after a single shift when generating eight-bit
|
|
keyboard input.
|
|
.TP
|
|
.B \-kls
|
|
Generate locking shifts (SO/SI) for keyboard input.
|
|
.TP
|
|
.BI \-gl " gn"
|
|
Set the initial assignment of GL. The argument should be one of
|
|
.BR g0 ,
|
|
.BR g1 ,
|
|
.B g2
|
|
or
|
|
.BR g3 .
|
|
The default depends on the locale, but is usually
|
|
.BR g0 .
|
|
.TP
|
|
.BI \-gr " gk"
|
|
Set the initial assignment of GR. The default depends on the locale,
|
|
and is usually
|
|
.B g2
|
|
except for EUC locales, where it is
|
|
.BR g1 .
|
|
.TP
|
|
.BI \-g0 " charset"
|
|
Set the charset initially selected in G0. The default depends on
|
|
the locale, but is usually
|
|
.BR ASCII .
|
|
.TP
|
|
.BI \-g1 " charset"
|
|
Set the charset initially selected in G1. The default depends on the
|
|
locale.
|
|
.TP
|
|
.BI \-g2 " charset"
|
|
Set the charset initially selected in G2. The default depends on the
|
|
locale.
|
|
.TP
|
|
.BI \-g3 " charset"
|
|
Set the charset initially selected in G3. The default depends on the
|
|
locale.
|
|
.TP
|
|
.BI \-ilog " filename"
|
|
Log into
|
|
.I filename
|
|
all the bytes received from the child.
|
|
.TP
|
|
.BI \-olog " filename"
|
|
Log into
|
|
.I filename
|
|
all the bytes sent to the terminal emulator.
|
|
.TP
|
|
.BI \-alias " filename"
|
|
the locale alias file
|
|
.br
|
|
(default: __locale_alias__).
|
|
.TP
|
|
.B \-\-
|
|
End of options.
|
|
.SH EXAMPLES
|
|
The most typical use of
|
|
.B luit
|
|
is to adapt an instance of
|
|
.B XTerm
|
|
to the locale's encoding. Current versions of
|
|
.B XTerm
|
|
invoke
|
|
.B luit
|
|
automatically when it is needed. If you are using an older release of
|
|
.BR XTerm ,
|
|
or a different terminal emulator, you may invoke
|
|
.B luit
|
|
manually:
|
|
.IP
|
|
$ xterm \-u8 \-e luit
|
|
.PP
|
|
If you are running in a UTF-8 locale but need to access a remote
|
|
machine that doesn't support UTF-8,
|
|
.B luit
|
|
can adapt the remote output to your terminal:
|
|
.IP
|
|
$ LC_ALL=fr_FR luit ssh legacy-machine
|
|
.PP
|
|
.B Luit
|
|
is also useful with applications that hard-wire an encoding that is
|
|
different from the one normally used on the system or want to use
|
|
legacy escape sequences for multilingual output. In particular,
|
|
versions of
|
|
.B Emacs
|
|
that do not speak UTF-8 well can use
|
|
.B luit
|
|
for multilingual output:
|
|
.IP
|
|
$ luit -encoding 'ISO 8859-1' emacs -nw
|
|
.PP
|
|
And then, in
|
|
.BR Emacs ,
|
|
.IP
|
|
M-x set-terminal-coding-system RET iso-2022-8bit-ss2 RET
|
|
.PP
|
|
.SH FILES
|
|
.TP
|
|
.B __locale_alias__
|
|
The file mapping locales to locale encodings.
|
|
.SH SECURITY
|
|
On systems with SVR4 (\*(``Unix-98\*('') ptys (Linux version 2.2 and later,
|
|
SVR4),
|
|
.B luit
|
|
should be run as the invoking user.
|
|
|
|
On systems without SVR4 (\*(``Unix-98\*('') ptys (notably BSD variants),
|
|
running
|
|
.B luit
|
|
as an ordinary user will leave the tty world-writable; this is a
|
|
security hole, and luit will generate a warning (but still accept to
|
|
run). A possible solution is to make
|
|
.B luit
|
|
suid root;
|
|
.B luit
|
|
should drop privileges sufficiently early to make this safe. However,
|
|
the startup code has not been exhaustively audited, and the author
|
|
takes no responsibility for any resulting security issues.
|
|
|
|
.B Luit
|
|
will refuse to run if it is installed setuid and cannot safely drop
|
|
privileges.
|
|
.SH BUGS
|
|
None of this complexity should be necessary. Stateless UTF-8
|
|
throughout the system is the way to go.
|
|
|
|
Charsets with a non-trivial intermediary byte are not yet supported.
|
|
|
|
Selecting alternate sets of control characters is not supported and
|
|
will never be.
|
|
.SH SEE ALSO
|
|
xterm(__appmansuffix__), unicode(__miscmansuffix__), utf-8(__miscmansuffix__), charsets(__miscmansuffix__).
|
|
.nf
|
|
.br
|
|
\fICharacter Code Structure and Extension Techniques (ISO\ 2022, ECMA-35)\fR.
|
|
.br
|
|
\fIControl Functions for Coded Character Sets (ISO\ 6429, ECMA-48)\fR.
|
|
.fi
|
|
.SH AUTHOR
|
|
The version of
|
|
.B Luit
|
|
included in this X.Org Foundation release
|
|
was originally written by Juliusz Chroboczek <jch@freedesktop.org>
|
|
for the XFree86 Project and includes additional contributions from
|
|
Thomas E. Dickey required for newer releases of xterm(__appmansuffix__).
|