1
\documentclass[a4paper]{article}
8
\htmladdnormallink{ejoy@users.sourceforge.net}{mailto:ejoy@users.sourceforge.net}} \maketitle \pagebreak
10
\subsection{Linux����̨���Ļ�����״}
11
Linux��һ������ǿ�����ܳ��ڣ��ȶ��ɿ��IJ���ϵͳ����Linux���֮����δ���ǵ���Ӣ�����ʹ���ߵ���Ҫ���Ӷ������Linux��ʹ�����ĵ����ѣ�������Լ��Linux�ڹ��ڵ�Ӧ�ú��ռ�������Linux���ռ���һЩ��ʶ֮ʿ�Ѿ������Ļ�������չ�����о��������ڵ�chdrv,yact,wzce,cce�����������㣬TurboLinux�����ںˣ��������������İ�����ΪLinux���Ļ������˹��ס�
13
�����ַ�����Ŀ���̨��������֧�ֵ����ַ������Ҫ��ʹ֧֮�����ģ����뽫����̨�л���ͼ��ģʽ���������Ľ���֧�֡���Щ����̨���Ľ������ʹ�õļ���������ͬ�������Ͽ��Է�Ϊ���ʽ���ں˺������ַ�ʽ�����ʽ�������ʹ��α�ն˼������ҽ�����ƽ̨���ŵ��Dz������±����ںˣ�ȱ���Ǽ����Բ�̫�ã��ر��ǿ���̨��escape�������൱���ѡ�
15
���е�����ƽ̨�������ԣ�����չ�ԣ�Ӧ�ó�������Է�������ٴ����Ų��㣬zhcon�����������ı����µ����ġ�zhcon��Ŀ����Ϊ����Linuxʹ�����ṩһ��������õ����Ļ�����
17
zhcon��һ��������Linux����̨�µĶ���������ƽ̨�� ���ܹ�����̨����ʾ�������ġ��������ġ����ġ����ĵ�˫�ֽ��ַ��� ��ǰ�汾��zhconӵ����������:
20
zhcon֧��framebuffer,vga,libggi������ʾ������ʽ������֧�ּ������е��Կ������ں˱�����FrameBuffer�������������£�zhcon��ʹ��FrameBuffer�����������֧�ִ�640x480x8bpp �� 1024x768x32bpp�ķֱ��ʡ���������ں�û���ṩFrameBuffer�豸��֧�ֻ��߹�����VGA�ı�ģʽ��zhcon��ʹ���ڽ���vga������ʹ�Կ�������640x480x16ɫģʽ�¡����⣬��ϵͳ��װ��libggi��zhcon����ͨ��libggi֧�ָ������ʾӲ������ʾģʽ��
23
\item ������֧�֣����������Զ�ת�� \\
24
zhcon֧��GB2312,GBK,BIG5,JIS,KSCM�ȶ���˫�ֽڱ��뷽ʽ����ʹ���ȼ�����������䶯̬�л���ͨ�����ã�zhcon�����Զ����GB2312��BIG5���룬�����ڶ����Զ�ת��(����hztty)��
28
zhcon-0.2.1�ӿ�ʼ�����˶�gpm����֧�֡�
32
����ת����zhcon�ܹ���Windows98��UCDOS�е�������뷨(�Դ�14��)��ͬʱ��zhcon��֧��UNICON�����뷨ģ�飬���Ժ�Chinput�������뷨��
36
zhcon�ڿ���̨ʵ����Overspot�����淽ʽ�͵ײ�״̬�з�ʽ���������������۴������Զ�������������ɫ��
39
\item ����������Ʊ���ʶ��\\
40
zhcon������ȷʶ��������Ӧ�ó���(mc,linuxconf...)�е��Ʊ����ţ�����������롣
44
��zhcon�п�����ʱʹ��SHIFT-PAGEUP,SHIFT-PAGEDOWN,SHIFT-UP,SHIFT-DOWN�������ʷ��Ļ��
48
zhcon֧��12����14����16����24����ȶ��ֲ�ͬ�����������ʾ���ɸ�����Ļ�ֱ��ʵIJ�ͬѡ�ò�ͬ������������Ż���ʾЧ����
51
\item ��FreeBSD��֧��\\
52
��V0.2��ʼzhcon��ʽ�����˶�FreeBSD��֧�֡�
54
\subsection{zhcon�Ļ�������ԭ��}
55
ͨ�� Linux �Ŀ���̨�������ı�ģʽ�£�Ҫ������Ļ����ȷ��ʾ�����ֱ��뽫��Ļ�л��� ͼ��ģʽ�������ͨ�������ں� FrameBuffer ����������ʵ�֡����⣬��Ҫ����ȷʶ��ϵ ͳ���������̨�ĺ�����Ϣ�������ú�����ʾģ�齫���������Ļ��һ�ַ������� DOS �� �ĺ���ϵͳ����������������ϵͳʱ���ж϶�ʱ�����Դ��ַ B800:0000 ������ʾ������ ����̬ʶ�����е��ַ���Ϣ�����ַ���Ҫ�����ں��жϺ� TTY ��������ʵ������ �Ƚ����ѣ�������Ҫֱ�Ӳ���Ӳ����Ƶ�����������Ӱ����ϵͳ�Ŀ���ֲ�Ժ��ȶ��ԡ���һ �ַ������DZ�ϵͳ�����õĻ���α�նˣ� Pseudo-Terminals �������ʽ��������� α�նˣ� Pseudo-Terminal ����һ���������ն˵�����Ľ��̼�ͨ��ͨ���� channel ���� ͨ����һ�˱���Ϊ���豸�� master pseudo-terminal device ������һ�˱���Ϊ���豸��> д�����豸�����ݱ����͵����豸����д����豸������Ҳ�ɴ����豸���������û���˵�� �����Լ�ʵ�������ӵ��������ļ�����ն�֮�ϡ������֮��α�ն���λ�������ն˺����� �ն��豸֮���һ�ֳе����������ת�����ܵ��豸��
57
α�ն˵���֮���͵õ��˹㷺Ӧ�ã����͵�������Telnet�������Telnet��һ��Զ�̵�¼ �����û�ʹ��Telnet�ͻ��˳���ͨ�������¼��Զ������֮�Ͻ��и��ֲ�����Telnet���� �������һ��α�նˣ�һ�����ӵ�Telnet�ͻ��˳�����һ�����ӵ�����Ӧ�ó��ͻ��� Ӧ�ó���֮��ͨ��α�ն˽��жԻ���
59
��Ӧ�ó�����Ҫ�������豸�����̣���������ʱ���������̨�豸�� /dev/console ������ ϵͳ���� read() �������ں� console ������Ӧ��ϵͳ���������豸��������ͨ�� Ϊ�������� keyboard.c ������������ݣ�����֮���ظ�Ӧ�ó�����Ӧ�ó�����Ҫ��� ��̨�������ʱ����ͨ�� write() ϵͳ���ý����ݷ����� console �豸�������ں� console ����ת��������������豸���նˡ���ӡ������������������ȥ��
61
ͨ�����Ϸ������Է��������Ӧ�ó���ӿ���̨�豸�� /dev/console ����������֮ǰ�ػ� ����������Ϣ�����ύ���뷨ģ�鴦�����ٽ�������õ�����Ӣ����Ϣ������Ӧ�ó��� ����������롣����Ӧ�ó����������д�� /dev/console �豸֮ǰ�ػ���������ɺ��� ʶ��ģ�鴦���������ɺ�����ʾģ���������Ļ������ʵ����Ӣ�������
64
zhcon��һ������Linux����̨����Ϊ�˱��������zhcon����Ҫ����������
67
\item �����ں˰汾2.2���ϵ�Linuxϵͳ(��FreeBSD)�������ڱ����ں˽������FrameBuffer��֧�֡�
68
GNU C++(gcc).����ʹ��gcc 2.95.2���ϰ汾��
69
\item GNU autoconf/automake
70
\item UNICON\&Chinput(��ѡ)
74
��ĿǰΪֹ��zhcon�Ѿ���������ϵͳ���������У�
76
\item RedHat 6.2,7.1,7.3
77
\item Mandrake 8.1,8.2
79
\item Debian 2.2,woody,sid
83
�����������ƽ̨�ϵ�ϵͳҲ������zhcon����email�������ǡ�
85
���°汾��Դ������Դ�zhcon��վ��:zhcon.gnuchina.org�����ء� ���ص���һ��Դ�������v0.2Ϊ������zhcon-0.2.tar.gz
87
���Ƚ�Դ������һ����ʱĿ¼��
89
tar zxf zhcon-0.2.tar.gz -C /tmp
92
Ȼ������configure�ű����ϵͳ���뻷��������Makefile:
96
��ʱ��Ļ�ϻ���ֺܶ�����Ϣ�����û������Ļ�����ִ��make��ʼ����Դ���룺
100
������ɺ��л���root�û�ִ��make install��װ��ִ���ļ���ɾ����ʱĿ¼:
105
rm -rf /tmp/zhcon-0.2
107
���ˣ�zhcon�Ѿ��ɹ���װ������ϵͳ�С��ڿ���ִ̨��zhcon���ܽ������Ļ����� �������ж��zhcon����root���ݵ�½��ִ�У�
112
\subsection{gpm���֧��}
113
Ŀǰlinux�µ�gpm����������ֱ����zhcon�¹�������Ҫ�Գ��������Դ���toolsĿ¼����һ���Ѿ����������gpm-1.19.6-patched.tar.gz.������ֱ�Ӱ�װ.
117
\subsection{������ʾģʽ}
118
Ҫ�ڿ���̨����ʾ���ģ�����Ҫʹ����̨����ͼ��״̬��zhconĿǰ֧��FrameBuffer,libggi,vga����ͼ��������zhcon��װ��ʱ�����Ƿ����FrameBufferͼ�����������û�У���ֱ�Ӷ�VGA���п��ƣ�����640X480��16ɫͼ��ģʽ����������������Ҫ���±����ںˣ�Ҳ����װ�غ���ϵͳ��
121
FrameBuffer����������֡���塱������һ�ֶ�����Ӳ���ij���ͼ���豸�� FrameBuffer���ŵ�������߶ȵĿ���ֲ�ԣ���ʹ�������ȶ��ԡ� fbdrv��Linux kernel������ṩ��ͼ��������������������ΪX Window�ĵײ�������������ЩLinux�İ汾��û�а������뵽�����У�����û��ȱʡ�����ú�ʹ����������/etc/lilo.cfg��ִ��lilo -v���������������������˵Ļ����Ϳ��Կ����ɰ������ͼ���ˡ�
122
fbdrv����֧�ֺܶ��ϵ��Կ�����VGA��EGA���������Եȣ�Ҳ֧�����µ�VESA 2.0�������ԣ�����ѡ��fbdrv�����Եõ���ѡ�������ʾ��ʹzhcon����������640X480X8bpp��1024x768x32bpp��Ҳ����˵���Գ�ַ����Կ�����ʾ����������ʹ��Linux�ں˵�FrameBuffer������vesafb������������֧�ֵ�1024X768X32bpp���ϵķֱ��ʡ� FrameBuffer���Ƽ�ʹ�õ�������ʽ�� ������ϵͳ����ʱ��kernel����vga=mode-number�IJ���������FrameBuffer�豸���磺
123
lilo:linux vga=305 ��������1024X768X8bppģʽ��
125
�±��г��˲�ͬɫ��ģʽ����Ӧ�IJ�����
127
\begin{tabular}{|c|c|c|c|c|c|c|}
187
�й�FrameBuffer����ϸ����Ϣ����ģ�\textit{/usr/src/linux/Documentation/fb/vesafb.txt �ͣ���Framebuffer HOWTO����}
190
libggi��һ����ƽ̨�Ļ�ͼ�⡣ ����fbdrv֧�ֵ���ʾ���ͺܶ࣬������ʽ�ֲ�ͳһ��zhconֻ�ڽ�����õ�4bpp��32bpp��VESA 2.0֧�֣���������ʾ��������libggi��ͳһͼ�νӿ��ṩ֧�֣�����zhconʵ���Ͽ���֧�ָ����fbdrv��ֻҪ��libggi֧�ֵġ�
191
��Linux�ϣ�libggi��ͨ������FrameBuffer��svgalib�����ͼ�β����ģ�����ٶȱȽ����� ����ijЩ��֧��FrameBuffer��vga��ϵͳ�Ͽ���ͨ��libggi����ɻ�ͼ������
193
Ҫʹ��libggi����Ҫ����GGI\_DISPLAY�������������磺
194
��.bash\_profile���export GGI\_DISPLAY=display-fbdev:-noinput
195
��ʹ��libggi�ṩ�Ľӿ������ͼ�������ʹ��FrameBuffer��������ϸ����Ϣ�����libggi���ĵ���
198
��������ں˲�û�б������FrameBuffer��֧�֣���ô����ʹ���ڽ���vga������ʹ��Ŀ������640X480X16ɫ��ģʽ�¡���Ϊvga������ֱ�Ӷ��Կ��ϵ�
199
�Ĵ����������������ַ�ʽ����ֲ�Ժܲ
202
ϵͳ����ʱ�ᰴ����˳����ѡ��ͼ��������libggi����������˻�������GGI\_DISPLAY��,framebuffer,vga.
203
\subsection{������֧��}
204
������֧�� zhcon��һ������������ƽ̨��Ŀǰ֧��GB2312,GBK,BIG5,JIS,KSCM�ȶ������롣 ��ϵͳ����ʱ����ͨ���ȼ�CTRL-F1 - CTRL-F5�����ϼ��ֱ��뷽ʽ���л���
206
zhcon����һ�������Զ�ת�������ԡ�������GB2312��BIG����֮���Զ�ʶ��ת���� ʹ��CTRL-F9������manual,auto,auto-gb,auto-b5���ַ�ʽ���л���
208
\item manual����Ҫ�ֹ��л�����
209
\item auto:ϵͳ�Զ�ʶ��GB2312��BIG5��
210
\item auto-gb:ϵͳ�Զ�ʶ��GB2312��BIG5�룬��ʹ�ü����ֿ�����ʾ����
211
\item auto-b5:ϵͳ�Զ�ʶ��GB2312��BIG5�룬��ʹ�÷����ֿ�����ʾ����
213
\textbf{\textit{ע�⣺�����Զ�ʶ���ܽ�������GB2312��BIG5֮����Զ�ת����ʶ��} }
214
\subsection{���������֧��}
215
�������Ŀ���̨����ƽ̨һ����zhconʹ�õ���������ʾ���֡� Ŀǰ��zhconʹ��һ���ڱ���Linux PSF�����ʽ�Ļ�������չ�˵�BPSF��ʽ������ֿ⡣�Ըø�ʽ����ϸ�����ɲ���\textit{doc/bpsf.txt} ��
217
��ǰ�汾��zhcon֧��12,14,16,24�ȶ��ֵ������塣 �ڷֱ��ʽϵ͵�����£�640X480�����Կ���ʹ��12������������ʾ���֣� �ڸ߷ֱ��ʵ�����£�>=1024X768�������ʹ��24�����������Ż���ʾЧ����
219
���������ļ��������\$prefix/lib/zhcon/font/Ŀ¼�¡� ����ͨ���������ļ�zhcon.conf��.zhconrc�е�\textit{ascfont}
220
��(\textit{gbkfont,big5font,jisfont,kscmfont} )��ѡ��ͬ�����壬�磺
222
ascfont = font/asc16.bpsf
223
gbfont = font/gb-16.bpsf
224
gbkfont = font/gbk-16.bpsf
225
big5font = font/big5-16.bpsf
226
jisfont = font/jis-16.bpsf
227
kscmfont = font/kscm-16.bpsf
229
ascfont = font/asc12.bpsf
230
gbfont = font/hzk12.bpsf
231
��ʹ��12����������ʾ���庺�֡�
232
ascfont = font/asc24.bpsf
233
gbfont = font/gb-24-kai.bpsf
234
��ʹ��24����������ʾ���庺�֡�
236
\subsection{��������}
237
zhcon֧���������������淽ʽ�͵ײ�״̬�з�ʽ�� ��������ָ���봰�ͺ�ѡ��ʼ���������긽�����ֲ��Զ��������ƶ��� ��ʹ�û�����������ʱ�������õ��Ӿ�Ч���� ������ʱ��CTRL-F7��CTRL-F8�������ַ�ʽ���л���
239
ʹ��Ctrl+.����ţ����л���Ӣ�ı��״̬�� ʹ��CTRL+,�����ţ����л�ȫ��/���״̬��
241
ϵͳ����ʱ����ʱʹ��CTRL-ALT-H��������������ڲ鿴�ȼ����塣
242
\subsection{��zhcon��ʹ��unicon�����뷨}
243
unicon-im��TurboLinux���İ���ʹ�õ����뷨ģ�飬��ʹ����TurboLinux��UNICON������̨���Ļ�������Chinput
244
3.0�С����е�����ƴ�����뷨�ѳ�Ϊ��½���е����뷨��zhcon�����ڽ��ı�����ģ���⣬Ҳ��unicon-im�����뷨ģ���ṩ֧�֣�ʹ���߿��Ը����Լ��İ���ѡ��˳�ֵ����뷨��
245
�������ϵͳ�Ѿ���װ��unicon-imģ�飬��ִ��configure�ű�ʱ���Զ���unicon�İ�װλ�ã��������unicon-im��֧�֡�֮������zhcon����CTRL-ALT-8����ʹ������ƴ����!
247
ϵͳ����ʱ�����û�Ŀ¼Ѱ��.zhconrc�ļ������û�и��ļ���ʹ��\$prefix/lib/zhcon/zhcon.conf�е����á�
249
������ͨ������zhcon.conf/.zhconrc�е����������Ի�zhcon�� ����Ķ�����Ϣ������ļ��е�ע�͡�
250
\subsection{zhcon�ȼ�һ��}
251
�±��г��˵�ǰϵͳ�п��õ��ȼ�:
253
\begin{tabular}{|c|c|}
295
CTRL\_ALT\_1 -- CTRL\_ALT\_9&
312
��дzhcon�ij�����Ϊ���Linux�������ṩһ����ݵĿ���̨����ʹ�û���Ŀǰzhcon��Զ�����������ڲ��ϸĽ�֮�С� zhcon�ǿ���Դ�����������������GPL��Ȩ�·��У���ӭ��Linux���Ŀ�������Ȥ�����Ѽ� �뿪����Ը���ǵĹ�ͬŬ����ΪLinux���Ļ�����һ�㹱�ס�
314
zhcon����ҳ��\htmladdnormallink{http://zhcon.gnuchina.org}{http://zhcon.gnuchina.org}.��Ŀ�Ŀ���ҳ����
315
\htmladdnormallink{http://sourceforge.net/projects/zhcon}{http://sourceforge.net/projects/zhcon}ͨ����ҳ����Է��ʵ�zhcon��Ŀ��һЩ��
316
�� �� Ϣ�� �����zhcon��������Ȥ�����Ѽ���������ʼ��б�zhcon-devel���κ�ʹ�ã�������������ⶼ���Է��ŵ���
317
\htmladdnormallink{zhcon-devel@lists.sourceforge.net}{mailto:zhcon-devel@lists.s
320
�ڿ���zhcon�Ĺ����У����ǵõ����������ѵİ������ڴ������DZ�ʾ��ϵĸ�л����THANKS�ļ������������©���������֣��뷢�Ÿ����ǣ���
323
\htmladdnormallink{www.gnuchina.org}{http://www.gnuchina.org}
325
\htmladdnormallink{linuxforum.net{http://linuxforum.net}
328
��Ϊ������վ�㱳���֧���̶���TurboLinux�����Ի�Ҫ��Ӹ�лTurboLinux��˾��Linux���Ļ���չ��֧�֡�
329
\htmladdnormallink{www.turbolinux.com.cn}{http://www.turbolinux.com.cn}.