source: x/installing/x-setup.xml@ c3b84a72

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since c3b84a72 was c3b84a72, checked in by DJ Lucas <dj@…>, 16 years ago

Xorg config files fixed for FHS

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7408 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 29.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="x-setup" xreflabel="X Window System Components">
9 <?dbhtml filename="x-setup.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
16 <title>X Window System Components</title>
17
18 <para condition="html" role="usernotes">User Notes:
19 <ulink url='&blfs-wiki;/XWindowSystemComponents'/></para>
20
21 <sect2 role="configuration" id='X11R6-compat-symlink'
22 xreflabel="Creating an X11R6 Compatibility Symlink">
23
24 <title>Creating an X11R6 Compatibility Symlink</title>
25
26 <para>Until recently (relatively speaking) almost every
27 <application>X Window</application> installation you performed or came
28 across was installed in the
29 <filename class='directory'>/usr/X11R6</filename> directory. That was the
30 standard for years. Developers picked up on this and wrote their package
31 installation scripts looking for <application>X</application> in the
32 standard location. Things have changed and the trend is to now install
33 <application>X</application> in
34 <filename class='directory'>/usr</filename>. Some people want to install
35 it in a custom location.</para>
36
37 <para>Many package developers have not caught up to the change and their
38 packages are still trying to find <application>X</application> in
39 <filename class='directory'>/usr/X11R6</filename> and subsequently fail
40 when you try to build the package. Though for most packages it is not
41 difficult to 'hack' the installation script to fix the problem, that is not
42 the long term solution to the problem. Upstream developers need to modernize
43 their installation scripts and eliminate the problem altogether.</para>
44
45 <para>Until then, you can create a symbolic link to satisfy the
46 <filename class='directory'>/usr/X11R6</filename> requirement so that you
47 won't be inconvenienced with a package build failure due to this known
48 issue. If you wish to create the symlink, issue the following command as
49 the <systemitem class="username">root</systemitem> user (ensure you modify
50 <replaceable>&lt;$XORG_PREFIX&gt;</replaceable> appropriately):</para>
51
52<screen role="root"><userinput>ln -vsf <replaceable>&lt;$XORG_PREFIX&gt;</replaceable> /usr/X11R6</userinput></screen>
53
54 </sect2>
55
56 <sect2 role="configuration" id='xconfig'>
57 <title>Configuring The X Window System</title>
58
59 <para>If you've installed the X Window System in any prefix other than
60 <filename>/usr</filename>, become the <systemitem
61 class="username">root</systemitem> user and update the library linker's
62 cache by adding <filename class='directory'>/usr/X11R6/lib</filename>
63 to <filename>/etc/ld.so.conf</filename> and running
64 <command>ldconfig</command>.</para>
65
66 <para>Additionally, while still the <systemitem
67 class="username">root</systemitem> user, ensure
68 <filename class="directory">/usr/X11R6/bin</filename> and
69 <filename class="directory">/usr/X11R6/lib/pkgconfig</filename> are added
70 to the <envar>PATH</envar> and <envar>PKG_CONFIG_PATH</envar>
71 environment variables, respectively. Instructions for doing this are
72 described in the section <xref linkend="postlfs-config-profile"/>.</para>
73
74 <para>Ensure you replace
75 <filename class="directory">/usr/X11R6</filename> with
76 <envar>$XORG_PREFIX</envar> in the previous two paragraphs if you did not
77 create the compatibility symlink in the previous step.</para>
78
79 <para>As the <systemitem class="username">root</systemitem> user
80 create a basic X Window System configuration file with the following
81 commands:</para>
82
83 <para>For <application>Xorg</application>:</para>
84<screen><userinput>cd ~ &amp;&amp;
85Xorg -configure</userinput></screen>
86
87 <para>For <application>XFree86</application>:</para>
88<screen><userinput>cd ~ &amp;&amp;
89XFree86 -configure</userinput></screen>
90
91 <indexterm zone="x-setup xconfig">
92 <primary sortas="e-etc-X11-xorg-conf">/etc/X11/xorg.conf</primary>
93 </indexterm>
94
95 <indexterm zone="x-setup xconfig">
96 <primary sortas="e-etc-X11-XF86Config">/etc/X11/XF86Config</primary>
97 </indexterm>
98
99 <para>The screen will go black and you may hear some clicking of the
100 monitor. This command will create a file in your
101 home directory, <filename>xorg.conf.new</filename> for
102 <application>Xorg</application>, or <filename>XF86Config.new</filename>
103 for <application>XFree86</application>.</para>
104
105 <para>Edit the newly created configuration file to suit your system. The
106 details of the files are located in the <filename>xorg.conf.5x</filename>
107 and <filename>XF86Config.5x</filename> man
108 pages. Some things you may want to do are:</para>
109
110 <itemizedlist>
111 <listitem>
112 <para>Section "Files". Change the order of the font paths searched.
113 You may want to put 100dpi fonts ahead of 75dpi fonts if your system
114 normally comes up closer to 100 dots per inch. You may want to remove
115 some font directories completely.</para>
116 </listitem>
117 <listitem>
118 <para>Section "Module". If you are going to install NVIDIA
119 drivers, remove the "dri" line.</para>
120 </listitem>
121 <listitem>
122 <para>Sections "InputDevice". You may want to change the
123 keyboard autorepeat rate by adding
124 <option>Option "Autorepeat" "250 30"</option>.</para>
125 </listitem>
126 <listitem>
127 <para>Section "Monitor". Specify the <option>VertRefresh</option>
128 and <option>HorizSync</option> values if the system does not
129 automatically detect the monitor and its values.</para>
130 </listitem>
131 <listitem>
132 <para>Section "Device". You may want to set some of the options
133 available for your selected video driver. A description of the driver
134 parameters is in the man page for your driver.</para>
135 </listitem>
136 <listitem><para>Section "Screen". Add a DefaultDepth statement such as:
137 <option>DefaultDepth 24</option>. In the SubSection for your
138 default depth, add a modes line such as:
139 <option>Modes "1600x1200" "1280x1024" "1024x768"</option>. The first
140 mode listed will normally be the starting resolution.</para>
141 </listitem>
142 </itemizedlist>
143
144 <para>Test the system with one of the following commands:</para>
145
146 <para>For <application>Xorg</application>:</para>
147<screen><userinput>X -config ~/xorg.conf.new</userinput></screen>
148
149 <para>For <application>XFree86</application>:</para>
150<screen><userinput>XFree86 -xf86config ~/XF86Config.new</userinput></screen>
151
152 <para>You will only get a gray background with an X-shaped mouse cursor,
153 but it confirms the system is working. Exit with
154 <keycap>Control+Alt+Backspace</keycap>. If the system does not work, take
155 a look at <filename>/var/log/Xorg.0.log</filename> or
156 <filename>/var/log/XFree86.0.log</filename> to see what went
157 wrong.</para>
158
159 <para>As the <systemitem class="username">root</systemitem> user, create
160 the configuration directory and move the configuration file to the new
161 directory:</para>
162
163 <para>For <application>Xorg</application>:</para>
164<screen role="root"><userinput>install -v -m644 -D ~/xorg.conf.new /etc/X11/xorg.conf</userinput></screen>
165
166 <para>For <application>XFree86</application>:</para>
167<screen role="root"><userinput>install -v -m644 -D ~/XF86Config.new /etc/X11/XF86Config</userinput></screen>
168
169 <para>As the <systemitem class="username">root</systemitem> user, create
170 <filename>.xinitrc</filename>:</para>
171
172<screen><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
173<literal># Begin .xinitrc file
174xterm -g 80x40+0+0 &amp;
175xclock -g 100x100-0+0 &amp;
176twm</literal>
177EOF</userinput></screen>
178
179 <para>This provides an initial screen with a small clock that is
180 managed by a simple window manager, Tab Window Manager. For details of
181 <command>twm</command>, see the man page.</para>
182
183 <indexterm zone="x-setup xconfig">
184 <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
185 </indexterm>
186
187 <note>
188 <para>Both the default, and the BLFS configuration for
189 <application>Xorg</application> include <application>xterm</application>.
190 <application>Xorg</application>'s modular distribution no longer includes
191 <application>xterm</application>, and
192 as a result, the <command>startx</command> command will fail if you have
193 not installed <xref linkend="xterm2"/> when using the modular X Window
194 System. You can remove the <application>xterm</application> line in the
195 above config file to test the xserver, or install one of the other
196 terminal emulators and make appropriate changes.</para>
197 </note>
198
199 <para>When needed, the X Window System creates the directory
200 <filename class='directory'>/tmp/.ICE-unix</filename> if it does not
201 exist. If this directory is not owned by
202 <systemitem class="username">root</systemitem>,
203 the X Window System delays startup by a few seconds and also
204 appends a warning to the logfile. This also affects startup of other
205 applications. To improve performance, it is advisable to manually create
206 the directory before the X Window System uses it. Add the file creation
207 to <filename>/etc/sysconfig/createfiles</filename> that is sourced by
208 the <filename>/etc/rc.d/init.d/cleanfs</filename> startup script.</para>
209
210<screen role="root"><userinput>cat &gt;&gt; /etc/sysconfig/createfiles &lt;&lt; "EOF"
211/tmp/.ICE-unix dir 1777 root root
212EOF</userinput></screen>
213
214 <indexterm zone="x-setup xconfig">
215 <primary
216 sortas="e-etc-sysconfig-createfiles">/etc/sysconfig/createfiles</primary>
217 </indexterm>
218
219 <para>Start <application>X</application> with:</para>
220
221<screen><userinput>startx</userinput></screen>
222
223 <para>and a basic functional <application>X Window
224 System</application> should be displayed.</para>
225
226 <!-- <para>For a list of the package contents and a description of the commands,
227 see the sections in the <xref linkend="xfree86-contents"/>.</para> -->
228
229 </sect2>
230
231 <sect2 id='dri'>
232 <title>Checking Direct Rendering Infrastructure (DRI) Installation</title>
233
234 <indexterm zone="x-setup dri">
235 <primary sortas="g-DRI">DRI</primary>
236 </indexterm>
237
238 <para>DRI is a framework for allowing software to access graphics hardware
239 in a safe and efficient manner. It is installed in
240 <application>X</application> by default if you have a supported video card.
241 To enable direct rendering using the OpenGL implementation from
242 <xref linkend="mesalib"/> (built separately with <xref linkend="xorg7"/>
243 <!-- or included with <xref linkend="xfree86"/> -->),
244 the "glx" and "dri" modules must be loaded. Additionally, the created
245 device nodes in <filename class="directory">/dev/dri</filename> must
246 have proper permissions for your users. A sample
247 <filename>XF86config</filename> or <filename>xorg.conf</filename>
248 file might look like this:</para>
249
250<screen><literal>Section "Module"
251 ...
252 Load "glx"
253 Load "dri"
254 ...
255EndSection
256...
257Section "DRI"
258 Group "video"
259 Mode 0660
260EndSection</literal></screen>
261
262 <para>The DRI devices are not accessible for any user except
263 <systemitem class="username">root</systemitem> and members of the
264 <systemitem class="groupname">video</systemitem> group. Add any users
265 that might use X to that group:</para>
266
267<screen role="root"><userinput>usermod -a -G video <replaceable>&lt;username&gt;</replaceable></userinput></screen>
268
269 <note><para>DRI configuration may differ if you are using alternate
270 drivers, such as those from
271 <ulink url="http://www.nvidia.com/page/home.html">NVIDIA</ulink> or
272 <ulink url="http://www.ati.com/">ATI</ulink>.</para>
273 </note>
274
275 <para>To check if DRI is installed properly, check the log file
276 <filename>/var/log/XFree86.0.log</filename> or
277 <filename>/var/log/Xorg.0.log</filename> for statements like:</para>
278
279<screen><literal>(II) R128(0): Direct rendering enabled</literal></screen>
280
281 <para>From an <command>xterm</command>, run <command>glxinfo</command>
282 and look for the phrase:</para>
283
284<screen><computeroutput>direct rendering: Yes</computeroutput></screen>
285
286 <para>If direct rendering is not enabled, you can add verbosity by
287 running <command>LIBGL_DEBUG=verbose glxinfo</command>. This will
288 show the drivers, device nodes and files used by the DRI system.</para>
289
290 <para>You can also run the test program <command>glxgears</command>.
291 This program brings up a window with three gears turning. The
292 <command>xterm</command> will display how many frames were drawn every
293 five seconds, so this is a reasonable benchmark. The window is scalable,
294 and the frames drawn per second is highly dependent on the size of
295 the window.</para>
296
297 <indexterm zone="x-setup dri">
298 <primary sortas="b-glxgears">glxgears</primary>
299 </indexterm>
300
301 <indexterm zone="x-setup dri">
302 <primary sortas="b-glxinfo">glxinfo</primary>
303 </indexterm>
304
305 <para>For troubleshooting problems, check the DRI Users Guide at
306 <ulink url="http://dri.sourceforge.net/doc/DRIuserguide.html"/>.</para>
307
308 </sect2>
309
310<!-- ================================================== -->
311
312 <sect2 id='fonts'>
313 <title>Setting up Fonts</title>
314
315 <para>There are two font systems in the
316 <application>X Window System</application>. The first is the
317 core X font protocol, and the second is Xft. Toolkits that use the core
318 X font protocol include Xt, Xaw, Motif clones and GTK+-1.2. Toolkits that
319 use Xft include GTK+-2 and Qt and use <application>Fontconfig</application>
320 for control. Both font systems should be configured for proper font
321 coverage in the <application>X Window System</application>.</para>
322
323 <indexterm zone="x-setup fonts">
324 <primary sortas="e-etc-X11-xorg-conf">/etc/X11/xorg.conf</primary>
325 </indexterm>
326
327 <indexterm zone="x-setup fonts">
328 <primary sortas="e-etc-X11-XF86Config">/etc/X11/XF86Config</primary>
329 </indexterm>
330
331 <sect3>
332 <title>Core X Font Protocol</title>
333
334 <indexterm zone="x-setup fonts">
335 <primary sortas="g-core-x-font">Core X Font Protocol</primary>
336 </indexterm>
337
338 <para>The core X font protocol finds fonts from the server configuration
339 file (<filename>xorg.conf</filename> or <filename>XF86Config</filename>).
340 If no font paths exist in the configuration file, the server will fall
341 back to an internal hard-coded path. Assuming the prefix for your
342 <application>X</application> installation is
343 <filename class="directory">/usr/X11R6</filename>, the core fonts will
344 reside in subdirectories of <filename
345 class="directory">/usr/X11R6/lib/X11/fonts</filename>. For each
346 directory in the path, the server reads three files:</para>
347
348 <itemizedlist>
349 <listitem>
350 <para><filename>fonts.dir</filename> - maps font files to font
351 names&semi; updated with <command>mkfontdir</command></para>
352 </listitem>
353 <listitem>
354 <para><filename>fonts.alias</filename> - defines aliases (such as
355 "9x18") for existing fonts</para>
356 </listitem>
357 <listitem>
358 <para><filename>fonts.scale</filename> - lists scalable fonts&semi;
359 updated with <command>mkfontscale</command></para>
360 </listitem>
361 </itemizedlist>
362
363 <para>The core X fonts protocol uses names such as
364 <systemitem>-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1</systemitem>.
365 These fonts are rendered by the <application>X</application> server
366 without antialiasing. The server itself uses the "cursor" font for
367 painting the mouse cursor, and the protocol specification requires the
368 font "fixed" to be available.</para>
369
370 <para>Scalable fonts, such as Type1 and TrueType, are read from
371 <filename>fonts.scale</filename> files by the server. The core X font
372 system uses the "freetype" module for non-antialiased rendering of these
373 fonts. Ensure that the "freetype" module is loaded in the
374 <filename>XF86config</filename> or <filename>xorg.conf</filename>
375 file by adding it to the "Module" section:</para>
376
377<screen><literal>Section "Module"
378 ...
379 Load "freetype"
380 ...
381EndSection</literal></screen>
382
383 <para>The character set used is part of the font name, e.g. "-iso8859-1".
384 It is important that applications which support a non-English interface
385 specify the character set correctly so that the proper glyphs are used.
386 This can be controlled through the <application>X</application>
387 resources, which will be described later.</para>
388
389 <para>In some cases, applications rely upon the fonts named "fixed" or
390 something like "9x18". In these cases, it is important that the
391 <filename>fonts.alias</filename> file specifies the correct character
392 set. Users of ISO-8859-<replaceable>X</replaceable> encodings where
393 <replaceable>X</replaceable> != 1 should modify the
394 <filename>/usr/lib/X11/fonts/misc/fonts.alias</filename> file by
395 replacing the "iso8859-1" string with the proper encoding name. This is
396 accomplished by running the following command as the <systemitem
397 class="username">root</systemitem> user, substituting the proper value
398 for <replaceable>&lt;X&gt;</replaceable>:</para>
399
400<screen role="root"><userinput>sed -i 's,iso8859-1\( \|$\),iso8859-<replaceable>&lt;X&gt;</replaceable>\1,g' \
401 /usr/lib/X11/fonts/{75dpi,100dpi,misc}/fonts.alias</userinput></screen>
402
403 <para>Users of Cyrillic fonts have properly defined aliases in
404 <filename>/usr/lib/X11/fonts/cyrillic/fonts.alias</filename>. However,
405 this file will not be used unless the <filename
406 class="directory">/usr/lib/X11/fonts/cyrillic</filename> directory is
407 first in the font search path. Otherwise, the
408 <filename>/usr/lib/X11/fonts/misc/fonts.alias</filename> file will be
409 used.</para>
410
411 </sect3>
412
413 <sect3 id="xft-font-protocol" xreflabel="Xft Font Protocol">
414 <title>Xft Font Protocol</title>
415
416 <indexterm zone="x-setup fonts">
417 <primary sortas="g-truetype">TrueType Fonts</primary>
418 </indexterm>
419
420 <para>Xft provides antialiased font rendering through
421 <application>Freetype</application>, and fonts are controlled from the
422 client side using <application>Fontconfig</application>. The default
423 search path is <filename class="directory">/usr/share/fonts</filename>
424 and <filename class="directory">~/.fonts</filename>.
425 <application>Fontconfig</application> searches directories in its
426 path recursively and maintains a cache of the font characteristics in
427 <filename>fonts.cache-1</filename> files in each directory. If the cache
428 appears to be out of date, it is ignored, and information is (slowly)
429 fetched from the fonts themselves. This cache
430 can be regenerated using the <command>fc-cache</command> command at any
431 time. You can see the list of fonts known by
432 <application>Fontconfig</application> by running the command
433 <command>fc-list</command>.</para>
434
435 <para>The <application>X</application> fonts were not installed in a
436 location known to <application>Fontconfig</application>. This prevents
437 <application>Fontconfig</application> from using the poorly rendered
438 Type 1 fonts or the non-scalable bitmapped fonts. Symlinks were created
439 from the <filename class="directory">OTF</filename> and <filename
440 class="directory">TTF</filename> <application>X</application> font
441 directories to <filename
442 class="directory">/usr/share/fonts/X11-{OTF,TTF}</filename>. This allows
443 <application>Fontconfig</application> to use the OpenType and TrueType
444 fonts provided by <application>X</application> (which are scalable and
445 of higher quality).</para>
446
447 <para><application>Fontconfig</application> uses names such as
448 "Monospace 12" to define fonts. Applications generally use generic font
449 names such as "Monospace", "Sans" and "Serif".
450 <application>Fontconfig</application> resolves these names to a font that
451 has all characters that cover the orthography of the language indicated
452 by the locale settings. Knowledge of these font names is included in
453 <filename>/etc/fonts/fonts.conf</filename>. Fonts that are not listed
454 in this file are still usable by <application>Fontconfig</application>,
455 but they will not be accessible by the generic family names.</para>
456
457 <para>Standard scalable fonts that come with <application>X</application>
458 provide very poor Unicode coverage. You may notice in applications that
459 use <application>Xft</application> that some characters appear as a box
460 with four binary digits inside. In this case, a font set with the
461 available glyphs has not been found. Other times, applications that
462 don't use other font families by default and don't accept substitutions
463 from <application>Fontconfig</application> will display blank lines when
464 the default font doesn't cover the orthography of the user's language.
465 This happens, e.g., with <application>Fluxbox</application> in the
466 ru_RU.KOI8-R locale.</para>
467
468 <para>In order to provide greater Unicode coverage, it is recommended
469 that you install these fonts:</para>
470
471 <itemizedlist>
472 <listitem>
473 <para><ulink url="http://dejavu.sourceforge.net/">DejaVu fonts</ulink>
474 - These fonts are replacements for the Bitstream Vera fonts and
475 provide Latin-based scripts with accents and Cyrillic glyphs.
476 The DejaVu fonts by are not aliased to the generic family names
477 by default, so <filename>/etc/fonts/fonts.conf</filename> will
478 have to be edited for it to be recognized by the generic names such
479 as "Sans". This will be described below.</para>
480 </listitem>
481 <listitem>
482 <para><ulink
483 url="http://download.savannah.nongnu.org/releases/freefont/">FreeFont</ulink>
484 - This set of fonts covers nearly every non-CJK character, but is not
485 visually pleasing. <application>Fontconfig</application> will use it
486 as a last resort to substitute generic font family names.</para>
487 </listitem>
488 <listitem>
489 <para><ulink
490 url="http://corefonts.sourceforge.net/">Microsoft Core fonts</ulink>
491 - These fonts provide slightly worse Unicode coverage than FreeFont,
492 but are better hinted. Be sure to read the license before using
493 them. These fonts are listed in the
494 <filename>/etc/fonts/fonts.conf</filename> aliases by default.</para>
495 </listitem>
496 <listitem>
497 <para><ulink
498 url="http://cle.linux.org.tw/fonts/FireFly">Firefly New Sung font</ulink>
499 - This font provides Chinese coverage. This font is not listed in
500 the <filename>/etc/fonts/fonts.conf</filename> aliases by default.
501 </para>
502 </listitem>
503 <listitem>
504 <para><ulink
505 url="http://cle.linux.org.tw/fonts/Arphic">Arphic fonts</ulink> -
506 A similar set of Chinese fonts to the Firefly New Sung font.
507 These fonts are listed in the
508 <filename>/etc/fonts/fonts.conf</filename> aliases by default.
509 </para>
510 </listitem>
511 <listitem>
512 <para><ulink
513 url="http://sourceforge.jp/projects/efont/">Kochi fonts</ulink> -
514 These provide Japanese characters, and they are listed in the aliases
515 in <filename>/etc/fonts/fonts.conf</filename> by default.</para>
516 </listitem>
517 <listitem>
518 <para><ulink
519 url="http://kldp.net/projects/baekmuk/">Baekmuk fonts</ulink>
520 - These fonts provide Korean coverage, and they are listed in the
521 aliases in <filename>/etc/fonts/fonts.conf</filename> by default.
522 </para>
523 </listitem>
524 </itemizedlist>
525
526 <para>The list above will not provide complete Unicode coverage. For
527 more information, please visit the <ulink
528 url="http://unifont.org/fontguide/">Unicode Font Guide</ulink>.</para>
529
530 <para>As an example, consider the installation of the DejaVu fonts. From
531 the unpacked source directory, run the following commands as the
532 <systemitem class="username">root</systemitem> user:</para>
533
534<screen role="root"><userinput>install -v -d -m755 /usr/share/fonts/dejavu &amp;&amp;
535install -v -m644 *.ttf /usr/share/fonts/dejavu &amp;&amp;
536fc-cache -v /usr/share/fonts/dejavu</userinput></screen>
537
538 </sect3>
539
540 </sect2>
541
542<!-- ================================================== -->
543
544 <sect2>
545 <title>Setting up Keyboards</title>
546
547 <para>In this version of <application>X</application>, non-Latin
548 keyboard layouts do not include Latin configurations as was previous
549 practice. To set up a keyboard for Latin and non-Latin input, change
550 the XkbLayout keyboard driver option in the InputDevice section
551 of the <filename>XF86Config</filename> or <filename>xorg.conf</filename>
552 file. For example:</para>
553
554<screen><literal>Section "InputDevice"
555 Identifier "Keyboard0"
556 Driver "kbd"
557 Option "XkbModel" "pc105"
558 Option "XkbLayout" "en_US,ru"
559 Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll"
560EndSection</literal></screen>
561
562 <para>In this example, you can use the <keycap>Alt+Shift</keycap>
563 combination to switch between keyboard layouts and use the Scroll Lock
564 LED to indicate when the second layout is active.</para>
565
566 </sect2>
567
568<!-- ================================================== -->
569
570 <sect2 id='xdm'>
571 <title>Setting up XDM</title>
572
573 <para><command>xdm</command> provides a graphical logon capability and
574 is normally set up in <filename>/etc/inittab</filename>. Most of the
575 information you need to customize <command>xdm</command> is found in
576 its man page. To execute <command>xdm</command> during bootup, change
577 the initdefault level to 5 and add the following lines to
578 <filename>/etc/inittab</filename>:</para>
579
580 <indexterm zone="x-setup xdm">
581 <primary sortas="b-xdm">xdm</primary>
582 </indexterm>
583
584<screen><literal># Run xdm as a separate service
585x:5:respawn:/usr/X11R6/bin/xdm -nodaemon</literal></screen>
586
587 <para>If <application>Linux-PAM</application> is installed on your
588 system, you should create a PAM entry for <command>xdm</command> by
589 duplicating the <command>login</command> entry using the following
590 command:</para>
591
592 <indexterm zone="x-setup xdm">
593 <primary sortas="e-etc-pam.d/xdm">/etc/pam.d/xdm</primary>
594 </indexterm>
595
596<screen role="root"><userinput>cp -v /etc/pam.d/login /etc/pam.d/xdm</userinput></screen>
597
598 </sect2>
599
600<!-- ================================================== -->
601
602 <sect2 id='x-resources'>
603 <title>Using X Resources</title>
604
605 <para>There are many options that can be set in
606 <application>X</application> and <application>X</application>
607 clients via resources. Typically resources are set in the
608 <filename>~/.Xresources</filename> file.</para>
609
610 <para>The layout of the <filename>~/.Xresources</filename> file
611 consists of a list of specifications in the form of</para>
612
613 <indexterm zone="x-setup x-resources">
614 <primary sortas="e-AA.xresources">~/.Xresources</primary>
615 </indexterm>
616
617<screen><literal>object.subobject[.subobject...].attribute: value</literal></screen>
618
619 <para>Components of a resource specification are linked together by
620 either <emphasis>tight</emphasis>, represented by a dot (.), or
621 <emphasis>loose</emphasis>, represented by an asterisk (*), bindings.
622 A tight binding indicates that the components on either side of the
623 dot must be directly next to each other as defined in a specific
624 implementation. An asterisk is a wildcard character that means that
625 any number of levels in a defined hierarchy can be between the components.
626 For example, X offers two special cursors: redglass and whiteglass. To
627 use one of these resources, you need to add the following line:</para>
628
629<screen><literal>Xcursor.theme: whiteglass</literal></screen>
630
631 <para>However, you can specify the background for all clients with:</para>
632
633<screen><literal>*background: blue</literal></screen>
634
635 <para>More specific resource variables will override less specific
636 names.</para>
637
638 <para>Resource definitions can be found in the man pages for each
639 respective client.</para>
640
641 <para>In order to load your resources, the <command>xrdb</command>
642 program must be called with the appropriate parameters. Typically,
643 the first time resources are loaded, you use:</para>
644
645<screen><userinput>xrdb -load &lt;filename&gt;</userinput></screen>
646
647 <para>To add resources to <application>X</application>'s database
648 in memory, use:</para>
649
650<screen><userinput>xrdb -merge &lt;filename&gt;</userinput></screen>
651
652 <para>The <command>xrdb</command> instruction is usually placed in
653 <filename>~/.xinitrc</filename> or <filename>~/.xsession</filename>.
654 To get more information, see the <command>xrdb</command> man page.</para>
655
656 <indexterm zone="x-setup x-resources">
657 <primary sortas="b-xrdb">xrdb</primary>
658 </indexterm>
659
660 </sect2>
661
662</sect1>
Note: See TracBrowser for help on using the repository browser.