
                              ⾯ mini-Howto
                                       
Alessandro Rubini, rubini@linux.it

   v2.2, 11ʮһ 1997
     _________________________________________________________________
   
   ļһϵͳʹ termcap 趨һ⾯ʹ
   Ч.
     _________________________________________________________________
   
1. 

2. Spekearectomy

3. ÿһ console 趨

4.  Termcap  Terminfo

5. һ⾯

6. ʹ console ʧЧ

7. Ӧóʽⷢ

8. ĺڰ
     _________________________________________________________________
   
1. 

   ÿһ BEL Ԫ(ASCII  7)ʱ Linux console  .ȻԤ
   Ϊһȷѡ ,ûϲǵĵԷ.
   mini-Howto θӦóʽ˵Ҫ BEL .Ҳ
   ̵ĺ X Ӵϵͳһ BEL ʱⷢ.עļ󲿷 ̸
    console ,趨 X ŷ ׵ catch-all һͼεĻ
   κʹ.
   
   һ޵ĵҵõķ Ӳ,Լĵû
   һ.
   
2. Spekearectomy

   Speakerectomy  ֱӵĽǰ(), 
   ȵ. .ֱӵĺ Ҫκ,
   ҪĻиĽĿռ.
   
   PC ͨװһ׾лϵ͵ CPU ʱĿ. һ๤
   ʱ⿪Ǵδʹ, ҪѵִϷ 
   loops .ҵǲʹл ٶ,ǿʹʹ
    /Ч .ʱõļʹһ silent number
   cruncher cruncher,źŽһ lenghty ༭.޸Ŀع,ֻҪ
   Ҫĵ·߷ֿ .
   
   ϥ͵Եӵ,ҵĲ׵ʹ ,ûһʣŵл
   ȥתһ ͬĹ.ûϺõĽ趨 ǵ
   ⷢ,µ.
   
3. ÿһ console 趨

    Linux 1.3.43 ʱ, Martin Mares 趨 ̶Ⱥͳ
   ,޸ console.c.ÿһ console Ǳ趨ɫһͬĳ /
    ĳ̶ ;ɿʹ escape ˳  console 豸.
   趨Լ ~/.profile  ~/.loginѡһͬ趨
     console (ȫһҲ,ҪĻ).
   
   escape ˳:
     * ESC-[10;xx] ѡƵú֥.ֵ ӦڡΧ 21-32766,
       ֵûб.  `xx' ֵʧ,Ԥֵ (750) 
       ,  `ESC-[10].
     * ESC-[11;xx] ѡ, milli-seconds (). ָ
       2,Ԥʹ (125ms).Ȼһ , `xx' ֵʧ (ESC-[11])
       Ԥֵ ᱻʹ.
       
   ѡ,,һ 50Hz ̶ȿԳһ,ʹ "echo -e
   "\\33[10;50]\\33[11;1000]"" with bash (where "-e" ˼ `˽ Escape
   ˳'.ʹ tcsh ͬ ƴд "echo
   "\\033[10;50]\\033[11;1000]"".
   
   Ҳ֪ setterm κΰ汾 ֧趨,Ľİ
   Ҳú ֧ѡ趨.
   
   ִ Linux-1.3.43 ߽µ,Ҳ escape ˳ͱĶ
   .ִнϾɵĺ, Ҫ⾯,ҪĶļŵĲ.
   
4.  Termcap  Terminfo

    /etc/termcapһֵг terminal capabilities. Ӧó
   ʽʹ termcap өĻΧƶָ өĻĹ. tcsh,
   bash, vi Լ curses-Ӧóʽʹ termcap Ͽ.
   
   Ͽն˻. TERM ʱѡȷΪ ,
   һ termcap λǱ Ӧóʽʹ.
   
   Ͽڲ,ÿһն˻ʾһ two-letter һʵʵ
   escape ˳ıʾ ʹȡҪЧ.ڲ֮ͬķָԪ
   ʹð (":").һʵ,ü ,Ĵ "bl",ֵͨ
   "bl=^G".˳ ǻÿӡ control-G Ԫ, ASCII BEL .
   
    bl , vb Ǳ ֯.Ǳʹ "⾯". vb ͨ
    termcap  linux λʧ.
   
   󲿷ִֵӦóʽͳʽʹ terminfo Ͽ  termcap. Ͽ
   ÿһն˻̬ʹһ λ /usr/lib/terminfo;ʹü Ŀ
   ¼,ÿһն˻͵Ǵĸһ Ŀ¼; Ǹ
   linux λ, , /usr/lib/terminfo/l/linux.һ terminfo λ
    ``'' termcap ; ̸ tic ʽ˵ҳ.
   
5. һ⾯

   Լλ vb Լ termcap ,ûѾһ
   . Dennis Henriksen (duke@diku.dk) и termcap λ
    linux (עھɵ distributions λǽ console ):
   
:vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\

   Ѱ backslash ϿǱʹ escape newline. Dennis' и
    (Լ˵):
     * ָλ (uustһȫ).
     * ı䱳ɫڱ׼ͷǱ׼֮.
     * ָָλ.
       
6. ʹ console ʧЧ

   ǿʹ⾯ console ʹ "bl"  termcap λ
   ʹִͬ  "vb" ֮.Ǳ㲻 Ҫ
   ÿһӦóʽ (µ,). лʹѡ
   ҿִ Linux  ܲ.
   
7. Ӧóʽⷢ

   һȫӦóʽ嵥Ǳָʾȥ ʹ vb λԵǰն
   ̬ (ʹһ termcap ϻ terminfo ):
   
     * X ŷ:ʹ "xset b"ѡ bell Ϊ.ָȡֵ
       :С,̶Ⱥͳ. "xset -b" ʹ ȫЧ.趨 X ŷӰ
       ʾִе Ӧóʽ.
     * xterm: xterm תһüĻ üź.
       ʹ,"xset" 趨 . xterm Ԥ ü,
       ʹ "-vb" ѡ  "xterm*visualBell: true" İ취ת
       һ ü.˩οü/üź ʱ
       control--left-mouse-button гѡ .ִ X пܵ 
       Ҫ.
     * tcsh (6.04 ): "set visiblebell". ָʾǰŵ
       .cshrc ߿ǻʽִ .ֻҪ "unset visiblebell".
       ʹκ֪ͨЧ,ʹ "set nobeep" ȡ.
     * bash (κ bash,֪): "set bell-style visible" 
       ~/.bashrc.̬ܵ  "û" "ü".
     * bash (with readline,ͬ readline Ӧóʽ): "set
       prefer-visible-bell"  ~/.inputrc.
     * nvi  elvis:  "set flash"  ~/.exrc˵ ":set flash" ʽ
       (ע Ǹð).ʹ⾯Чʹ noflash  flash ĵط.
     * emacs:  "(setq visible-bell t)" ~/.emacs.ǿ "(setq
       visible-bell nil)" ʹûЧ.
     * less:ʹ "-q"ʹ⾯, ʹ "-Q" ʹκαЧ.Ԥ
       ѡ ŽĻ "LESS".
     * screen: ִ CtrlA-CtrlG .ı өĻΪ. man page
        "CUSTOMIZATION" ֮԰װԤֵ.
       
8. ĺڰ

   ϢÿһӦóʽʹ termcap  terminfo.󲿷Сĳ
   ɫ C ԭʼʹ 'backslash-a' () Ԫ. "alarm" ִб
   һϵ ASCII BEL ɶλ. Ӧóʽͨ
   ,עѧ C  ǸԼĳʽ.ĵǵԿѧ
   ѧ ,.
   
   ΨһķʹЩʽĬӦóʽ spekearectomy, Martin Mares
   ķʹ escape ˳.
