����Linux�Ż�
Linux����

X Window ϵͳʹ��ָ��--1

����ʱ��:2006-07-30 10:29:52��Դ:��������:bear10214
��Ҽ�� ϵͳ�Ź�
�ڣ��� ʹ���߶ԣ� WINDOWSϵͳ�ĸŹ�
�� Window System ��һ���ڸ���λԪӳ����ʾ�� (bitmapped
dispalys) �Ͼ��м����Я�� (portable) ���Ӵ�ϵͳ (window system),
��������ʡ����ѧԺ (MIT)����չ����. �� Windows System ( �������Ჿ
�ݼ��Ϊ��) ��������ϵͳ��ִ��. ��������������޹ء��߿�Я�ԡ��Բ�
ɫ���յĶ����Լ�����·֮��IJ���͸ͨ�� (operate transparently), ʹ
�ãس�Ϊһ����ҵ�ı�׼. ���ԭʼ��ʽ������ʹ��, ������Ҳ��һ������
���о�ý��.
���Ӵ�ϵͳ��һ���ó�ʽ���ʦ��չ��Я��ͼ��ʹ���߽���Ĺ�ҵ����
��׼, ������Ҫ������֮һ�������ص����豸�޹ؽṹ���κ�Ӳ��ֻҪ�ṩ
��Э�� (Protocol),�����ִ��Ӧ�ó�ʽ��ʾһȺ����ͼ�ĵ��Ӵ���������
���±�������ᣮ�������豸�޹ص����ԣ�ʹ��ֻҪ�Ǹ��ݣر�׼����չ��
Ӧ�ó�ʽ�������ڲ�ͬ�Ļ���������͵��ԣ�����վ�����˵�����ִ�У���
���춨�ˣس�Ϊ��ҵ��׼�ĵ�λ��
�ؿ�����һЩ UNIX ϵͳ�ĵ�����ִ��, �� Alliant, Apollo, DEC, IBM,
Hewlett-Packard, Sun��, Ҳ���� DEC�� VAX/VMS, MS-DOS��һЩ������ϵ
ͳ��ִ��. ������һЩ������ AT&T, Adobe, Control Data, Data General
, Fujitsu, Prime, Siemens, Silicon Graphics, Sony, Texas Instruments,
Wang, Xerox ������ʾ֧Ԯ��.
1.1 ����ʲ���ص㣿
���������ĸ�����˵���ˣش󲿷ֵ����������ܴ��ڻ�ӭ��ԭ��
�������ؾ�����·͸ͨ��(Network Transparent)�� ͸����·��Ӧ�ó�ʽ��
�������������ʾ�ͺ����Լ�������һ�����ף�����ͨѶ�ܹ�����·
����һ�˵����ֻ�����ȫ�����޹غͻ����޹أ�����������ͬ����ҵ
ϵͳ���ܽ�һ�䣬��ʽ��������һ�ֲ�ͬ����ʾ����̬��ִ�ж�����
���±���(re-compilation)����������(re-linking)��
��������֧Ԯ���಻ͬ����ʹ���߽��棬�����Ӵ��Ĺ��������Ӵ��İڷ�
����С����ʾ˳��ȵȲ��������ϵͳ�У�������Ӧ�ó�ʽ�����ƣ�
��˿����׵ĸ�������ͬ���Ľ����ϵ춲�ͬ��Ӧ�ó�ʽ�������
���Ӵ��е����ֺ�ѡ���Ӵ��е�һ�����壬�˴˼䲻�ụ�����ƣ�
�������ز��ǵ�����ҵϵͳ��һ���֣�����ҵϵͳ���ԣ���ֻ��һ��Ӧ�ó�
������ʽ���ѣ���ˣ��غ������ڲ�ͬ��ϵͳ��װ�裮
�������Ӵ��ǽײ��Ե� (hierarchical)�� Ӧ�ó�ʽ����ֱ�������Ӵ�ϵͳ
���е���ʩ (facilities) �������󲿷ֵ����󣬶������������
���������������ƽṹ (mechanisms). (���磺ѡ��(menu)������һ����
֧�����Ӵ�������.)
���е�������������µ��½�������һ��������
1.2 ʲ�����Ӵ�ϵͳ��
��������һ���Ӵ�ϵͳ��һЩ��������, ����Ϊ����һ������, �����
����Ϥ�������Ӵ�ϵͳ, �������ݽ�������������.
����һ����λԪӳ����ʾөĻ�Ͻ����͹����Ӵ���ϵͳ, ��������ӵ��
λԪӳ����ʾ�������̺�һЩ����ָʾөĻ���ض�λ�û������װ�õĹ���
վ��������ʽӵ��λԪӳ����ʾ�����ն˻���ִ��. �ذ�ָʾλ�õ�װ�ý�
��ָ�� (pointer), ͨ��Ϊ����(mouse),��֧Ԯ�ֽ�����ϳ������Ӵ�ʹ��
�߽���.
ʹ���Ӵ�ϵͳ��������������ͨ�칫���ϵĹ����Ƚ�, ���������ͨ��
����һЩֽ, �ż����ֱ���صĹ���, һЩ���õĹ��� (��ʱ��, ����, ��
������),�����е���������һ������, �����°��������ϵ�ֽ, ����ܰ�
���߼��з���һ��, Ҳ���ܲ�ʱ�ο�������Ȼ���õ���ֽ������, ����һ��
��, ����ܰ����е�һЩ������ʱ�ڵ�һ��, ����ͨͨ������������.
������һ���˵Ĺ���ģʽ, �����ᵽ����, ������ṩ��ͬ�Ĺ����Ǻ�
�����, �ܲ��ҵ�, ��ʽ���ն˻��� CRT��������һ��ֻ����өĻ����һ��
����, ����ֻ�ܿ���һС���ݵ��������� (ͨ��Ϊ24��),ͼ�εĹ����͸���
����, �����Ӵ�ϵͳ��ͼ�˷����, ͨ�����ṩ��һ���ϴ��өĻ, ������
ͬʱ��������������Ŀ, ������ʾͼ��, �����в�ɫ.
�ر������������Ӵ��Ĺ���ģʽ��չ������, �ڣصĻ����¡�һ���Ӵ�
��өĻ�ϵ�һ�鳤��������, ��ƽ���өĻ�ı�, ͨ��, ÿһ���Ӵ� (ע1)
��һ��������Ӧ�ó�ʽ��ר��, ����Ӧ�ó�ʽ����" ͬʱ" �����Լ���ӵ��
���Ӵ�����ʾ������,�������Ӵ��ص�. ��ͼ 1 - 1
ע 1: �ϸ��˵, Ӧ��˵��" һ����߲� (top level)���Ӵ�",��Ϊ������
�Ӵ��нײ�, ����, һ�����͵�Ӧ���Ӵ����԰����������Ӵ�
(sub-window)�ֱ����������ơ����뼰��ʾ�ȹ���.
��----------------------------��
�� page 6. Fig 1.2 ��
�� ��
�� ��
�� ��
�� ��
�� ͼ 1 - 1 �ص����Ӵ� ��
��----------------------------��
����ʹ�Ӵ��IJ��ݻ�ȫ���������Ӵ��ڸ�, Ӧ�ó�ʽ��Ȼ���Զ����Լ�
��ӵ�е��Ӵ������. �豸��ʽ (facilities) �ṩ��өĻ���ƶ��Ӵ�����
���Ӵ���С�����Ӵ���������һ�������һ��ȹ��ܡ��������Ӵ������ص�
, Ϊ�˷������ͬһөĻ���������Ӵ���Ȼ�dz���ʱ, ���, ����ͬ������
�Ӵ�ϵͳһ��,���ṩ����ͼ (icon), ������өĻ����һ������ͼ����һ��
Ӧ���Ӵ�, �����Ƕ�Ӧ���Ӵ�����ͼ�� (iconify)��, �Ӵ������Ӵ�������
, ��֮�Ա���ͼ, ���ճ��˽϶��өĻ�ռ�, �෴�Ķ���Ϊ�������ͼ�� (
de-iconify),Ҳ������ԭ�ȵ��Ӵ�ȡ������ͼ��
һЩ�����Ĺ���, ����ʱ�ӻ�����, �����ڽ��ϵͳ, ����������С��
Ӧ�ó�ʽ���ṩ.
������, ���ṩ������д���ֺͻ�ͼ�ε��Ӵ��ϵĹ���ѡ��, ������
������ (FONTS)���Էdz����ײ�����һ���ԵĴ���, ������ͼ�εĽṹ�ͻ�
ͼ�Ļ�������, �����, ��, ����, ���� (areas)���ṩ, ɫ�ʵ����ո���
�ḻ, ��Щ���ӵIJ��ݶ�ʹ���߶���������������, ʹ���߿��Լ򵥺ͷ���
��ʹ������,����, ��Ӧ����, ������� "*times-bold-i*"��ʾҪʹ�üӱ�
�ֵ�б������ (italic),����Ҫʹ�ò�ɫʱ, ��ֻҪ���ճ�������, ����
"yellow(��ɫ)" �� "navy blue (����ɫ)".
������빦�ܵ��ṩ, ��Ҳ�Ƕ�������, �ؿ������᲻ͬ��ʽ�ļ���,
�紫ͳ��QWERTY���̻�Dvorak Style����, �����Dz�ͬ���ҵ�����涨. ��
��ʹ���߽��������빦�ܺ���Ҫ��һ������, ���̺ͻ����ָ�����ϵͳ��
�μܹ�һ���Ӵ��ʹ����Ӵ�������.
��춣ص��Ӵ��������ܲ����ڽ��ϵͳ, ���ǽ���ʹ���߲��, �����
����޸Ļ����, ���ԣ����ṩ��ͬ��̬��ʹ���߽��档�����Ƕ���˵��ʹ
���߽�����������еĵ��Լ�����ȫ���ɣض����ṩ��
1.3 �ؼ�ʷ
���1984������ʡ����ѧԺ (MIT)���Կ�ѧ�о��ҿ�ʼ��չ, ��ʱ Bob
Scheifler ���ڷ�չ��ɢʽϵͳ (distributed system),ͬһʱ�� DEC��˾
�� Jim Gettys ������ʡ����ѧԺ�� Athena �ƻ���һ����, �����ƻ�����
Ҫһ����ͬ�Ķ��� ------ һ���� UNIX �������������Ӵ�ϵͳ. ��˺���
��ϵ��ʼչ��, ���Ǵ�ʷ���� (Stanford) ��ѧ�õ���һ�׽����׵�ʵ����
�Ӵ�ϵͳ, ��Ϊ�Ǹ��ݣ��Ӵ�ϵͳ�Ļ�����ʼ��չ������չ�������Ժ�ԭ��
ϵͳ����������ʱ�����ǰ������ϵͳ������.
���������ؽ���, �µİ汾 (version)���ϵز��� (�������ǰһ�治
����ʱ, �µİ汾�������),��1985������, �κ���ֻҪ����Ȩ�ѱ��ʹ��
�صĻ������߱�����. ����ΪһЩ����ļ���:
��10��: 1985���. ֱ����ʱ, �� MIT������˺���֯, �ſ�ʼ�ԣ���
ʵ�ʵĹ���.
��һ����ҵ���ģز�Ʒ: DEC � 1986 �� 1���Ƴ� VAXstation-II/GPX.
��10��� 3�η���: 1986�� 2��. �Ӵ�ʱ��, �ؿ�ʼ�������, ���ǰ�
����ֲ�������µ�ϵͳ��.
��10��� 4���: 1986��11��.
��һ�Σؼ�������: 1987�� 1��� MIT.
��1986���, ��10����޷��������е������ѷdz�����, MIT �� DEC������
����Э�� (protocal) ���������, ����ǣص�11��.
��11��� 1���: 1987�� 9��.
��Э�����: MIT ��Э�����, Ŀ����Ϊ���о���չ�����Ʊ�׼, Ŀǰ��
30�����ϵĻ�������.
�ڶ��Σؼ�������: 1988�� 1��.
��11��� 2���: 1988�� 3��.
��11��� 3���: 1988��10��.
1.4 �صij�Ʒ
�ϸ��˵, ���Ӵ�ϵͳ������һ������, ����һ��Э�� (protocal),��
��Э������һ��ϵͳ��Ʒ������߱��Ĺ��� (����ͬ TCP/IP, DECnet ��
IBM�� SNA,��ЩҲ����Э��, ����������Ӧ�߱��Ĺ���).�κ�ϵͳ�������
Э�������ϣ�Э�������Ĺ��, ��ɳ�Ϊ��.
�򵥵�˵, ���������鲻������Э���ͳ�Ʒ�ķֱ�, �����ᵽ��, ��
ָһ���������ʵ���ϵͳ��Ʒ.
1.5 MIT ���еģ�
MIT �����еģؿ����ṩ���೧�Ƶĵ���, Ŀǰ�İ汾 (��11��� 3��
����) ֧Ԯ���µ�ϵͳ:
. Apple A/UX
. Apollo Domain/IX
. 4.3 + tahoe
. Digital Equipment Coporation Ultrix
. Hewlett Packard HP-UX
. IBM AOS
. Sun Mircosystems SunOS
�������и������ҵ����Ʒ.
��ϵͳһֱ�ڷ�չ, �����и������ʹ����, �ɵ�������(third party)
��չ������������, ��ʹ��ϵͳ�汾һ��Ϊ��:
. core�� -- ������MIT ��Э���ṩ.
. corelib �� -- ������ʹ���߻���������ṩ.
Ϊ�˷���, core��corelib ���崢���ڲ�ͬ�ĴŴ��Ϸ���.
����˵��������core��Ϊ��, ż����core��û���ṩ�Ĺ��ܻ��ҽ���
��Ȥ�IJ���, ��ο���corelib �汾.
1.5.1 MIT �������ʲ��
����汾�������ļ�˵��, ԭʼ��, ������ (configuration file) ��
���ó�ʽ (utilities)������һЩ������������ϵͳ������Ķ���,(û����
��Ŀ�ĵ������λ���ṩ, ϵͳ������ԭʼ�뽨��),�ڴ�����ֻ���۴�ʹ��
�߹۵㿴���ϵͳ, ����ֻ������Щ�Ӵ�ϵͳ��ʽ������һЩʹ���������
���߳�ʽ, ʡ��װ�蹫�ó�ʽ���������߳�ʽ��������֪��, ��Щ�����ɲ�
����¼.
core��ij�ʽ�ɷ�Ϊ���¼���:
1. ���Ӵ�ϵͳ�����ij�ʽ.
2. ʹ���Ӵ�ϵͳ�ر��Ĺ��ߺ��豸��ʽ:
. �ճ����Ӵ���ع��ܵĹ��߳�ʽ (���罫�Ӵ�������ӡ���б���)��
. һЩ�㳣�������� "��ͷ" (desktop) �ı�����ʽ (����ʱ��,
����).
3. ���Ӵ��������Ч���һ��Ӧ�ó�ʽ.
4. չʾ(Demo)��ʽ����Ϸ��ʽ.
5. ��Ѷ��״̬�����ʽ.
6. ���� (customise)���Լ��Ļ����Ĺ��߳�ʽ.
���ǽ������µ��½���������.
1.5.2 ϵͳ��ʽ
���µij�ʽ���������л���ϵͳ����س�ʽ.
�� - ��ʾserver -- ��������������Ĺ���վ�ļ��̡������өĻ.
���ǣص�����, �˳�ʽ���Խ�����ȥ���Ӵ�, ʵ�ʵ�Ӧ���� client ��ʽ��
Request (����)��д (write)�ͻ�(draw)�Ķ���.
���server��ʽ�ڸ���Ӳ�����в�ͬ�ij�ʽ�ṩ, ����:
Xapollo - ���Apollo��ʾ��.
Xhp - ���Hp 9000/300 ��Topcat��ʾ��.
Xibm - ���IBM ��APA16 ��Megapel ��ʾ��.
Xmacll - ���Apple ��Macintosh II.
Xplx - ���Parallaxͼ�ο�����.
Xqdss - ���DEC ��GPX ��ʾ�� (VAXstation II/GPX).
Xqvss - ���DEC ��QVSS��ʾ��.
Xsun - ���Sun/2, Sun/3, Sun/4 ��Sun/386i����վ.
Xinit - ��ʼ(initialization)��ʽ, ����ϵͳ���趨Serverִ��.
Xdm - ����ʾ������(display manager),һ���ṩ�����͵��Ե�����ϵͳ
, ʹϵͳ�����ɸ�������ij�ʽ, ���Ժ� Xinit������һ.
Uwm - ���Ӵ�������(Window Manager), �˳�ʽ������ι������ "��ͷ"��
�ƶ��Ӵ����ض��Ӵ���С�ȵ�, ���������ѡ����ϻ���İ�ť
���������Ӵ�����.
ֻ��Server��ʽ�Ǿ��Ա����, ���������ij�ʽ, ��Ϳ����ڣ�ϵͳ��
��������Ӧ�ó�ʽ (��Ȼ����һ��). (Xinit �ȳ�ʽ����������ͬ���ܳ�ʽ
���.)
���ϳ�ʽ�������Ӵ�ϵͳ, ���������Ӵ����ƶ��α���, ʲ����Ҳ����
��. ���ʵ����, ����Ҫ����Ĺ��ó�ʽ��Ӧ�ó�ʽ.
1.5.3 �Ӵ�ϵͳ���ó�ʽ
���µĹ��߳�ʽ�������Ӵ�ϵͳ��һ����, ����������Ҫ�������ʹ��
ϵͳ������ϵͳ��������������ɻ�ȱ��, ���Ƿ�Ϊ������������:
1. �Ӵ�ϵͳ�������ù��߳�ʽ
ֻҪ�����Ӵ�ϵͳ����һ��ĵ����ն˻�, ��Щ��ʽ������������
Ҫ��:
xterm - ���ն˻�ģ���� (terminal emulator), ���ϵͳ�ڴ��
���ij�ʽ�����ر�Ϊʹ���Ӵ�ϵͳ���. ������˵, һЩ
����ͨ��ϵͳ��ʽ -- �г�����Ŀ¼, �༭��, ��������,
��������ͨ���ն˻�����������ִ��, ���������������
�Ӵ�ϵͳ��ʲ�ᶼ��֪���������, �ڣ��²���? Xterm
���ǽ���һ���ص��Ӵ�, ��������Щ��ͨ�� "�����ն˻�
(dumb terminal)"��ʽ�ܹ�������Ӵ���ִ�еĹ��߳�ʽ.
��Щ��ͨ��ʽ����Ϊ�������� "���" �ն˻���ִ��. ��
Ȼ, ��Ҳ������xterm ȥ���������ģس�ʽ������һ����
��Щ��ͨ��ʽ.
xhost - ���������·����Щ��������ȡ�����ʾөĻ������������
xkill - һ����ɱ������Ҫ֮Ӧ�ó�ʽ�Ĺ��߳�ʽ��
xwd - �����Ӵ���Ŀǰ��Ӱ����ӡ (dump) ��һ�������У�ʹ�����
���������ؽ�����Ӵ�����ӡ������һЩ���������¡�
xpr - ����ǰ xwd��ץȡ (capture)���Ӵ�Ӱ��ת�����ʺ�Ӳ����
(hardcopy)ӡ���ĸ�ʽ.
xdpr - ����� xwd�� xpr����������һ�������ӡ���Ӵ�������.
xmag - ��өĻ�ϱ�ѡȡ��һ����Ӱ����ԷŴ�
xwud - ����ǰ xwd��ץȡ���Ӵ�Ӱ��������ʾ�өĻ�ϡ�
x10tox11 - �����ڵ�10���ִ�еij�ʽת���ɿ��ڵ�11��ִ�С�
xrefresh - ���� (refresh)��ʾ, ��ijЩ��ȫ�����Ӵ�ȫ���ػ�
һ�顣
2. �����ij�ʽ
xclock - һ��ָ��������͵�ʱ�ӡ�
xclac - һ������������ģ���ѧ�����͵ļ�������
xload - ���ۼ�ͼ (histogram)����ʾĿǰ�����ĸ��طֲ���
xbiff - �ذ�� biff���ż������֪ (barfs if mail arrives) ��
ʽ��xbiff ����ʾһ������ı���ͼ���������ϵ���������ʱ,
��ʾ������š�
1.5.4 һ��Ӧ�ú͹��߳�ʽ
��Щ��ʽ����ֱ�Ӻ��Ӵ�ϵͳ��أ����Ӵ�ϵͳ����ʹ���Ǹ���Ч�档
xedit - һ�����ֱ༭�����������ѡ������������Ҳ������ָ��ָ
��λ�û�һ�����֡�
xman - һ��˵�����ϵͳ�ļ����������
xmh - һ���ż�������ʽ��
1.5.5 ʾ������Ϸ��ʽ
��Щ��ʽչʾ�ˣ�ͼ�κͲ�ɫ������, ���㿪ʼʹ��ϵͳʱ, ������һ
������״�����õ����.
ico - ��ʾһ����ʮ���� (������������) ���Ӵ��ڽ��е�����ײ�˶�.
maze - ����������һ���Թ����ҳ����Ľⷨ.
muncher - ���Ӵ�����������̬��ͼ�� (patterns).
plaid - ���Ӵ��ϻ�һЩ�����仯�Ļ�����ͼ��.
xlogo - ���Ӵ���ӡһ���ص�����.
puzzle - �ǻ���, ��һ 4x4��������, �ƶ���� 1 - 15 ��С����,
���ų��ض���̬����Ϸ.
1.5.6 ��Ѷ��״̬��ʽ
���µij�ʽ�ṩ���й������Ӵ�ϵͳ����Ѷ��״̬, �㽫�᳣������
�����Լ��Ĺ��߳�ʽ������һ��.
xfd - ���Ӵ�����ʾһ������ָ�������ͣ��ҿ�ѡ���Ե��ṩ�����й�
�����͵���Ѷ��
xlsfonts - �����͵�Ŀ¼��ʽ, ������һ����ʾ��������Щ���Ϳɹ�
ʹ��.
showsnf - ��ʾ��server��SNF(Server Natural Format,��Server��ԭ
�еĸ�ʽ) ��ʽ��ijһ�����͵�ϸ��.
xwininf - ��ʾij���ض��Ӵ�����Ѷ, ���С, λ�ü���������.
xlswins - �г�ϵͳ�����е��Ӵ�, ����ѡ���Ե��г�ÿ���Ӵ���һЩ
ϸ��.
xprop - ��ʾ�Ӵ������� (properties) ������.
xdpyinfo - �ṩ�����ʾ������������ server֮ϸ��.
xev - ӡ�����Ӵ�������У� "�¼�(event)"��ϸ��, �������(diagnostic)
����о������ʹ�õĹ��߳�ʽ.
1.5.7 �����ʺ����ϵͳ֮���߳�ʽ
һ��ʼ����ܲ�������Щ��ʽ, ������һ��ʱ��, ����ܷ����������
��һ��ϵͳ, ������ʹ�ýϴ��Ԥ������, �Ӵ��߿򻻳��Լ�ϲ������ɫ��,
�����µij�ʽ, ����ʹ��Ĺ������������ʺ���.
xset -- �����������ϲ���趨��ʾ����, ������趨һ����ʹ����Ч��
��Ч, ���������������, ָ�����ʹӺδ�ȡ�õ�.
xsetroot - �����ѡ������ʾөĻ���������, ���㻬���ָ�겻����
��Ӧ���Ӵ���ʱ, ����Ըı�ʹ�õ���ɫ��ͼ�����α�.
xmodmap - ��ʾ���̵Ķ�Ӧ (mapping), Ҳ���ǰ�ʲ����Ե�ʲ����Ԫ,
�����������޸ij��ʺ���Ķ�Ӧ, ͨ�������趨һЩ����� (��
META, SHIFT-LOCK��) �ͺ�����, �����������Ҫ�趨�κμ�.
bitmap - ���㽨���ͱ༭λԪӳ��ij�ʽ, ���������ı�cursor��ʽ��,
�༭����ͼ, �Ӵ��ı���ͼ���ȵ�.
xrdb - ���������Ͽ�����ʾ��ı���ϲ����ɫ�ʻ����͵ȵ�, ����ɱ�
Ӧ�ó�ʽʹ�õ�. Ҳ����˵, ������趨һЩԤ�������, ����
Щ���Ա����л�ֻ���ض���Ӧ�ó�ʽ��������Ԥ������.
bdftosnf - ��һ�����ʹ�BDF("bitmap distribution format"һ�ֿ�Я
�ĸ�ʽ)��ʽת����Server ԭ�е�SNF ��ʽ.
��������

���� 0 ������