source: x/installing/x-setup.xml@ 852f5146

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 852f5146 was 852f5146, checked in by DJ Lucas <dj@…>, 15 years ago

Removed remainder of XFree86 and mono Xorg references.

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

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