다음 이전 차례

3. 콘솔마다 소리 설정

커널 1.3.43에서 Martin Mares 씨는 console.c에 벨 사운드에 설정을 할 수 있도 록 기능을 추가하였다. 각 콘솔에 대하여 tty 에 대한 이스케이프 문자열을 써줌 으로써 콘솔 경고음에 대한 지속시간, 피치를 바꿀 수 있게 되어 있다.  /.profile 이나  /.login 에다 설정을 해주면 각 콘솔마다 다른 음이나 또는 음 자체를 안나오게 할 수 있다.

이스케이프 문자열은 다음과 같다:

-- ESC-[10;xx] 은 경고음의 헤르쯔를 선택한다. 값은 21 - 32766 사이에서 설 정되어야 하며 다른 값에 대해서는 정의되어 있지 않다.( 최소한 2.0.X 버전 에서는... 하지만 앞으로 어떻게 달라질 지 모르겠다. ) 그냥 ESC-[10] 이라 고만 적고 xx 인수를 생략하면 기본값은 750 Hz가 된다.

-- ESC-[11;xx] chooses the bell duration, in milli-seconds. If you ESC-[11;xx] 는 경고음 지속시간을 밀리초 단위로 설정한다. 만약 2 초 이상 을 설정하면 기본값 125 ms 가 적용된다. 또한 xx 인수가 생략되어 사용되면 (ESC-[11]) 기본값이 사용된다.

이스케이프 문자를 출력하기 위해서, 예를 들어 다음과 같이 해보자( 50Hz, 1초 ) echo -e "\33[10;50]\33[11;1000]" 배쉬에서 -e 는 이스케이프 문자열을 이해하도록 하는 스위치이다. tcsh 의 경우에는 echo " 33[10;50] 33[11;1000]" 라고 해주면 같은 효과를 낸 다.

최신 setterm 명령이 경고음 설정을 지원하는지에 대해서는 잘 모르겠다. 내가 아는 버전에서는 지원이 되고 있지 않다.

If you run Linux-1.3.43 or newer, you may be satisfied with the escape 여러분이 커널 1.3.43 이상을 사용하고 있고 이스케이프 문자열로 충분히 원하는 결과를 얻는다면 더 이상 읽을 필요가 없다. 하지만 본인이 386 컴퓨터에서 돌리 고 있는 것처럼 오래 된 커널을 사용하거나 경고음이 필요한 경우에는 계속 읽어 보기 바란다.


다음 이전 차례