  Visible bell mini-Howto
  Alessandro Rubini, rubini@ipvvis.unipv.it
  v2.1, Aug 1996

ë鳨 jeanne@mbox.kyoto-inet.or.jp
1996/10/06

  ʸ termcap λˡˤĤƤĤפ򤷡
ɬפ˱ƥӡײ̵ˤ륫ͥѥå
ĤƤξ󶡤Ƥޤ

1. Ϥ

  Linux 󥽡ɥ饤Ф BEL 饯 (ASCII code 7) 
ϤĤǤӡײĤ餷ޤϥǥեȤΤդޤȤ
ΤȤǤ¿Υ桼ϥԥ塼ӡײФ
Ȥ򹥤ߤޤ󡣤 mini-HOWTO Ǥ BEL ɤϤʤ褦˥
ץꥱˡ뤳ȤͽꤷƤޤͥ
ѥå˴ؤ󤬽ʬ󶡤Ƥޤѥå termcap 
ȥץꥱΥǥեƤƤޤΤ򤱤뤿
¿ŪǤ뤳ȤտޤƤޤ
  ΰոǤϺǤ褤ϥϡɥǲ褹뤳ȤǡΥ
ԥ塼ˤϥԡϼ곰ƤޤäƤĤƤޤ


2 Spekearectomy* (ԡ곰)

  Speakerectomy (ԡ곰)ϡӡײФ
ȤƤ⤢䤫ʲǤղŪʲϲͤޤ
ӡײǤñˡǤ

[*]Speakerectomy ˤĤԤǤSpeakerectomy is a
neologism, an invented word. Taken from the surgical vocabulary, -
ctomy means cut-and-remove. It's (loud)speaker removal -- by
cutting wires.  
Speakerectomy ȤդϿǡäդǤ
Ūʸդͳ褷ޤ-ctomy ȤΤϡǤϤ
̣ޤ³Ǥƥԡűޤ


  ̾ PC ˤϡ®ˤ뤿˥ᥤܡɥåڤؤ뤢
ޤΩʤåѰդƤޤΥåϥޥ
ĶưˤϤޤäפǤƥեȥΥ롼
ǥߥ󥰤ȤäƤ褦ʸŤ DOS Υ®ˤ
ǽϤȤƤޤԱˤץå®٤ä
åȤȤϤǤޤ󤬡Υå򥹥ԡͭ
̵ˤ뤿žѤ뤳ȤǤޤĹ֤פ륳ѥ
νλˡԥ塼ӡײĤ餹ȤϡŤʥ󥽡
˾ͤˤȤäƤ⤤ȤǤ

  ®ؤåεǽѹˤϡᥤܡɤ餽
곰򥹥ԡľ³Ǥ

  ԱˤåץȥåפȤäƤͤϥԡ˥뤳
ϴñǤϤޤ󤷡äŪ˻Ѥ뤿;äƤ륹
⤢ޤ󡣤Τ褦ʥ桼ξ硢褤ˡϥեȥ
򲻤Фʤ褦ꤷƤߤ뤳ȤǤ


3. 󥽡뤴Ȥ˥ӡײ

  Linux 1.2.43 ˴ؤơMartin Mares ϲĤǤ褦
 console.c եɲäޤtty ˥ץ󥹤
񤯤Ȥǡ٤ƤΥ󥽡ǥӡײλ³֤ȥԥåѹ
ޤ줾Υ󥽡ϢȤ뤽줾äӡײ(
ϥӡײʤʤʤ)ꤹ뤿 ~/.proflile 
  ~/.login ˼ʬä뤳ȤǤޤ

ץ󥹤ϼΤ褦ưޤ

  ESC-[10;xx]  إ(Hz)ǥ٥οư򤷤ޤͤ 
21-32766 ϰϤˤʤޤǤʤ̤Ǥ(ʤ
С2.0 Ǥ)ΤȤϤ狼꤫ͤޤ⤷ 'xx' ¸
ʤȡ`ESC-[10] Τ褦˥ǥե(750Hz) ŬѤޤ

  ESC-[11;xx] ϥߥꥻɤñ̤ǥ٥λ³֤򤷤ޤ
ðʾꤹȥǥե(125ms)ŬѤޤ٤⤤ޤ
⤷ 'xx'argument¸ߤʤʤ顢ǥե(ESC-[11])Ŭ
Ѥޤ

  ץ󥹤Ϥʤ顢ȤСbash Ǥ(50Hz, 1s)
"echo -e "\33[10;50]\33[11;1000]"" ȤǤޤ( -e  
ץ󥹤򤹤롢̣ޤ) 
tcsh Ǥ
"echo "33[10;50] 33[11;1000]" Ʊͤθ̤ޤ

  楳ɤ `setterm-commands' ȤϿƤΤǡ
`setterm' ޥɤϥޥɥ饤ǤΥ٥򥵥ݡȤ
뤫⤷ʤȤդƤΤäƤС
 `setterm' ˡΥɤ򥵥ݡȤƤΤϤ


  ⤷ Linux-1.3.43 뤤Ϥ꿷СưƤ
ʤ顢ʤϥץ󥹤­Ƥʾɤޤ
⤷ޤ͡⤷ʤŤͥ(伫ȤϾ 386 
ǤȤäƤޤ)ưƤ뤫뤤Ϥ⤷ʤ
ӥ奢٥Ȥʤ褯ɤǤ͡


4. Termcap ˤĤƤδŪǰ

  /etc/termcap եü楳ɤ򽸤Ƥƥȥե
ǤĤΥץꥱϡ꡼ǤΥΰư
䡢뤤ϥ꡼ظκȤ򤹤Τ termcap Ȥޤ
tash  bash 뤤 vi ʤ curses 饤֥ȤäƤ뤹
ƤΥץꥱ termcapdatabase Ȥޤ

  database ϤޤޤʤüμϿƥץꥱ 
termcap Ͽ򻲾Ȥ TERM ĶѿȤޤλ줾
楳ɤϴ̤θ̤뤿˻ѤϢ³ʸ˴Ϣ
Ť줿ʸΥɤɽޤڤʸϥ(":")Ǥ
ȤĤȤơӡײ code "bl" ǤϡĤĤʤä
"bl=^G" ɽ졢control-G ȤʸȤ ASCII BEL Υץꥱ
򼨤Ƥޤ

  bl դäơvb 椬ޤϡӥ奢٥
ɽޤvb Linux  /etc/termcap ̾拾󥽡ϿˤϤ
ޤ


5. ӥ奢٥

  ʤϼʬ termcap ե vb ϿɲäǤޤ
Dennis Henriksen (duke@diku.dk) ϥ󥽡Фtermcap Ͽ
ιԤ뤳ȤƤޤ

       :vb=\E7\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l\E8:\

  Ϣ³ƤХåå(\\) ϥǡ١ǿԤ
뤿˻ȤޤDennis' code(༫ȤθդǸʤ)Τ
Ȥ򤷤ޤ

 ΰ֤ݻ()

 ֤̾ȥСȤδ֤طʿѹ

 ֤롣

termcap ΤĤ

 ʤ TERM ѿɤʤäƤ뤫åޤ礦
 "console" ȤƻѤƤʤ顢Ѥ Linux ʪ 
kernel ΥС˰¸ޤºݤˡ"linux" ѹΤ


 vb ΰ褬Ǥˤˤ뤫ɤåޤ礦ۼԤϥ
ȤɤǤ뤷Ĥ⥽եȥ򥢥åץ졼ɤƤ
ޤ

 ĤΥץꥱ termcap Ѥޤ terminfo 
ǡ١ȤޤϤʤ vb Ͽǧʤ⤷
ޤterminfo termcap ä񤷤ФǤʤä
ϤǤ


6. ץꥱؤã

  ʲΤΤϼºݤüμ vb ϿѤ褦˻ؼǤ
ץꥱ̤ΥꥹȤǤ

 6.04 Ȥʹߤ tcsh Ǥ "set visiblebell" Ǥ 
  .cshrc ˵Ҥ뤫뤤Ū˼¹ԤǤޤӡײ
ꥻåȤˤ "unset visiblebell" Ǥ̵ˤˤ
 "setnobeep" Ǥ

 bash(䤬ΤäƤ¤ǤϤɤ bash Ǥ) Ǥϡ~/.bashrc ˡ
"set bell-style visible" 򵭽Ҥޤ "none" 뤤 
"audible" ǽǤ

 bash (readline äƤΡ¾ readline Ȥץꥱ
ƱͤǤ)Ǥ ~/.inputrc" ˡset prefer-visible-bell" 
ꤷޤ

 nvi  elvis Ǥϡ~/.exrc  "set flash" 򵭽Ҥ뤫Ū
(: Ĥ) ":set flash" ޤ ӡײ̵ˤ
ˤ flash Τ noflash Ȥޤ

 emacs Ǥ ~/.emacs  "(setq visible-bell t)" 񤭤ޤ
"(setq visible-bell nil)" ̵ˤʤޤ

 less Ǥϡӥ奢٥Ȥˤϥޥɥ饤 "-q" Ȥ
ޤ "-Q" Ȥ̵ˤʤȤ𤬤Ĥޤǥե
ȥץϴĶѿ "LESS" ȤȤǤޤ

꡼
 xterm: xterm ϥӥ奢뤢뤤ϥӡײΤ줫ο򤪤Τ
ΤΥ٥ɽѴǤޤӡײǥեȤǤޥɥ
Υץ "-bv" "xterm*visualBell: true" ȤȤǤ
ޤcontrol-mouse-2 menu(control 򲡤ƣܥޥ
ܥȤä˲̤ɽ˥塼) Ȥäƥӥ奢
ȥӡײˤڤؤ뤳ȤǤޤ

 ¾ X ץꥱǤϡ ޥɥ饤Υץ 
"-f volume" ǡ X Ф˲̤뤳ȤǤޤ"volume"  
0  100 δ֤Ǥ ФФ륳ޥɥ饤Υץ
ˡˤĤƤ X ɥȤ뤤򻲹ͤˤƤ



7. ӡײ̵ˤ

  󥽡ǥӥ奢٥򶯤ʤ顢termcap եΤ
ǡ  vb ФͿƤΤƱԤ bl Ͽ
뤳ȤǤޤΥץϤ줾Υץꥱ
򥫥ޥȤޤ Linux ư뤳
ȤǤޥǤϤ٤ƤΥץȤäƤޤ

  ϡŪ³ǤĤʤ줿Ѥ륢ץꥱ
ϡΥɤϤΤ褦ѹǤϱƶʤȤ
Ƥ


8. ꤷ䤹

  󥽡ǥӡײȥӥ奢٥Ǥ褦ˤʤ顢
Linux Υ󥽡ǣĤΰäüȤޤȤС
˥󥽡(console) ȡ󥽡-vb (console-vb) Τ褦
̾Ĥ뤳ȤǤޤ console Ͽꥸʥˤʤޤ
⤦ҤȤĤΤΤϡbl μȤƥӥ奢٥Ĥ뤳
ǤޤΤ褦ˤƥ󥽡ǤΥ٥ΤդޤѹǤ


 tcsh Ǥϡ꡼եåˤ "setenv TERM console-vb"
ƥӡײĤ餹ˤ "setenv TERM console" Ȥޤ

 bash Ǥϥեåˤ "TERM=console-vb; export TERM"
ӡײˤ "TERM=console; export TERM" Ȥޤ

  termcap η̤θüμǤΤǡʤϺ
ʬǡ١ɬפ뤳ȤդƤ
ʤˤĤƤ manpages 򻲹ͤˤƤ


9. ¾βˡ

  ǰʾȤƤϡ٤ƤΥץꥱ termcap ǧ
櫓ǤϤʤȤȤǤʬξʥץ C 
ɤ 'backslash-a' ( \a ) 虜虜ȤäƤޤΥ
饯ϼ¹ԥХʥ꡼ʸ̤ƥȤ ASCII BEL ˤʤޤ
̾ºݤΥץꥱϤΥƥ꡼ޤ󤬡ʤ
˼ʬΥץϤ C ԤˤϷٲޤ礦ä˥ԥ塼
󥹤ؤӻϤ᤿ν鿴ԤϤߤʺǰǤ

  Υץꥱǥԡߤ뤿ҤȤĤˡ
speakerectomy(ԡ곰) 뤤ϡMartin Mares 
κץ󥹤Ѥ뤳ȤǤ

  ϼʬΤ˥ѥåޤץ󥹤
ΤǤʾ򥵥ݡȤޤǤϲĴҤ򥵥ݡȤ
뤿1.3.42 ǻΥѥå⤦ٻȤޤȤ1.3.43 
ǤϤǤˤäƤȯΤǤ:-)

---------------------------------------------

ܸˤĤƤ䤤碌
jeanne@mbox.kyoto-inet.or.jp

ܸ Linux-JF ץȤ¿˥ݡĺޤ
꤬Ȥޤ
ë鳨 jeanne@mbox.kyoto-inet.or.jp
1996/10/06
