1uterm(1) Unicode terminal window starter uterm(1)
2
3
4
6 uterm - start script for a Unicode capable terminal window
7
9 uterm [ -terminal-options ] [ -e program arguments ... ]
10
11 uterm [ -rx | -rxvt ] [ -rxvt-options ] [ -e program arguments ... ]
12 uterm [ -xt | -xterm ] [ -xterm-options ] [ -e program arguments ... ]
13
15 (Note: if there is no dotted line below, use 8 bit terminal environment
16 for proper display of manual page.)
17 ······················································
18
19 Invoke a terminal window with a reasonably optimized range of Unicode
20 support, enforcing UTF-8 mode and using the best Unicode fonts found.
21 Many systems are not yet properly configured to enable easy and
22 straight-forward use of Unicode in a text-mode terminal environment
23 (such as xterm or rxvt). The purpose of uterm is to help users to
24 start a terminal with good Unicode capabilities without much hassle.
25
26 Terminal selection
27 Either of xterm or rxvt-unicode is selected as the terminal application
28 to start, depending on:
29
30 · Availability of rxvt-unicode: The script checks whether
31 rxvt-unicode is available under the name urxvt (e.g. on
32 cygwin), or if rxvt is available, whether it actually is
33 rxvt-unicode (and not an older version). Only if this
34 check is positive, rxvt is considered.
35
36 · User preference, implicit: If the environment variable
37 TERM starts with "rxvt", rxvt-unicode is preferred.
38
39 · User preference, explicit: With the command line option
40 -rx or -rxvt, rxvt-unicode is preferred. With -xt or
41 -xterm, xterm is preferred.
42
43 · Font selection: If the GNU unifont is selected, rxvt is
44 chosen.
45
46 · In all other cases, xterm is chosen.
47 Users of mlterm are assumed to start mlterm themselves directly, so
48 mlterm is not considered. Neither of KDE konsole or gnome-terminal is
49 currently considered since they cannot be font-configured on-the-fly.
50
51 Font selection
52 The uterm script tries its best to use fonts that provide a maximum of
53 Unicode support.
54
55 · First it checks if you have the 10x20 Unicode font and a
56 matching 20x20 double width font installed (see explana‐
57 tion below about CJK coverage).
58
59 · If not, it checks if you have the 9x18 Unicode font and a
60 matching 18x18 double width font installed and uses them.
61
62 · If both are not found, it tries to invoke rxvt with the
63 GNU unifont.
64
65 · If either GNU unifont or rxvt are not installed, efont is
66 tried.
67
68 · As a last resort, it tries to invoke xterm with 6x13 and
69 12x13 fonts.
70
71 · As a very last fallback, it invokes xterm with its con‐
72 figured default fonts.
73 Note: The efonts are installed on fewer systems than the misc-fixed
74 fonts so only 1 size of them is considered and at a lower priority. If
75 you prefer efont, you should configure xterm font usage yourself (using
76 X resource configuration) and invoke xterm directly.
77 Note: GNU unifont does unfortunately not work with xterm (or rather
78 xterm with GNU unifont), so in this case rxvt is invoked.
79
80 Information about font usage
81 Font selection is a matter of both taste and script coverage. The
82 uterm script uses fonts with a good coverage of Unicode script ranges,
83 but its order of precedence may not suit your specific needs. In that
84 case you should configure your exact desired font preference and invoke
85 the desired terminal (xterm, rxvt) directly. Coverage of certain
86 scripts would suggest certain font preferences:
87
88 · Korean Hangul: GNU unifont
89
90 · Devanagari: efont
91
92 · Georgian: efont, misc X fonts
93
94 · (to be continued)
95
96 CJK coverage and the 10x20 fonts
97 Among the Unicode "misc" X fonts (misc-fixed-...), the 20 pixel size
98 fonts are much clearer in appearance than the 18 pixel fonts for which
99 CJK wide fonts (using double cell width in a fixed-width terminal) are
100 available. Unfortunately, xterm is not yet capable of padding an 18x18
101 font up to 20x20 pixel character cells for use together with a 10x20
102 pixel font. The bdf18to20 script, packaged with the mined editor like
103 uterm, helps with this issue and generates the missing fonts from the
104 18 pixel double width fonts by padding blank pixels. If you have
105 installed those, uterm will select 20 pixel fonts as its first prefer‐
106 ence.
107 Note: 20x20 fonts (padded with bdf18to20) are already installed as part
108 of the xterm package with SuSE Linux 10.0.
109 Note: The 6x13 pixel font from Unicode misc-fixed-... also has a
110 matching 12x13 CJK font but that size is really much too small for
111 serious application on modern desktops which often provide higher reso‐
112 lutions than traditional workstations.
113
114 UTF-8 environment setup
115 The uterm script enforces UTF-8 mode with the terminal and also sets up
116 the locale variable environment to reflect UTF-8 terminal encoding. If
117 necessary, all LC_* and LANG environment variables are modified to pro‐
118 vide a proper environment for applications started inside the Unicode
119 terminal. (See the inline documentation of the uterm script for how
120 this is done.)
121
122 X resource class
123 When starting xterm, uterm uses the X resource class UXTerm so you can
124 configure the desired appearance of UTF-8 mode terminal windows in your
125 X resource configuration. For rxvt-unicode, the class URxvt can be
126 used for X resources.
127
128 Unicode width data version
129 If called with an -e option to invoke a specific program in it, uterm
130 enables the -mk_width option of xterm (if xterm version 201 or newer is
131 available). This tells xterm to use its own, compiled-in character
132 width property tables, rather than using system locale information.
133 The advantage is that this information is often newer (referring to a
134 newer version of Unicode) than the installed system data. Thus the
135 user is enabled to use up-to-date Unicode data by using a self-
136 installed copy of xterm, rather than being stuck with the Unicode data
137 that the system administrator cares to install. This is especially
138 useful if the application is known to be able to recognise that Unicode
139 version, like the Unicode editor mined. The umined script makes use of
140 this feature to invoke mined in a Unicode terminal with a maximum of
141 Unicode support.
142
143 Keyboard resources for application use
144 If called with an -e option to invoke a specific program in it, uterm
145 also enables a number of other xterm resources in order to enable best
146 keyboard and terminal control for applications:
147
148 *VT100*eightBitOutput:true
149 to enable 8 Bit output (actually not needed in UTF-8 mode)
150
151 *VT100*metaSendsEscape:true
152 to enable ESC prefixing triggered by Alt-key
153
154 *VT100*eightBitInput:false
155 to enable ESC prefixing triggered by Alt-key in old xterm ver‐
156 sions
157
158 *VT100*deleteIsDEL:true
159 to enable distinguishing the two DEL keys on the keyboard
160
161 *utf8Title:true
162 to enable UTF-8 window title strings
163
165 $HOME/.Xdefaults or $HOME/.Xresources
166 typical location of user's X resource configuration
167
169 The uterm script is an auxiliary script packaged with the mined editor
170 by Thomas Wolff. Please send comments, suggestions, bug reports to
171 mined@towo.net.
172
173uterm March 2015 uterm(1)