aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/handbook/x11/chapter.sgml
blob: 6b84252917d43143c934ffe7cbe1e2d8e1d0e583 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
<!--
     The FreeBSD Documentation Project
     The FreeBSD Simplified Chinese Project

     Original Revision: 1.194
     $FreeBSD$
-->

<chapter id="x11">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Ken</firstname>
	<surname>Tom</surname>
	<contrib>根据 X.Org 的 X11 服务修改此文档 </contrib>
      </author>
      <author>
	<firstname>Marc</firstname>
	<surname>Fonvieille</surname>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>X Window 系统</title>

  <sect1 id="x11-synopsis">
    <title>概述</title>

    <para>FreeBSD 使用 X11 来为用户提供功能强大的图形用户界面。
      X11 是一种可以免费使用的 X 视窗系统,
      其实现包括 <application>&xorg;</application><application>&xfree86;</application> (以及一些其他这里没有讨论的软件包)。 &os; 在包括
      &os;&nbsp;5.2.1-RELEASE
      在内的版本之前, 都默认安装
      <application>&xfree86;</application>, 一种由 &xfree86; Project, Inc.
      发布的 X11 服务。 从 &os;&nbsp;5.3-RELEASE 开始,
      默认并且为官方支持的 X11 变成了
      <application>&xorg;</application>, 它是由  X.Org
      基金会开发的 X11 服务, 采用与 &os; 类似的授权。 此外,
      也有一些用于 &os; 的商业 X 服务器。</para>

    <para>这章将介绍 X11 的安装和配置, 并着重强调
      <application>&xorg;</application> 的 &xorg.version; 版。
      如欲了解关于 <application>&xfree86;</application>
      的详细信息 (在较早的 &os; 版本中,
      <application>&xfree86;</application> 是默认的 X11
      软件包) 或较早版本的 <application>&xorg;</application>,
      则可以访问存档的旧版 &os; 使用手册, 其网址为 <ulink
      url="http://docs.FreeBSD.org/doc/"></ulink></para>

    <para>欲了解 X11 所支持的显示卡等硬件,
      请访问 <ulink
      url="http://www.x.org/">&xorg;</ulink> 网站。</para>

    <para>在阅读完这一章后,您将会了解:</para>

    <itemizedlist>
      <listitem>
        <para>X 视窗系统的不同组件,它们是如何协同工作的。</para>
      </listitem>

      <listitem>
	<para>如何安装和配置 X11。</para>
      </listitem>

      <listitem>
        <para>如何安装和使用不同的窗口管理器。</para>
      </listitem>

      <listitem>
	<para>如何在 X11 中使用 &truetype; 字体。</para>
      </listitem>

      <listitem>
        <para>如何为您的系统设置图形登录
          (<application>XDM</application>)。</para>
      </listitem>
    </itemizedlist>

    <para>在阅读这一章之前,您应该:</para>

    <itemizedlist>
      <listitem><para>知道如何安装额外的第三方应用程序(<xref linkend="ports">)。
      </para></listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="x-understanding">
    <title>理解 X</title>

    <para>对于那些熟悉其他图形环境,比如
       &microsoft.windows; 或者
      &macos; 的用户来说,第一次使用 X 可能会感觉很惊讶。</para>

    <para>通常您并不需要深入了解各种 X 组件的作用以及它们之间的相互影响,
      不过, 了解一些关于它们的基础知识, 有助于更好地利用 X 的强大功能。</para>

    <sect2>
      <title>为什么要使用 X?</title>

      <para>X 不是第一个为 &unix; 而开发的视窗系统, 但它是最流行的。
        X 的原始开发团队在开发 X 之前就已经在另外一个视窗系统上工作了。
        那个系统的名字叫做
        <quote>W</quote> (就是 <quote>Window</quote>)。X 只是罗马字母中 W 后面
        的一个。</para>

      <para>X 可以被叫做 <quote>X</quote>, <quote>X Window 系统</quote>,
        <quote>X11</quote>, 等等。把 X11 称做
        <quote>X Windows</quote> 可能会冒犯某些人;
        查看 &man.X.7; 可以了解更多的信息。</para>
    </sect2>

    <sect2>
      <title>X 客户机/服务器模型</title>

      <para>X 一开始就是针对网络而设计的,所以
	采用了 <quote>client-server</quote> 模型。在 X 模型中,
	<quote>X server</quote> 运行在有键盘,显示器,鼠标的计算机上。
	服务器用来管理显示信息,处理来自键盘和鼠标的输入信息,
	并与其他输入输出设备交互 (比如作为输入设备的 <quote>tablet</quote>,
	或者作为输出设备的投影仪)。
	每一个 X 应用程序 (比如 <application>XTerm</application>, 或者
	<application>&netscape;</application>) 就是一个 <quote>客户程序 (client)</quote>。
	客户程序给服务器发送信息,如 <quote>请在这些坐标上画一个窗口</quote>,
	而服务器则返回处理信息, 如
	<quote>用户刚刚点击了 OK 按钮</quote></para>

      <para>如果您家或办公环境中只有一台使用 FreeBSD 的计算机,
	就只能在同一台计算机上运行 X server 和 X client 了。 然而, 如果您有很多运行
	FreeBSD 的机器, 您可以在您的桌面计算机上运行 X server,
	而在比较高档的服务器上运行 X 应用程序。 在这样的环境中, X server 和 X client
	之间的通信就可以通过网络来进行。</para>

      <para>这可能会让一些人感到困惑, 因为 X 的术语和他们料想的有些不同。
	他们以为 <quote>X server</quote> 是运行在功能强大的大型机上的,而
	<quote>X client</quote> 是运行在他们桌面上的计算机上的。</para>

      <para>记住,X server 是有键盘和显示器的那台计算机,而
	 X client 是那些显示窗口的程序。</para>

      <para>Client 和 server 不一定都要运行在同一种操作系统上,
	它们甚至无需在同一种类型的计算机上运行。 在 &microsoft.windows; 或
	Apple 公司的 &macos; 上运行 X server 也是可以的,
	在它们上面也有很多免费的和商业化的应用程序。</para>
    </sect2>

    <sect2>
      <title>窗口管理器</title>

      <para>X 的设计哲学很像 &unix; 的设计哲学,
        <quote>tools, not policy</quote>。这就意味着 X 不会试图去规定任务应该如何
        去完成,而是,只给用户提供一些工具,至于决定如何使用这些工具是用户自己的
        事情。</para>

      <para>这套哲学扩展了 X,它不会规定窗口在屏幕上应该是什么样子,要如何移动鼠标,
      应该用什么键来切换窗体 (比如,
        <keycombo action="simul">
          <keycap>Alt</keycap>
          <keycap>Tab</keycap>
        </keycombo>按键,在 &microsoft.windows; 环境中的作用), 每个窗口的工具条应该
        看起来像什么,他们是否应该有关闭按钮等等。</para>

      <para>实际上,X 行使了一种叫做
        <quote>窗口管理器</quote>的应用程序的职责。有很多这样的程序可用:
          <application>AfterStep</application>,
        <application>Blackbox</application>, <application>ctwm</application>,
        <application>Enlightenment</application>,
        <application>fvwm</application>, <application>Sawfish</application>,
        <application>twm</application>,
        <application>Window Maker</application>,等等。每一个窗口管理器
        都提供了不同的界面和观感;其中一些还支持
        <quote>虚拟桌面</quote>;有一些允许您可以定制一些键来管理您的桌面;
        一些有<quote>开始</quote>
        按钮,或者其他类似的设计;一些是 <quote>可定制主题的(themeable)</quote>,
        通过安装新的主题, 可以完全改变外观。 这些以及很多其他的窗口管理器,
        都可以在 Ports Collection 的
        <filename>x11-wm</filename> 分类目录里找到。</para>

      <para>另外,<application>KDE</application><application>GNOME</application> 桌面环境都有他们自己的窗口管理器
	与桌面集成。</para>

      <para>每个窗口管理器也有不同的配置机制;有些需要手工来写配置文件,
       而另外一些则可以使用 GUI 工具来完成大部分的配置任务, 举例而言,
        (<application>Sawfish</application>) 就使用 Lisp 语言书写配置文件。</para>

      <note>
        <title>焦点策略</title>

        <para>窗口管理器的另一个特性是鼠标的 <quote>focus policy</quote>。
        每个窗口系统都需要有一个选择窗口的方法来接受键盘的输入信息,以及当前
        哪个窗口处于可用状态。</para>

        <para>您通常比较熟悉的是一个叫做 <quote>click-to-focus</quote> 的焦点策略。
          这是 &microsoft.windows; 使用的典型焦点策略,也就是您在一个窗口上点击
          一下鼠标,这个窗口就处于当前可用的状态。</para>

        <para>X 不支持一些特殊的焦点策略。确切地说,窗口管理器控制着在什么时候哪个窗口
        拥有焦点。不同的窗口管理器支持不同的焦点方案。它们都支持点击即获得焦点,
        而且它们中的大多数都支持好几种方案。</para>

        <para>最流行的焦点策略:</para>

        <variablelist>
          <varlistentry>
            <term>focus-follows-mouse</term>

            <listitem>
              <para>鼠标指示器下面的窗口就是获得焦点的窗口。
              这个窗口不一定位于其他所有窗口之上。
              通过将鼠标移到另一个窗口就可以改变焦点,
              而不需要在它上面点击。
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>sloppy-focus</term>

            <listitem>
              <para>这种方式是对 focus-follows-mouse 策略的一个小小扩展。对于
              focus-follows-mouse, 如果您把鼠标移到了根窗口(或桌面背景)上,
              则所有的其它窗口都会失去焦点, 而相关的全部键盘输入也会丢失。
              如果选择了 sloppy-focus, 则只有当指针进入新窗口时,
              窗口焦点才会发生变化, 而当退出当前窗口时是不会变化的。
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>click-to-focus</term>

            <listitem>
              <para>当前窗口由鼠标点击来选择。窗口被<quote>突出显示</quote> ,
              出现在所有其他窗口的前面。即使指针被移向了另一个窗口,所有的键盘输入
              仍会被这个窗口接收。
              </para>
            </listitem>
          </varlistentry>
        </variablelist>

        <para>许多窗口管理器支持其他的策略,与这些相比又有些变化。您可以看具体
        窗口管理器的文档。
        </para>
      </note>
    </sect2>

    <sect2>
      <title>窗口部件</title>

      <para>提供工具而非策略的 X 方法使得在每个应用程序屏幕上看到的窗口部件得到了
      大大的扩展。</para>

      <para><quote>Widget</quote> 只是针对用户接口中所有列举项目的一个术语,它
      可以用某种方法来点击或操作;如按钮,复选框,单选按钮,图标,列表框等等。
       &microsoft.windows; 把这些叫做<quote>控件</quote></para>

      <para>&microsoft.windows; 和苹果公司的 &macos; 都有一个严格的窗口部件策略。
      应用程序开发者被建议确保他们的应用程序共享一个普通的所见即所得的用户界面。
      对于 X,它并不要求一个特殊的图形风格或一套相结合的窗口部件集。</para>

      <para>这样的结果是您不能期望 X 应用程序只拥有一个普通的所见即所得的界面。
      有很多的流行的窗口部件集设置,包括来自于 MIT 的 Athena,
        <application>&motif;</application> (模仿
        &microsoft.windows; 的窗口风格, 所有部件都具有斜边和3种灰色度),
        <application>OpenLook</application>,
        等等。</para>

      <para>如今, 绝大多数比较新的 X 应用程序采用一组新式的窗口设计,
        这包括 <application>KDE</application> 所使用的 Qt,
        以及 <application>GNOME</application> 所使用的 GTK+。
        在这样一种窗口系统下,&unix; 桌面的一些所见即所得特性作了一些收敛,
        以使初学者感到更容易一些。</para>
    </sect2>
  </sect1>

  <sect1 id="x-install">
    <title>安装 X11</title>

    <para><application>&xorg;</application>&os;
      上的默认 X11 实现。 <application>&xorg;</application>
      是由 X.Org 基金会发行的开放源代码 X Window 系统实现中的 X 服务。
      <application>&xorg;</application> 基于
      <application>&xfree86&nbsp;4.4RC2</application> 和 X11R6.6 的代码。
      从 &os; Ports 套件可以安装 <application>&xorg;</application> 
      的 &xorg.version; 版本。</para>

    <para>如果需要从 Ports Collection 编译和安装 <application>&xorg;</application></para>

    <screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

    <note>
      <para>要完整地编译 <application>&xorg;</application> 则需要至少
	4&nbsp;GB 的剩余磁盘空间。</para>
    </note>

    <para>另外 X11 也可以直接从 package 来安装。
      我们提供了可以与 &man.pkg.add.1; 工具配合使用的 X11 安装包。
      如果从远程下载和安装, 在使用
      &man.pkg.add.1; 时请不要指定版本号。
      &man.pkg.add.1; 会自动地下载最新版本的安装包。</para>

    <para>想要从 package 安装
      <application>&xorg;</application>, 简单地输入下面的命令:</para>

    <screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen>

    <note><para>上面的例子介绍了如何安装完整的
      X11 软件包, 包括服务器端,客户端,字体等等。
      此外, 也有一些单独的 X11 的 ports 和 packages.</para></note>

    <para>这一章余下的部分将会讲解如何配置
      X11, 以及如何设置一个高效的桌面环境。</para>
  </sect1>

  <sect1 id="x-config">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Christopher</firstname>
          <surname>Shumway</surname>
          <contrib>Contributed by </contrib>
          <!-- July 2001 -->
        </author>
      </authorgroup>
    </sect1info>
    <title>配置 X11</title>


    <indexterm><primary>&xorg;</primary></indexterm>
    <indexterm><primary>X11</primary></indexterm>

    <sect2>
      <title>开始之前</title>

      <para>在配置 X11 之前,
        您需要了解所安装的系统的下列信息:</para>

      <itemizedlist>
        <listitem><para>显示器规格</para></listitem>
        <listitem><para>显示卡的芯片类型</para></listitem>
        <listitem><para>显示卡的显存容量</para></listitem>
      </itemizedlist>

      <indexterm><primary>水平刷新率</primary></indexterm>
      <indexterm><primary>垂直刷新率</primary></indexterm>

      <para>显示器的规格被 X11 用来决定显示的分辨率和刷新率。
        这些规格通常可以从显示器所带的文档中,
        以及制造商的网站找到。
        需要知道两个数字范围: 垂直刷新率和水平刷新率。</para>

      <para>显示卡的芯片类型将决定
        X11 使用什么模块来驱动图形硬件。
        尽管系统能自动检测出绝大多数的硬件,
        但事先了解在自动检测出错的时候还是很有用处的。</para>

      <para>显示卡的显存大小决定了系统支持的分辨率和颜色深度。
        了解这些限制非常重要。</para>
    </sect2>

    <sect2>
      <title>配置 X11</title>

      <para>对于 <application>&xorg;</application> 7.3 这个版本,
	可以不需要任何的配置文件就能运行,在提示符下键如下命令:</para>

      <screen>&prompt.user; <userinput>startx</userinput></screen>

      <para><application>&xorg;</application> 7.4 开始, 可以使用
        <acronym>HAL</acronym> 自动检测键盘和鼠标。Ports
	<filename role="package">sysutils/hal</filename><filename role="package">devel/dbus</filename> 将被作为
        <filename role="package">x11/xorg</filename> 所依赖的包安装进系统。
        并且需要在 <filename>/etc/rc.conf</filename> 文件中启用:</para>

      <programlisting>hald_enable="YES"
dbus_enable="YES"</programlisting>

      <para>在更深入的配置 <application>&xorg;</application> 以前,
        需要运行这些服务 (手工启动或者重启机器)。</para>

      <para>自动配置对于某些硬件可能不起作用或者无法做到期望的配置。
        在这种情况下就有必要做一些手工配置。</para>

      <note>
        <para>诸如 <application>GNOME</application><application>KDE</application><application>Xfce</application> 之类的桌面环境,
          大多都提供了一些允许用户非常易用的工具,
          来设置像分辨率这样的显示参数。
          所以如果你觉得默认的配置并不适合,
          而且你打算安装一个这样的桌面环境,
          那么就请继续完成桌面环境的安装,
          并使用适合的显示设置工具。</para>
      </note>

      <para>配置 X11 需要一些步骤。
        第一步是以超级用户的身份建立初始的配置文件:</para>

      <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen>

      <para>这会在 <filename>/root</filename> 中生成一个叫做
	<filename>xorg.conf.new</filename> 的配置文件
	(无论您使用 &man.su.1; 或直接登录,
	都会改变默认的 <envar>$HOME</envar> 目录变量)。
	X11 程序将尝试探测系统中的图形硬件,并将探测到的硬件信息写入配置文件,
        以便加载正确的驱动程序。</para>

      <para>下一步是测试现存的配置文件,
        以确认 <application>&xorg;</application>
        能够同系统上的图形设备正常工作。
        对于 <application>&xorg;</application> 7.3 或者之前的版本,
        键入:</para>

      <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen>

      <para><application>&xorg;</application> 7.4 和更高的版本开始,
        这个测试将显示出一个黑色的屏幕,对于判断 X11 是否能正常工作会造成一些困扰。
        可以通过 <option>retro</option> 选项使用旧的模式:</para>

      <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new -retro</userinput></screen>

      <para>如果用户看到一个黑灰的格子和一个 X 形的鼠标指针,那么配置就是成功的。
        要退出测试, 只要同时按下
        <keycombo action="simul">
          <keycap>Ctrl</keycap>
          <keycap>Alt</keycap>
          <keycap>Backspace</keycap>
        </keycombo></para>

	<note><para>如果鼠标工作不正常, 则需要先配置它。
	  参见 &os; 安装一章中的 <xref linkend="mouse"></para></note>

      <indexterm><primary>X11 调优</primary></indexterm>

      <note>
        <para>此组合键在 <application>&xorg;</application> 7.3
          或者之前的版本中默认启用。 在 7.4 或以后的版本中开启此选项,
          你可以在任何的 X 终端模拟器中键入以下的命令:</para>

	<screen>&prompt.user; <userinput>setxkbmap -option terminate:ctrl_alt_bksp</userinput></screen>

        <para>或者为 <application>hald</application> 创建一个叫作
          <filename>x11-input.fdi</filename> 的键盘配置文件并保存至
          <filename class="directory">/usr/local/etc/hal/fdi/policy</filename>
          目录。 这个文件需包含以下这些:</para>

	<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
  &lt;device&gt;
    &lt;match key="info.capabilities" contains="input.keyboard"&gt;
	  &lt;merge key="input.x11_options.XkbOptions" type="string"&gt;terminate:ctrl_alt_bksp&lt;/merge&gt;
    &lt;/match&gt;
  &lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>

        <para>你可能需要重启你的机器来使得 <application>hald</application>
          重新读取这个文件。</para>
      </note>

      <para>如果鼠标无法正常工作, 在继续深入之前需要先配置它。
        参阅 &os; 安装一章中的 <xref linkend="mouse">。 另外,
          从 7.4 版本开始, <filename>xorg.conf</filename> 中的
          <literal>InputDevice</literal> 部分将被忽略,
          这有助于自动检测硬件设备。 可以在这个文件中的
          <literal>ServerLayout</literal> 或者 <literal>ServerFlags</literal>
          加入以下选项使用旧的模式:</para>

      <programlisting>Option "AutoAddDevices" "false"</programlisting>

      <para>输入设备连同其他需要的选项 (比如, 键盘布局切换)
        就可以像在之前的版本中的那样配置了。</para>

      <note>
        <para>正如前面所提到的, 自版本 7.4 开始 <application>hald</application>
          守护进程默认自动检测你的键盘。 可能检测出你的键盘布局或型号有差异,
          在桌面环境中, 比如 <application>GNOME</application><application>KDE</application> 或者
          <application>Xfce</application> 提供了工具来配置键盘。
          另一方面, 也可在 &man.setxkbmap.1; 工具的帮助下或者通过
          <application>hald</application> 的配置文件来直接设置键盘的属性。</para>

        <para>举例来说, 如果某人想要使用一个 PC 102 键法语布局的键盘,
          我们就需要为 <application>hald</application> 创建一个配置文件,
          叫作 <filename>x11-input.fdi</filename> 并保存入 <filename
	  class="directory">/usr/local/etc/hal/fdi/policy</filename>
          目录。 这个文件需要包含如下这些:</para>

	<programlisting>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;deviceinfo version="0.2"&gt;
  &lt;device&gt;
    &lt;match key="info.capabilities" contains="input.keyboard"&gt;
	  &lt;merge key="input.x11_options.XkbModel" type="string"&gt;pc102&lt;/merge&gt;
	  &lt;merge key="input.x11_options.XkbLayout" type="string"&gt;fr&lt;/merge&gt;
    &lt;/match&gt;
  &lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>

        <para>如果这个文件已经存在, 只要把键盘配置相关的部分拷贝加入即可。</para>

        <para>你需要重启你的机器使 <application>hald</application>
          读入此文件。</para>

        <para>也可以在 X 模拟终端或一个脚本中使用以下的命令达到相同的效果:</para>

	<screen>&prompt.user; <userinput>setxkbmap -model pc102 -layout fr</userinput></screen>

        <para><filename>/usr/local/share/X11/xkb/rules/base.lst</filename>
          列出了各种不同的键盘, 布局和可用的选项。</para>
      </note>

      <indexterm><primary>X11 tuning</primary></indexterm>

      <para>接下来是调整 <filename>xorg.conf.new</filename>
        配置文件并作测试。 用文本编辑器如
        &man.emacs.1; 或 &man.ee.1; 打开这个文件。 要做的第一件事是为当前系统的显示器设置刷新率。
        这些值包括垂直和水平的同步频率。 把它们加到
        <filename>xorg.conf.new</filename><literal>"Monitor"</literal> 小节中:</para>

      <programlisting>Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    30-107
        VertRefresh  48-120
EndSection</programlisting>

      <para>在配置文件中也有可能没有 <literal>HorizSync</literal><literal>VertRefresh</literal>。
        如果是这样的话, 就只能手动添加, 并在
        <literal>HorizSync</literal><literal>VertRefresh</literal>
        后面设置合适的数值了。 在上面的例子中, 给出了相应的显示器的参数。</para>

      <para>X 能够使用显示器所支持的 DPMS (能源之星) 功能。
        &man.xset.1; 程序可以控制超时时间, 并强制待机、挂起或关机。
        如果希望启用显示器的 DPMS 功能, 则需要把下面的设置添加到 monitor 节中:</para>

      <programlisting>
        Option       "DPMS"</programlisting>

      <indexterm>
        <primary><filename>xorg.conf</filename></primary>
      </indexterm>

      <para>关闭 <filename>xorg.conf.new</filename>
        之前还应该选择默认的分辨率和色深。
        这是在 <literal>"Screen"</literal> 小节中定义的:</para>

      <programlisting>Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection</programlisting>

      <para><literal>DefaultDepth</literal> 关键字描述了要运行的默认色深。
        这可以通过 &man.Xorg.1; 的
        <option>-depth</option> 命令行开关来替代配置文件中的设置。
        <literal>Modes</literal> 关键字描述了给定颜色深度下屏幕的分辨率。
        需要说明的是, 目标系统的图形硬件只支持由 VESA 定义的标准模式。
        前面的例子中, 默认色深是使用 24位色。
        在采用这个色深时, 允许的分辨率是 1024x768。</para>

      <para>最后就是将配置文件存盘, 并使用前面介绍的测试模式测试一下。</para>

      <note>
	<para>在发现并解决问题的过程中, 包含了与 X11 服务器相关的各个设备的信息的
	  X11 日志文件会为您发现和排除问题有所帮助。
	  <application>&xorg;</application> 日志的文件名是
	  <filename>/var/log/Xorg.0.log</filename> 这样的格式。
	  实际的日志文件名可能是 <filename>Xorg.0.log</filename><filename>Xorg.8.log</filename> 等等。</para>
      </note>

      <para>如果一切准备妥当, 就可以把配置文件放到公共的目录中了。
        您可以在 &man.Xorg.1; 里面找到具体位置。
	这个位置通常是 <filename>/etc/X11/xorg.conf</filename><filename>/usr/local/etc/X11/xorg.conf</filename></para>

      <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen>

      <para>现在已经完成了 X11 的配置全过程。 <application>&xorg;</application>
	可以通过 &man.startx.1; 工具来启动。
	除此之外, X11 服务器也可以用
        &man.xdm.1; 来启动。</para>
    </sect2>

    <sect2>
      <title>高级配置主题</title>

      <sect3>
        <title>配置 &intel; i810 显示芯片组</title>

        <indexterm><primary>Intel i810 显示芯片</primary></indexterm>

        <para>配置Intel i810芯片组的显示卡需要有针对 X11
	的能够用来驱动显示卡的 <devicename>agpgart</devicename> AGP程序接口。
	请参见 &man.agp.4; 驱动程序的联机手册了解更多细节。</para>

        <para>这也适用于其他的图形卡硬件配置。
          注意如果系统没有将 &man.agp.4;
	  驱动程序编译进内核,尝试用 &man.kldload.8; 加载模块是无效的。
	  这个驱动程序必须编译进内核或者使用 <filename>/boot/loader.conf</filename>
	   在启动时加载进入内核。</para>
      </sect3>

      <sect3>
	<title>添加宽屏平板显示器</title>

	<indexterm><primary>widescreen flatpanel configuration</primary></indexterm>

	<para>这一节假定您了解一些关于高级配置的知识。
	  如果使用前面的标准配置工具不能产生可用的配置,
	  则在日志文件中提供的信息应该足以修正配置使其正确工作。
	  如果需要的话, 您应使用一个文本编辑器来完成这项工作。</para>

	<para>目前的宽屏 (WSXGA、 WSXGA+、 WUXGA、 WXGA、 WXGA+, 等等)
	  支持 16:1010:9 或一些支持不大好的显示比例。 常见的一些
	  16:10 比例的分辨率包括:</para>

	<itemizedlist>
	  <listitem><para>2560x1600</para></listitem>
	  <listitem><para>1920x1200</para></listitem>
	  <listitem><para>1680x1050</para></listitem>
	  <listitem><para>1440x900</para></listitem>
	  <listitem><para>1280x800</para></listitem>
	</itemizedlist>

	<para>有时, 也可以简单地把这些分辨率作为 <literal>Section
	  "Screen"</literal> 中的 <literal>Mode</literal> 来进行配置,
	  类似下面这样:</para>

	<programlisting>Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection</programlisting>

	<para><application>&xorg;</application> 能够自动地通过 I2C/DDC 信息来自动获取宽屏显示器的分辨率信息,
	  并处理显示器支持的频率和分辨率。</para>

	<para>如果驱动程序没有对应的 <literal>ModeLines</literal>,
	  就需要给 <application>&xorg;</application> 一些提示了。
	  使用 <filename>/var/log/Xorg.0.log</filename> 能够提取足够的信息,
	  就可以写一个可用的 <literal>ModeLine</literal> 了。
	  这类信息如下所示:</para>

	<programlisting>(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz</programlisting>

	<para>这些信息称做 EDID 信息。 从中建立
	  <literal>ModeLine</literal> 只是把这些数据重新排列顺序而已:</para>

	<programlisting>ModeLine &lt;name&gt; &lt;clock&gt; &lt;4 horiz. timings&gt; &lt;4 vert. timings&gt;</programlisting>

	<para>如此, 本例中的 <literal>Section "Monitor"</literal> 中的 <literal>ModeLine</literal>
	  应类似下面的形式:</para>

	<programlisting>Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection</programlisting>

	<para>经过简单的编辑步骤之后, X 就可以在您的宽屏显示器上启动了。</para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="x-fonts">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Murray</firstname>
          <surname>Stokely</surname>
          <contrib>供稿</contrib>
        </author>
      </authorgroup>
    </sect1info>
    <title>在 X11 中使用字体</title>

    <sect2 id="type1">
    <title>Type1 字体</title>
    <para>X11 使用的默认字体不是很理想。
    大型的字体显得参差不齐,看起来很不专业, 并且, 在
    <application>&netscape;</application> 中, 小字体简直无法看清。
    有好几种免费、 高质量的字体可以很方便地用在 X11 中。 例如,URW字体集合
    (<filename role="package">x11-fonts/urwfonts</filename>) 就包括了高质量的
    标准 type1 字体 (<trademark class="registered">Times Roman</trademark>,
    <trademark class="registered">Helvetica</trademark><trademark class="registered">Palatino</trademark> 和其他一些)。 在 Freefont 集合中
    (<filename role="package">x11-fonts/freefonts</filename>) 也包括更多的字体,
    但它们中的绝大部分使用在图形软件中,如
     <application>Gimp</application>,在屏幕字体中使用并不完美。另外,
     只要花很少的功夫,可以将
    <application>&xfree86;</application> 配置成能使用
    &truetype; 字体:请参见后面的
    <link linkend="truetype">&truetype; 字体一节</link></para>

    <para>要安装上面的Type1字体,您只需要运行下面的命令:</para>

    <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

    <para>freefont 或其他的字库和上面所说的大体类似。 为了让 X
      服务器能够检测到这些字体, 需要在
      X 服务器的配置文件 (<filename>/etc/X11/xorg.conf</filename>)
      中增加下面的配置:</para>

      <programlisting>FontPath "/usr/local/lib/X11/fonts/URW/"</programlisting>

      <para>或者,也可以在命令行运行:</para>

      <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/URW</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>

      <para>这样会起作用,但是当 X 会话结束后就会丢失,
    除非它被添加到启动文件 (<filename>~/.xinitrc</filename> 中,
    针对一个寻常的 <command>startx</command> 会话,或者当您通过一个类似
      <application>XDM</application> 的图形登录管理器登录时添加到
     <filename>~/.xsession</filename> 中)。
    第三种方法是使用新的
    <filename>/usr/local/etc/fonts/local.conf</filename> 文件: 查看
     <link linkend="antialias">anti-aliasing</link> 章节。
    </para>
    </sect2>

    <sect2 id="truetype">
    <title>&truetype; 字体</title>

    <indexterm><primary>TrueType 字体</primary></indexterm>
    <indexterm><primary>fonts (字体)</primary>
      <secondary>TrueType</secondary>
    </indexterm>

    <para><application>&xorg;</application> 已经内建了对
    &truetype; 字体的支持。有两个不同的模块能够启用这个功能。
    在这个例子中使用 freetype 这个模块,因为它与其他的字体描绘后端
    是兼容的。要启用 freetype 模块,只需要将下面这行添加到
    <filename>/etc/X11/xorg.conf</filename> 文件的
    <literal>"Module"</literal> 部分。</para>

    <programlisting>Load "freetype"</programlisting>

    <para>现在,为 &truetype; 字体创建一个目录 (比如,
      <filename>/usr/local/lib/X11/fonts/TrueType</filename>)
      然后把所有的 &truetype; 字体复制到这个目录。记住您不能直接从
       &macintosh; 计算机中提取 &truetype; 字体;
      能被 X11 使用的必须是
       &unix;/&ms-dos;/&windows; 格式的。
      一旦您已经将这些文件复制到了这个目录, 就可以用
      <application>ttmkfdir</application> 来创建
      <filename>fonts.dir</filename> 文件,
      以便让X字体引擎知道您已经安装了这些新文件。
      <command>ttmkfdir</command> 可以在 FreeBSD
      Ports 套件中的
      <filename role="package">x11-fonts/ttmkfdir</filename> 中找到。</para>

    <screen>&prompt.root; <userinput>cd /usr/local/lib/X11/fonts/TrueType</userinput>
&prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen>

    <para>现在把 &truetype; 字体目录添加到字体路径中。
      这和上面 <link linkend="type1">Type1</link> 字体的步骤是一样的,
      那就是,使用</para>

    <screen>&prompt.user; <userinput>xset fp+ /usr/local/lib/X11/fonts/TrueType</userinput>
&prompt.user; <userinput>xset fp rehash</userinput></screen>

    <para>或者把 <literal>FontPath</literal> 这行加到
       <filename>xorg.conf</filename> 文件中。</para>

      <para>就是这样。现在 <application>&netscape;</application>,
        <application>Gimp</application>,
        <application>&staroffice;</application> 和其他所有的 X 应用程序
        应该可以认出安装的 &truetype;
        字体。一些很小的字体(如在 Web 页面上高分辨率显示的文本)
        和一些很大的字体(在
        <application>&staroffice;</application> 下) 现在看起来已经很好了。

        </para>
    </sect2>

    <sect2 id="antialias">
    <sect2info>
      <authorgroup>
        <author>
          <firstname>Joe Marcus</firstname>
          <surname>Clarke</surname>
          <contrib>Updated by </contrib>
          <!-- May 2003 -->
        </author>
      </authorgroup>
    </sect2info>
    <title>Anti-Aliased 字体</title>

    <indexterm><primary>anti-aliased fonts</primary></indexterm>
    <indexterm><primary>fonts</primary>
      <secondary>anti-aliased</secondary></indexterm>

    <para>X11 从 <application>&xfree86;</application> 4.0.2 开始支持字体的反走样。
      但是, 字体配置在
      <application>&xfree86;</application> 4.3.0 之前是非常繁琐的。
      从 <application>&xfree86;</application> 4.3.0 开始,
      对于所有支持 Xft 的应用程序, 所有放到 X11
      <filename>/usr/local/lib/X11/fonts/</filename><filename>~/.fonts/</filename> 中的字体都自动地被加入反走样支持。
      并不是所有的应用程序都支持 Xft, 但已经有相当多的程序提供 Xft 支持了。
      支持 Xft 的应用程序包括 Qt 2.3 以及更高版本
      (用以开发 <application>KDE</application> 桌面的工具包)、
      GTK+ 2.0 和更高版本 (用于开发
      <application>GNOME</application> 桌面的工具包), 以及
      <application>Mozilla</application> 1.2 和更高版本。
    </para>

    <para>要控制哪些字体是 anti-aliased,或者配置 anti-aliased 特性,
      创建(或者编辑,如果文件已经存在的话)文件
      <filename>/usr/local/etc/fonts/local.conf</filename>。Xft 字体系统的几个
      高级特性都可以使用这个文件来调节;
      这一部分只描述几种最简单的情况。要了解更多的细节,请查看
      &man.fonts-conf.5;.</para>

    <indexterm><primary>XML</primary></indexterm>

    <para>这个文件一定是 XML 格式的。注意确保所有的标签都完全的关闭掉。
      这个文件以一个很普通的 XML 头开始, 后跟一个 DOCTYPE 定义,
      接下来是 <literal>&lt;fontconfig&gt;</literal> 标签:</para>

    <programlisting>
      &lt;?xml version="1.0"?&gt;
      &lt;!DOCTYPE fontconfig SYSTEM "fonts.dtd"&gt;
      &lt;fontconfig&gt;
    </programlisting>

    <para>像前面所做的那样,在
      <filename>/usr/local/lib/X11/fonts/</filename><filename>~/.fonts/</filename> 目录下的所有字体已经可以被支持 Xft 的
      应用程序使用了。如果您想添加这两个目录以外的其他路径,
      简单的添加下面这行到
      <filename>/usr/local/etc/fonts/local.conf</filename>文件中:</para>

    <programlisting>&lt;dir&gt;/path/to/my/fonts&lt;/dir&gt;</programlisting>

    <para>添加了新的字体,尤其是添加了新的字体目录后,
      您应该运行下面的命令重建字体缓存:</para>

    <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen>

    <para>Anti-aliasing 会让字体边缘有些模糊,这样增加了非常小的文本的可读性,
      并从大文本字体中删除 <quote>锯齿</quote>。
      但如果使用普通的文本, 则可能引起眼疲劳。
      要禁止 14磅 以下字体的反走样, 需要增加如下配置:</para>

      <programlisting>        &lt;match target="font"&gt;
            &lt;test name="size" compare="less"&gt;
                &lt;double&gt;14&lt;/double&gt;
            &lt;/test&gt;
            &lt;edit name="antialias" mode="assign"&gt;
                &lt;bool&gt;false&lt;/bool&gt;
            &lt;/edit&gt;
        &lt;/match&gt;
        &lt;match target="font"&gt;
            &lt;test name="pixelsize" compare="less" qual="any"&gt;
                &lt;double&gt;14&lt;/double&gt;
            &lt;/test&gt;
            &lt;edit mode="assign" name="antialias"&gt;
                &lt;bool&gt;false&lt;/bool&gt;
            &lt;/edit&gt;
        &lt;/match&gt;</programlisting>

    <indexterm><primary>fonts</primary>
      <secondary>spacing</secondary></indexterm>

    <para>用 anti-aliasing 来间隔一些等宽字体也是不适当的。
      这似乎是 <application>KDE</application> 的一个问题。
      要修复这个问题需要确保每个字体之间的间距保持在100。
      加入下面这些行:</para>

     <programlisting>       &lt;match target="pattern" name="family"&gt;
           &lt;test qual="any" name="family"&gt;
               &lt;string&gt;fixed&lt;/string&gt;
           &lt;/test&gt;
           &lt;edit name="family" mode="assign"&gt;
               &lt;string&gt;mono&lt;/string&gt;
           &lt;/edit&gt;
        &lt;/match&gt;
        &lt;match target="pattern" name="family"&gt;
            &lt;test qual="any" name="family"&gt;
                &lt;string&gt;console&lt;/string&gt;
            &lt;/test&gt;
            &lt;edit name="family" mode="assign"&gt;
                &lt;string&gt;mono&lt;/string&gt;
            &lt;/edit&gt;
        &lt;/match&gt;</programlisting>

      <para>(这里把其他普通的修复的字体作为
        <literal>"mono"</literal>),然后加入:</para>

      <programlisting>         &lt;match target="pattern" name="family"&gt;
             &lt;test qual="any" name="family"&gt;
                 &lt;string&gt;mono&lt;/string&gt;
             &lt;/test&gt;
             &lt;edit name="spacing" mode="assign"&gt;
                 &lt;int&gt;100&lt;/int&gt;
             &lt;/edit&gt;
         &lt;/match&gt;      </programlisting>

      <para>某些字体,比如 Helvetica,当 anti-aliased 的时候可能存在问题。
	通常的表现为字体本身似乎被垂直的切成两半。
	糟糕的时候,还可能导致应用程序比如
	 <application>Mozilla</application> 崩溃。
	为了避免这样的现象,考虑添加下面几行到
	<filename>local.conf</filename>文件里面:</para>

      <programlisting>         &lt;match target="pattern" name="family"&gt;
             &lt;test qual="any" name="family"&gt;
                 &lt;string&gt;Helvetica&lt;/string&gt;
             &lt;/test&gt;
             &lt;edit name="family" mode="assign"&gt;
                 &lt;string&gt;sans-serif&lt;/string&gt;
             &lt;/edit&gt;
         &lt;/match&gt;        </programlisting>

      <para>一旦您完成对
        <filename>local.conf</filename> 文件的编辑,确保您使用了
        <literal>&lt;/fontconfig&gt;</literal> 标签来结束文件。
        不这样做将会导致您的更改被忽略。</para>

       <para>X11 默认的字库当使用反走样时会比较难看。
         更好的字库可以在
	 <filename role="package">x11-fonts/bitstream-vera</filename>
	 port 中找到。 这个 port 会创建一个
	 <filename>/usr/local/etc/fonts/local.conf</filename> 文件,
	 如果这个文件不存在的话。 反之,
	 port 将创建 <filename>/usr/local/etc/fonts/local.conf-vera
	 </filename> 文件。 将其内容合并到
	 <filename>/usr/local/etc/fonts/local.conf</filename> 中,
	 则 Bitstream 字体将自动地代替默认的
	 X11 Serif, Sans Serif, 以及单倍距字体。</para>

       <para>最后,用户可以通过他们个人的
        <filename>.fonts.conf</filename> 文件来添加自己的设定。
        要完成此项工作, 用户只需简单地创建
	<filename>~/.fonts.conf</filename> 并添加相关配置。
	此文件也必须是 XML 格式的。</para>

       <indexterm><primary>LCD screen</primary></indexterm>
       <indexterm><primary>Fonts</primary>
         <secondary>LCD screen</secondary></indexterm>

       <para>最后:对于LCD屏幕, 可能希望使用子像素的取样。 简单而言,
        这是通过分别控制 (水平方向分开的) 红、绿、蓝 像素,
        来改善水平分辨率; 这样做的效果一般会非常明显。
        要启用它, 只需在
         <filename>local.conf</filename> 文件的某个地方加入:</para>

       <programlisting>
         &lt;match target="font"&gt;
             &lt;test qual="all" name="rgba"&gt;
                 &lt;const&gt;unknown&lt;/const&gt;
             &lt;/test&gt;
             &lt;edit name="rgba" mode="assign"&gt;
                 &lt;const&gt;rgb&lt;/const&gt;
             &lt;/edit&gt;
         &lt;/match&gt;
       </programlisting>

       <note><para>随您显示器的种类不同, 可能需要把
	 <literal>rgb</literal> 改为 <literal>bgr</literal><literal>vrgb</literal><literal>vbgr</literal>:
	 试验一下看看那个更好。</para></note>

       <indexterm>
	 <primary>Mozilla</primary>
         <secondary>disabling anti-aliased fonts (禁用反锯齿字体)</secondary>
       </indexterm>

       <para>在下次启动 X server 时, 反锯齿 (anti-aliasing) 功能就启用了。
         不过, 应用程序必须了解如何使用它, 才能因此而受益。
         目前 Qt 工具包已经对其提供了全面支持,
         因此整个 <application>KDE</application> 环境都能使用反锯齿字体。
         GTK+ 和
         <application>GNOME</application> 也可以通过 <quote>Font</quote> capplet
         来使用反锯齿功能 (进一步细节请参见 <xref
         linkend="x11-wm-gnome-antialias">)。 默认情况下,
         <application>Mozilla</application> 1.2 及更高版本有能力自动使用反锯齿。
         要禁用这一特性, 则需要使用指定 <makevar>-DWITHOUT_XFT</makevar>
         并重新联编
         <application>Mozilla</application></para>
    </sect2>
  </sect1>

  <sect1 id="x-xdm">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Seth</firstname>
          <surname>Kingsley</surname>
          <contrib>Contributed by </contrib>
        </author>
      </authorgroup>
    </sect1info>
    <title>X 显示管理器</title>
    <sect2>
      <title>概要</title>

      <indexterm><primary>X Display Manager</primary></indexterm>
      <para>X 显示管理器(<application>XDM</application>)
        是一个X视窗系统用于进行登录会话管理的可选项。
        这个可以应用于多种情况下,包括小
         <quote>X Terminals</quote>,
        桌面,大网络显示服务器。既然 X 视窗系统不受网络和协议的限制,
        那对于通过网络连接起来的运行 X 客户端和服务器端的不同机器,
        就会有很多的可配置项。
        <application>XDM</application>
        提供了一个选择要连接到哪个显示服务器的图形接口,
        只要键入如登录用户名和密码这样的验证信息。</para>

      <para>您也可以把 <application>XDM</application> 想象成与
        &man.getty.8 工具一样(see <xref linkend="term-config"> for
          details)。为用户提供了同样功能。它可以完成系统的登录任务,
          然后为用户运行一个会话管理器
          (通常是一个 X 视窗管理器)。接下来 <application>XDM</application>
	  就等待这个程序退出,发出信号用户已经登录完成,应当退出屏幕。
          这时,
          <application>XDM</application>
          就可以为下一个登录用户显示登录和可选择屏幕。</para>
    </sect2>

    <sect2>
      <title>使用 XDM</title>

      <para><application>XDM</application> 精灵程序在
         <filename>/usr/local/bin/xdm</filename> 中。您可以在任何时候
	用 <username>root</username> 来运行这个程序,
        在本地机器上,它将启动管理X的画面。如果要
        <application>XDM</application> 每次机器一启动就开始运行,
        一个简单的办法是在 <filename>/etc/ttys</filename> 中加入一个记录。
        有关这个文件的更多的格式和使用方法,可以看看 <xref
        linkend="term-etcttys">。在默认的
        <filename>/etc/ttys</filename> 文件中用于运行
        <application>XDM</application> 守护程序的一行是这样的:</para>

      <screen>ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   off secure</screen>

      <para>默认情况下,这个记录是关闭的,要启用它,
        您需要把第5部分的 <literal>off</literal> 改为
        <literal>on</literal> 然后按照 <xref linkend="term-hup"> 的指导
	重新启动 &man.init.8;。第一部分,这个程序将管理的终端名称是
        <literal>ttyv8</literal>。这意味着
        <application>XDM</application> 将运行在第9个虚拟终端上。</para>
    </sect2>

    <sect2>
      <title>配置 XDM</title>

      <para><application>XDM</application> 的配置目录是在
         <filename>/usr/local/lib/X11/xdm</filename>中。在这个目录中,
        您会看到几个用来改变
        <application>XDM</application> 行为和外观的文件。您会找到这些文件:</para>

        <informaltable frame="none" pgwide="1">
          <tgroup cols="2">
            <thead>
              <row>
                <entry>文件</entry>
                <entry>描述</entry>
              </row>
            </thead>

            <tbody>
              <row>
                <entry><filename>Xaccess</filename></entry>
                <entry>客户端授权规则。</entry>
              </row>

              <row>
                <entry><filename>Xresources</filename></entry>
                <entry>默认的X资源值。</entry>
              </row>

              <row>
                <entry><filename>Xservers</filename></entry>
                <entry>远程和本地显示管理列表。</entry>
              </row>

              <row>
                <entry><filename>Xsession</filename></entry>
                <entry>用于登录的默认的会话脚本。</entry>
              </row>

              <row>
                <entry><filename>Xsetup_</filename>*</entry>
                <entry>登录之前用于加载应用程序的脚本。</entry>
              </row>

              <row>
                <entry><filename>xdm-config</filename></entry>
                <entry>运行在这台机器上的所有显示的全局配置。</entry>
              </row>

              <row>
                <entry><filename>xdm-errors</filename></entry>
                <entry>服务器程序产生的错误。</entry>
              </row>

              <row>
                <entry><filename>xdm-pid</filename></entry>
                <entry>当前运行的 XDM 的进程 ID。</entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>

      <para><application>XDM</application> 运行时,
        在这个目录中有几个脚本和程序可以用来设置桌面。
        这些文件中的每一个的用法都将被简要地描述。
        这些文件的更详细的语法和用法在
         &man.xdm.1; 中将有详细描述。</para>

      <para>默认的配置是一个矩形的登录窗口,上面有机器的名称,
        <quote>Login:</quote><quote>Password:</quote>。如果您想设计您自己个性化的
        <application>XDM</application> 屏幕,这是一个很好的起点。</para>

      <sect3>
        <title>Xaccess</title>

        <para>用以连接由
          <application>XDM</application> 所控制的显示设备的协议,
          叫做 X 显示管理器连接协议 (XDMCP)。
          这个文件是一组用以控制来自远程计算机的 XDMCP 连接的规则。
          除非您修改 <filename>xdm-config</filename>
          使其接受远程连接, 否则其内容将被忽略。 默认情况下,
          它不允许来自任何客户端的连接。</para>
      </sect3>

      <sect3>
        <title>Xresources</title>
        <para>这是一个默认的用来显示选项和登录屏幕的应用程序文件。
          您可以在这个文件中对登录程序的外观进行定制。 其格式与
	  X11 文档中描述的默认应用程序文件是一样的。</para>
      </sect3>

      <sect3>
        <title>Xservers</title>
        <para>这是一个选择者应当提供的作为可选的远程显示列表。
          </para>
      </sect3>

      <sect3>
        <title>Xsession</title>
        <para>这是一个用户登录后针对
          <application>XDM</application> 的默认会话脚本。通常,在
           <filename>~/.xsession</filename>
          中每个用户将有一个可定制的会话脚本。</para>
      </sect3>

      <sect3>
        <title>Xsetup_*</title>
        <para>在显示选择者或登录接口之前,这些将被自动运行。
	  这是一个每个显示都要用到的脚本,叫做
           <filename>Xsetup_</filename>,
          后面会跟一个本地显示的数字(比如
          <filename>Xsetup_0</filename>)。典型的,这些脚本将在后台
          (如 <command>xconsole</command>)运行一个或两个程序。</para>
      </sect3>

      <sect3>
        <title>xdm-config</title>
        <para>此文件以应用程序默认值的形式,
          提供了在安装时所使用的普适的显示设置。</para>
      </sect3>

      <sect3>
        <title>xdm-errors</title>
        <para>这个文件包含了
          <application>XDM</application> 正设法运行的的 X 服务器 的输出。
          如果 <application>XDM</application> 正设法运行的显示由于某种原因被挂起,
          那这是一个寻找错误信息的好地方。
	  这些信息会在每一个会话的基础上被写到用户的
	  <filename>~/.xsession-errors</filename>
          文件中。</para>
      </sect3>
    </sect2>

    <sect2>
      <title>运行一个网络显示服务器</title>

      <para>对于其他客户端来说, 如果希望它们能连接到显示服务器,您就必须编辑访问控制规则,
        并启用连接侦听。 默认情况下, 这些都预设为比较保守的值。
        要让 <application>XDM</application> 能侦听连接, 首先要在
        <filename>xdm-config</filename>
        文件中注释掉一行:</para>

      <screen>! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0</screen>

      <para>然后重新启动<application>XDM</application>。
        记住默认应用程序文件的注释以<quote>!</quote>
        字母开始,不是<quote>#</quote>。
        您需要设置严格的访问控制 &mdash; 看看在
        <filename>Xaccess</filename> 文件中的实例, 并参考
        &man.xdm.1; 的联机手册, 以了解进一步的细节。</para>
    </sect2>

     <sect2>
        <title>替换 XDM</title>

        <para>有几个替换默认
          <application>XDM</application>程序的方案。 其中之一是
          上一节已经描述过的<application>kdm</application> (与
          <application>KDE</application>捆绑在一起)。
          <application>kdm</application> 提供了许多视觉上的改进和局部的修饰,
          同样能让用户在启动时能选择他们喜欢的窗口管理器。</para>
     </sect2>
  </sect1>

  <sect1 id="x11-wm">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Valentino</firstname>
          <surname>Vaschetto</surname>
          <contrib>Contributed by </contrib>
        </author>
        <!-- June 2001 -->
      </authorgroup>
    </sect1info>

    <title>桌面环境</title>

    <para>这节描述了 FreeBSD 上用于 X 的不同桌面环境。
      <quote>桌面环境</quote>
      可能仅仅是一个简单的窗口管理器,
      也可能是一个像
      <application>KDE</application> 或者 <application>GNOME</application>这样的完整桌面应用程序套件。
    </para>

    <sect2 id="x11-wm-gnome">
      <title>GNOME</title>

      <sect3 id="x11-wm-gnome-about">
        <title>有关 GNOME</title>

        <indexterm><primary>GNOME</primary></indexterm>
        <para><application>GNOME</application> 是一个用户界面友好的桌面环境,
          能够使用户很容易地使用和配置他们的计算机。
          <application>GNOME</application>
          包括一个面板(用来启动应用程序和显示状态),
          一个桌面(存放数据和应用程序的地方),
          一套标准的桌面工具和应用程序,
          和一套与其他人相互协同工作的协议集。
          其他操作系统的用户在使用
          <application>GNOME</application>提供的强大的图形驱动环境时会觉得很好。
	  更多的关于 FreeBSD 上 <application>GNOME</application> 的信息
	  可以在 <ulink
	  url="http://www.FreeBSD.org/gnome">FreeBSD GNOME
	  Project</ulink> 的网站上找到。 此外,
	  这个网站也提供了相当详尽的关于安装、 配置和管理
	  <application>GNOME</application> 的常见问题解答 (FAQ)。</para>
      </sect3>

      <sect3 id="x11-wm-gnome-install">
        <title>安装 GNOME</title>

        <para>这个软件可以很容易地通过预编译包或
          Ports 套件来安装:</para>

        <para>要从网络安装<application>GNOME</application>,
          只要键入:</para>

        <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen>

        <para>从源代码编译<application>GNOME</application>,可以使用
          ports树:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

        <para>一旦装好了 <application>GNOME</application>,
          就必须告诉 X server 启动
          <application>GNOME</application> 而不是默认的窗口管理器。</para>

        <para>最简单的启动
          <application>GNOME</application> 的方法是使用
          <application>GDM</application>, GNOME 显示管理器。
          随 <application>GNOME</application> 桌面一同安装的
          <application>GDM</application> (但默认是禁用的), 可以通过在
          <filename>/etc/rc.conf</filename> 中加入
          <literal>gdm_enable="YES"</literal> 来启用。 这样在重新启动的时候,
          <application>GNOME</application> 就会在登录时自动启动 &mdash;
          除此之外不需要进一步设置了。</para>

        <para><application>GNOME</application> 也可以通过适当地配置名为
	  <filename>.xinitrc</filename> 的文件来启动。
          如果已经有了自定义的 <filename>.xinitrc</filename>,
          将启动当前窗口管理器的那一行改为启动
          <application>/usr/local/bin/gnome-session</application> 就可以了。
          如果还没有, 那么只需简单地:</para>

        <screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt; ~/.xinitrc</userinput></screen>

        <para>接下来输入 <command>startx</command><application>GNOME</application> 桌面环境就启动了。</para>

        <note><para>如果之前使用了一些旧式的显示管理器, 例如
          <application>XDM</application>, 则这样做是没用的。
          此时应建立一个可执行的 <filename>.xsession</filename>
          文件, 其中包含同样的命令。 要完成这项工作, 需要用
          <application>/usr/local/bin/gnome-session</application>
          取代现有的窗口管理器:
          </para></note>

        <screen>&prompt.user; <userinput>echo "#!/bin/sh" &gt; ~/.xsession</userinput>
&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" &gt;&gt; ~/.xsession</userinput>
&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen>

        <para>还有一种做法, 是配置显示管理器,
          以便在登录时提示您选择窗口管理器; 在
          <link linkend="x11-wm-kde-details">KDE 细节</link>
	  环节中介绍了关于如何为 <application>kdm</application><application>KDE</application> 的显示管理器)进行这样的配置。</para>
      </sect3>

      <sect3 id="x11-wm-gnome-antialias">
        <title>在GNOME上使用Anti-aliased字体</title>

        <indexterm><primary>GNOME</primary>
          <secondary>anti-aliased fonts</secondary></indexterm>
	<para>X11 通过<quote>RENDER</quote>扩展来支持 anti-aliasing。
	  GTK+ 2.0 以及更高的版本(被
	  <application>GNOME</application>使用的工具包)可以使用这个功能。
	  配置 anti-aliasing 在
	  <xref linkend="antialias">描述。所以,使用最近的软件,
	  anti-aliasing 可以应用在
	  <application>GNOME</application>桌面环境中。只需要依次选择
	  <menuchoice>
	    <guimenu>应用程序</guimenu>
	    <guisubmenu>桌面首选项</guisubmenu>
	    <guimenuitem>字体</guimenuitem></menuchoice>,然后选上
	  <guibutton>最佳形状</guibutton><guibutton>最佳对比度</guibutton>,或者
	  <guibutton>像素圆滑(LCD)</guibutton>。对于
	  GTK+ 应用程序,它们不是
	  <application>GNOME</application> 桌面的一部分,在启动程序前需要设置
	  环境变量<varname>GDK_USE_XFT</varname>的值为
	  <literal>1</literal></para>
      </sect3>
    </sect2>

    <sect2 id="x11-wm-kde">
      <title>KDE</title>

      <indexterm><primary>KDE</primary></indexterm>
      <sect3 id="x11-wm-kde-about">
        <title>有关 KDE</title>

        <para><application>KDE</application> 是一个容易使用的现代桌面环境。
          <application>KDE</application> 有很多很好的特性:</para>

        <itemizedlist>
          <listitem>
	    <para>一个美丽的现代的桌面。</para>
	  </listitem>

          <listitem>
	    <para>一个集合了完美网络环境的桌面。</para>
	  </listitem>

          <listitem>
	    <para>一个集成的帮助系统,能够方便、高效地帮助您使用
	      <application>KDE</application> 桌面和它的应用程序。</para>
	  </listitem>

          <listitem>
	    <para>所有的<application>KDE</application>应用程序具有一致的所见即所得界面。</para>
	  </listitem>

          <listitem>
	    <para>标准的菜单和工具栏,键盘布局,颜色配置等。</para>
	  </listitem>

          <listitem>
	    <para>国际化:<application>KDE</application>
              可以使用超过40种语言。</para>
	  </listitem>

          <listitem>
	    <para>集中化、 统一的对话框驱动的桌面配置</para>
	  </listitem>

          <listitem>
	    <para>许多有用的
              <application>KDE</application>应用程序。</para>
	  </listitem>
        </itemizedlist>

        <para><application>KDE</application> 附带了一个名为
          <application>Konqueror</application> 的 web 浏览器,
          它是其他运行于 &unix; 系统上的 web 浏览器的一个强大的竞争对手。
          要了解关于 <application>KDE</application>
          的更多详情, 可以访问 <ulink url="http://www.kde.org/">KDE
          网站</ulink>。 与 FreeBSD 相关的 <application>KDE</application>
          信息和资源, 可以在 <ulink url="http://freebsd.kde.org/">FreeBSD 上的 KDE
	  团队</ulink> 的网站找到。</para>

	<para>FreeBSD 上提供了两种版本的 <application>KDE</application>。
          版本 3 已经推出了很长时间, 十分成熟。 而版本 4,
	  也就是下一代版本, 也可以通过 Ports 套件来安装。
	  这两种版本甚至能够并存。</para>
      </sect3>

      <sect3 id="x11-wm-kde-install">
        <title>安装 KDE</title>

        <para><application>GNOME</application> 和其他桌面环境类似,
          这个软件可以很容易地通过预编译包或 Ports 套件来安装:</para>

        <para>要从网络安装 <application>KDE3</application> 只需要:</para>

        <screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen>

        <para>要从网络安装 <application>KDE4</application> 则需要:</para>

        <screen>&prompt.root; <userinput>pkg_add -r kde4</userinput></screen>

	<para>&man.pkg.add.1; 就会自动的下载最新版本的应用程序。</para>

        <para>要从源代码编译 <application>KDE3</application>,
          可以使用 ports 树:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

        <para>而从 ports 提供的源代码编译 <application>KDE4</application>,
          对应的操作则是:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

        <para>安装好 <application>KDE</application> 之后,
          还需要告诉X server 启动这个应用程序来代替默认的窗口管理器。
          这可以通过编辑 <filename>.xinitrc</filename> 文件来完成:</para>

	<para>对于 <application>KDE3</application></para>
        
	<screen>&prompt.user; <userinput>echo "exec startkde" &gt; ~/.xinitrc</userinput></screen>

	<para>对于 <application>KDE4</application></para>
        
	<screen>&prompt.user; <userinput>echo "exec /usr/local/kde4/bin/startkde" &gt; ~/.xinitrc</userinput></screen>

	<para>现在,无论您什么时候用
	  <command>startx</command>进入 X 视窗系统,
          <application>KDE</application> 就将成为您的桌面环境。</para>

        <para>如果使用一个像
          <application>XDM</application>这样的显示管理器,
          那配置文件可能有点不同。需要编辑一个
          <filename>.xsession</filename> 文件,有关
          <application>kdm</application> 的用法会在这章的后面介绍。</para>
      </sect3>
    </sect2>

    <sect2 id="x11-wm-kde-details">
        <title>有关 KDE 的更多细节</title>

        <para>现在 <application>KDE</application> 已经被安装在系统中了。
          通过帮助页面或点击多个菜单可以发现很多东西。
          &windows;&mac; 用户会有回到家的感觉。</para>

        <para>有关 <application>KDE</application> 的最好的参考资料是
          它的在线文档。<application>KDE</application>
          拥有它自己的 web 浏览器
          <application>Konqueror</application>,
          还有很多其他的应用程序和丰富文档。
          这节的余下部分将讨论一些很难用走马观花的方法来学习的技术项目。</para>

      <sect3 id="x11-wm-kde-kdm">
        <title>KDE 显示管理器</title>

        <indexterm><primary>KDE</primary>
          <secondary>display manager</secondary></indexterm>
        <para>如果在同一系统上有多个用户, 则管理员通常会希望使用图形化的登录界面。
          前面已经提到, 使用
          <link linkend="x-xdm">XDM</link> 可以完成这项工作。 不过,
          <application>KDE</application> 本身也提供了另一个选择,
          即 <application>kdm</application>, 它的外观更富吸引力,
          而且提供了更多的登录选项。 值得一提的是,
          用户还能通过菜单很容易地选择希望使用的桌面环境 (<application>KDE</application><application>GNOME</application> 或其它)。</para>

        <para>要启用 <application>kdm</application>, 需要修改
	  <filename>/etc/ttys</filename> 中的 <literal>ttyv8</literal> 项。
	  将其改为类似下面的样子:</para>

	<para>对于 <application>KDE3</application></para>

	 <programlisting>ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure</programlisting>

	<para>对于 <application>KDE4</application></para>

	<programlisting>ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure</programlisting>
      </sect3>

     </sect2>

     <sect2 id="x11-wm-xfce">
         <title>Xfce</title>
       <sect3 id="x11-wm-xfce-about">
         <title>有关Xfce</title>

        <para><application>Xfce</application>是以被<application>GNOME</application>
          使用的 GTK+ 工具包为基础的桌面环境,
          但是更加轻巧,适合于那些需要一个易于使用和配置并且简单而高效的桌面的人。
          看起来,它非常像使用在商业&unix;系统上的
          <application>CDE</application>环境。
          <application>Xfce</application>的主要特性有下面这些:</para>

         <itemizedlist>
           <listitem>
	     <para>一个简单,易于使用的桌面。</para>
           </listitem>

           <listitem>
	     <para>完全通过鼠标的拖动和按键来控制等。</para>
           </listitem>

           <listitem>
	     <para><application>CDE</application>
	       相似的主面板,菜单,applets和应用launchers。</para>
           </listitem>

           <listitem>
	     <para>集成的窗口管理器,文件管理器,声音管理器,
	       <application>GNOME</application> 应用模块等等。</para>
           </listitem>

           <listitem>
	     <para>可配置界面的主题。(因为它使用GTK+)</para>
           </listitem>

           <listitem>
	     <para>快速,轻便,高效:对于比较老的/旧的机器或带有很少内存的机器仍然很理想。</para>
           </listitem>
         </itemizedlist>

         <para>更多有关<application>Xfce</application>
          的信息可以参考<ulink url="http://www.xfce.org/">Xfce
            网站</ulink></para>
       </sect3>

       <sect3 id="x11-wm-xfce-install">
         <title>安装Xfce</title>

        <para>有一个二进制的<application>Xfce</application>
          软件包存在(在写作的时候)。要安装的话,执行下面的命令:</para>

        <screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen>

        <para>另外,要从源代码建立,使用Ports Collection:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

        <para>现在,要告诉X服务器在下次X启动时执行
         <application>Xfce</application>。
         只要执行下面的命令:</para>

        <screen>&prompt.user; <userinput>echo "/usr/local/bin/startxfce4" &gt; ~/.xinitrc</userinput></screen>

        <para>接下来就是启动 X,
          <application>Xfce</application>将成为您的桌面。
          与以前一样,如果使用像
          <filename>XDM</filename> 这样的显示管理器,需要创建一个
          <filename>.xsession</filename>文件,就像有关
          <link linkend="x11-wm-gnome">GNOME</link> 的那节描述的,
          使用<filename>/usr/local/bin/startxfce4</filename>
          命令,或者,配置显示管理器允许在启动时选择一个桌面,
          就像有关<link linkend="x11-wm-kde-kdm">kdm</link>的那节描述的。</para>
      </sect3>
    </sect2>
  </sect1>

</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->