File: Visual-Bell.pl.txt

package info (click to toggle)
doc-linux-pl 2002.06.14-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, jessie, jessie-kfreebsd, lenny, squeeze, wheezy
  • size: 6,900 kB
  • ctags: 968
  • sloc: makefile: 66
file content (330 lines) | stat: -rw-r--r-- 11,574 bytes parent folder | download | duplicates (3)
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
  AAllaarrmm wwiizzuuaallnnyy ((mmaaee JJTTZZ))
  Alessandro Rubini, rubini@linux.it
  v2.3,  3 grudnia 2001
  Wersja polska: Tomasz 'tsca' Sienicki, tsca@edb.dk
  v1.01, 10 grudnia 2001


  Jak uciszy komputer: alarm wizualny zamiast dwikowego.
  ______________________________________________________________________

  Spis treci


  1. Licencja oraz prawa autorskie

  2. Wstp

  3. Goniczkotomia

  4. Konfiguracja dwiku na poszczeglnych konsolach

  5. Podstawowe wiadomoci o plikach termcap i terminfo/*

  6. Definiowanie alarmu wizualnego

  7. Wyczenie alarmu dwikowego na konsoli tekstowej

  8. Uciszanie aplikacji

  9. Ciemna strona zagadnienia

  10. Od tumacza



  ______________________________________________________________________

  11..  LLiicceennccjjaa oorraazz pprraawwaa aauuttoorrsskkiiee

  Copyright (c) 1997, Alessandro Rubini

  Niniejszy dokument rozpowszechniany jest na warunkach okrelonych w
  licencji _G_N_U _F_r_e_e _D_o_c_u_m_e_n_t_a_t_i_o_n _L_i_c_e_n_s_e.  Jeli nie otrzymae treci
  licencji FDL z tym dokumentem, zapozna si z ni moesz pod adresem
  <http://www.fsf.org/licenses/fdl.html>.


  22..  WWssttpp

  Konsola Linuksa wydaje sygna dwikowy (brzczyk) po natrafieniu na
  znak BEL (kod ascii 7). Jest to rozsdnie wybrana standardowa reakcja,
  jednak wielu uytkownikw nie lubi, kiedy ich komputer wydaje dwiki.
  Niniejszy dokument opisuje sposb takiej konfiguracji programw, aby
  nie wysyay one kodu BEL oraz takiej konfiguracji jdra i X, aby
  komputer milcza nawet wtedy, gdy kod BEL zostanie wysany. Wikszo
  tekstu dotyczy konsoli, poniewa konfiguracja serwera X w tym zakresie
  nie powinna powodowa trudnoci.

  Wedug mnie temperowanie niesfornej maszyny naley rozpocz na
  poziomie sprztowym; np. w moim komputerze goniczka _n_i_e _m_a!


  33..  GGoonniicczzkkoottoommiiaa

  Goniczkotomia jest najskuteczniejszym rozwizaniem problemu alarmu
  dwikowego. Jak sama nazwa wskazuje, sposb polega na fizycznym
  odczeniu lub usuniciu goniczka. Operacja jest prosta -- mona si
  nawet oby bez znieczulenia.

  Istniej te sposoby nieco bardziej wyrafinowane. Pecety wyposaone s
  zwykle w przecznik TURBO. Podczas pracy w rodowisku wielozadaniowym
  guziczka tego nigdy si waciwie do spowalniania procesora nie uywa;
  nie ma takiej potrzeby nawet w przypadku gier opartych na programowych
  ptlach. Niestety, przyspieszy komputera tym guziczkiem si nie da;
  mona go za to wykorzysta do wczania/wyczania goniczka.
  Goniczek, cho generalnie irytujcy, czasem jednak bywa przydatny
  np. do zaanonsowania zakoczenia dugiej kompilacji.
  Aby zmieni funkcj przecznika, po prostu odcz go od pyty gwnej
  i pocz szeregowo z goniczkiem.

  W przypadku komputerw przenonych (laptopw), dostp do brzczyka
  jest niestety ograniczony; brak te przecznika, ktremu monaby
  podporzdkowa nowe zadanie. Uytkownicy takich komputerw musz
  ograniczy si do rozwiza programowych, o czym poniej.


  44..  KKoonnffiigguurraaccjjaa ddwwiikkuu nnaa ppoosszzcczzeeggllnnyycchh kkoonnssoollaacchh

  Od wersji jdra 1.3.43 wzwy, dziki atce Martina Maresa na
  console.c, istnieje moliwo wyboru czstotliwoci i dugoci trwania
  alarmu dwikowego.  Wysyajc odpowiednie sekwencje znakw
  niedrukowalnych na poszczeglne konsole mona konsolom tym przypisa
  rne waciwoci dwiku (lub jego brak). Cao sprowadza si do
  umieszczenia polece konfigurujcych dwik w pliku ~/.login lub
  ~/.profile. Odpowiedzialne za waciwoci dwiku kody to:


    ESC-[10;xx] -- okrela czstotliwo dwiku w Hertzach. Dozwolone
     wartoci xx mieszcz si w zakresie od 21 do 32766; wynik dziaania
     wartoci przekraczajcych te granice nie jest zdefiniowany. W
     przypadku braku argumentu xx ('ESC-[10]') stosowana jest warto
     domylna (750Hz)

    ESC-[11;xx] -- okrela dugo trwania dwiku w milisekundach.
     Warto domylna (125 ms) stosowana jest w przypadku wybrania czasu
     przekraczajcego 2 sekundy oraz jeli argument xx nie jest podany
     ('ESC-[10]').


  PPrrzzyykkaadd:: Aby ustawi czstotliwo dwiku na 50Hz a jego dugo na
  1 sek, wydaj w bashu polecenie 'echo -e "\\33[10;50]\\33[11;1000]"'
  (argument -e oznacza 'interpretuj znaki niedrukowalne').
  Odpowiednikiem tej komendy dla tcsh jest 'echo
  "\\033[10;50]\\033[11;1000]"'.

  adna ze znanych mi obecnie wersji polecenia setterm nie potrafi
  konfigurowa dwiku, niewykluczone jednak, e w przyszoci ta
  funkcjonalno zostanie dodana.

  Jeli uywasz jdra 1.3.43 lub nowszego i satysfakcjonuje ci powysze
  rozwizanie, moesz tu zakoczy czytanie. Jeli jednak uywasz
  starszego jdra lub chciaby stosowa alarm wizualny zamiast
  dwikowego, czytaj dalej.


  55..  PPooddssttaawwoowwee wwiiaaddoommooccii oo pplliikkaacchh tteerrmmccaapp ii tteerrmmiinnffoo//**

  Tekstowy plik /etc/termcap to baza danych o moliwociach terminali
  (ang. tteerrmminal ccaappablilities -- std nazwa). Wiele programw (np.
  tcsh, bash, vi i wszystkie korzystajce z curses) korzysta przy
  przesuwaniu kursora i innych operacjach zwizanych z ekranem z
  zawartych w tym pliku informacji.
  Baza /etc/termcap opisuje poszczeglne rodzaje terminali. Do
  odpowiedniej czci tej bazy kieruje aplikacje zmienna rodowiskowa
  TERM.

  Poszczeglne moliwoci terminali opisane s w termcap dwuliterowymi
  kodami, po ktrych nastpuj sekwencje znakw wymaganych do
  osignicia danego efektu.  Kolejne wpisy przedzielone s dwukropkiem
  (":"). Na przykad alarm dwikowy (kod "bl") zazwyczaj opisany jest
  jako "bl=^G".  Wpis taki oznacza, e brzczyk uzyskuje si sekwencj
  control-G (ascii BEL).

  Obok alarmu dwikowego ("bl") rozpoznawany jest rwnie wizualny
  ("vb" -- visual bell), jednak zazwyczaj brakuje tego wpisu w
  powiconej terminalowi "linux" czci termcap.

  Wikszo nowszych aplikacji i bibliotek zamiast z termcap korzysta z
  bazy danych terminfo.  W przeciwiestwie do termcap, termifo nie jest
  jednym wielkim plikiem, a katalogiem, w ktrym opisy poszczeglnych
  terminali umieszczone s w osobnych plikach, a te z kolei w
  podkatalogach o nazwach bdcych kolejnymi pierwszymi literami
  alfabetu. Na przykad opis terminala "linux" znajdzie si w pliku
  /usr/lib/terminfo/l/linux (lub /usr/share/terminfo/l/linux -- przyp.
  tum). Opisy terminali w terminfo s plikami binarnymi, kompiluje je
  si programem tic (patrz man tic).


  66..  DDeeffiinniioowwaanniiee aallaarrmmuu wwiizzuuaallnneeggoo

  Dodanie brakujcej definicji alarmu wizualnego "vb" do /etc/termcap
  nie jest trudne. Oto metoda Dennisa Henriksena (duke@diku.dk): naley
  odnale sekcj "linux" (w starszych dystrybucjach sekcja ta nazywa
  si "console") i doda w niej nastpujc lini:


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




  Ostatni ukonik zapobiega zamaniu linii.
  Wg opisu Dennisa powysza linia

    zapamituje pozycj kursora (na wszelki wypadek),

    kilkakrotnie zmienia to konsoli (z normalnego na odwrcone i z
     powrotem)

    i umieszcza kursor w zapamitanej pozycji.


  77..  WWyycczzeenniiee aallaarrmmuu ddwwiikkoowweeggoo nnaa kkoonnssoollii tteekkssttoowweejj

  Jeli chcesz zmusi konsol do uywania alarmu wizualnego zamiast
  dwikowego (bysk zamiast pisku) znajd w pliku termcap w sekcji dla
  twojego terminala definicj efektu "bl" i zmie j na definicj bysku
  (podan w poprzednim rozdziale). To rozwizanie jest najwygodniejsze,
  jeli nie chcesz okrela osobno zachowania rnych aplikacji. Ja
  stosuj ten sposb na wszystkich moich komputerach z Linuksem, w
  ktrych nie mog fizycznie odczy goniczka.


  88..  UUcciisszzaanniiee aapplliikkaaccjjii

  Poniej podaj niekompletny spis programw, ktre mona przekona do
  uywania podanej w termcap lub terminfo definicji "vb" biecego
  terminala.
    Serwer X: konfiguracji brzczyka dokonuje si poleceniem "xset b".
     Polecenie to przyjmuje trzy numeryczne argumenty: gono,
     czstotliwo oraz dugo. "xset -b" cakowicie wycza brzczyk.
     Konfiguracja dziaa na wszystkie programy uruchomione pod X.

    xterm: xterm umie zinterpretowa sygna BEL zarwno jako alarm
     dwikowy, jak i wizualny. Jeli zdecydujesz si na alarm
     dwikowy, zadziaaj ustawienia "xset" (patrz punkt "Serwer X").
     Alarm wizualny uzyska mona poprzez podanie opcji "-vb" przy
     uruchamianiu xterm-a lub zdefiniowanie zasobw "xterm*visualBell:
     true".  Podczas dziaania xterma rodzaj alarmu przecza mona w
     menu wywoywanym przez control+lewy_przycisk_myszy.
     Jeli uywasz X, prawdopodobnie nie zainteresuj ci ponisze
     informacje.

    tcsh (6.04 i nowsze): "set visiblebell".  Instrukcj t mona
     umieci w pliku .cshrc lub poda interaktywnie. Wyczenie alarmu
     wizualnego: "unset visiblebell".  Wyczenie alarmu wizualnego oraz
     dwikowego: "set nobeep".

    bash (o ile wiem wszystkie wersje): umie lini "set bell-style
     visible" w pliku ~/.bashrc.  Zamiast "visible" (wizualny) moesz
     wpisa "audible" (dwikowy) lub "none" (aden).

    bash (z readline, oraz inne aplikacje korzystajce z readline):
     umie lini "set prefer-visible-bell" w pliku ~/.inputrc.

    nvi i elvis: umie lini "set flash" w pliku ~/.exrc lub
     interaktywnie podaj ":set flash" (pamitaj o dwukropku). Zamiana w
     powyszej linii sowa "flash" na "noflash" spowoduje wyczenie
     alarmu wizualnego.

    emacs: umie lini "(setq visible-bell t)" w pliku ~/.emacs.
     Zamiana w powyszej komendzie kocowej litery "t" na sowo "nil"
     spowoduje wyczenie alarmu wizualnego.

    less: alarm wizualny wcza si podajc w linii polece opcj "-q",
     natomiast wszystkie rodzaje alarmu wycza si opcj "-Q".  Opcje
     domylne mona umieci w zmiennej rodowiskowej "LESS".

    screen: uyj kombinacji klawiszy CtrlA-CtrlG. Zmieni to zachowanie
     wszystkich wirtualnych sesji. Wicej informacji na ten temat
     znajdziesz w podrczniku systemowym ("man screen") w sekcji
     "CUSTOMIZATION".


  99..  CCiieemmnnaa ssttrroonnaa zzaaggaaddnniieenniiaa

  Niestety nie wszystkie aplikacje korzystaj z informacji zawartych w
  bazach termcap lub terminfo.  Wikszo maych programikw ma na
  sztywno w kodzie C zaszyte "\a" (alarm).  "\a" w cigach znakw w
  plikach binarnych interpretowane jest jako ascii BEL.  "Prawdziwych"
  aplikacji problem ten zazwyczaj nie dotyczy, ale uwaaj na produkty
  pocztkujcych programistw C -- najgorsi s tu studenci informatyki!
  Jedynym sposobem uciszenia takich programw jest goniczkotomia lub
  wykorzystanie sekwencji kodw podanej przez Martina Maresa.


  1100..  OOdd ttuummaacczzaa


  Wersja oryginalna dokumentu:  <http://sunsite.unc.edu/LDP/>.
  Tumaczenia pozostaych dokumentw HOWTO na jzyk polski:
  <http://www.jtz.org.pl>.


  Copyright for the translation
  (c) 2001 by Tomasz 'tsca' Sienicki, tsca@edb.dk