터미널에서 +를 누르면 Ctrl경고음이 난다고 읽었습니다. G나는 이것을 시도했지만 아무 일도 일어나지 않았습니다. 왜?
저는 그놈 터미널과 Bash를 사용하고 있습니다.
답변1
Ctrl+G키보드를 눌러 터미널 에뮬레이터를 엽니다.보내다0x7 바이트, ^G
ASCII의 BEL 문자, 즉 \a
(경고).
대부분의 터미널에서 발행됩니다.삑 하는 소리(또는 화면 깜박임과 같은 시각적 벨소리)받다이 문자, 즉 응용 프로그램이 이 문자를 터미널 장치 파일에 쓸 때 또는에코최종 장치의 tty 규칙은 이를 그대로 다시 보냅니다.
다음을 입력하는 경우:
printf '\a'
또는:
printf '\7'
플래시가 보이거나 경고음이 들려야 합니다.
그렇지 않은 경우 터미널 에뮬레이터 구성을 확인하십시오. 벨소리 장치는 기본적으로 비활성화되어 있을 수 있습니다. gnome-terminal과 같은 멋진 통합 터미널 에뮬레이터를 사용하려면 데스크탑 환경에서 전역적으로 활성화해야 할 수도 있습니다. 그래도 작동하지 않으면 적절한 터미널 에뮬레이터를 사용해 보십시오 xterm
.
X11에서 터미널 에뮬레이터(또는 그들이 사용하는 라이브러리)는 일반적으로 XBell()
화면이 깜박이도록 구성되지 않았을 때 경고음을 울리도록 표준 X 라이브러리 함수를 호출합니다.
경고음(피치, 기본 볼륨, 지속 시간)은 명령을 사용하여 구성할 수 있습니다 xset b
.
Linux 및 PC에서 X 서버는 기본적으로 PC 스피커를 사용합니다. 그러나 요즘에는 pcspkr
이 기능이 기본적으로 비활성화되어 있는 경우가 많습니다.
대신 응용 프로그램은 X 서버에 등록하여 이러한 벨소리를 처리할 수 있습니다. pulseaudio
많은 데스크탑 환경에서 사용되는 사운드 서버가 이를 수행할 수 있습니다.
~/.config/pulse/default.pa
아직 이 작업을 수행하도록 구성되지 않은 경우 다음 줄의 주석 처리를 해제하거나 파일(또는 /etc/pulse/default.pa
시스템 전체) 에 추가할 수 있습니다 .
load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga
load-module module-x11-bell sample=x11-bell
(사운드 샘플을 원하는 것으로 교체하세요).
이제 눌렀을 때 경고음을 들으려면 Ctrl-G앱이 필요합니다.에코그 ^G
역할. 또는 자체 라인 편집기가 없는 애플리케이션의 경우 tty 장치 라인 규칙을 사용하십시오.에코모드 에 있는 동안 icanon
.
^G
기본적으로 Linux의 줄 규칙은 이를 에코하지만 ( ^
및 G
문자) 로 에코합니다 . 이건 바뀔 수 있어
stty -echoctl
이렇게 하면:
stty -echoctl; cat
경고음이 들리거나 화면이 깜박이는 것을 볼 수 있습니다 Ctrl+G. 그렇지 않은 경우 stty -echoctl
또는 이후에 에 표시되는 것을 stty echoctl
볼 수 있습니다 .^G
Ctrl+G
zsh
bash
대화형 셸 애플리케이션(예: 또는) 또는 시각적 애플리케이션(예 vi
: , emacs
, , ...) 의 프롬프트에서 mutt
애플리케이션은 aptitude
터미널 장치 파일에서 이 BEL/ 문자를 읽은 후 모든 작업을 수행하도록 결정할 수 있습니다.^G
여기를 emacs
^G
위해현재 편집기 작업 중단. 이는 zsh
or 모드 에서도 bash
동일합니다 ( 및 매개변수의 영향을 받는 GNU 를 사용하는 다른 응용 프로그램 emacs
과 마찬가지로 ). 그 일환으로 문자를 터미널로 다시 보내면 경고음/깜박임이 발생합니다.bash
readline
bell-style
prefer-visible-bell
^G
현재 구성을 쿼리하기 위한 잠재적으로 관련된 일부 명령(대부분은 GNU/Linux 시스템 및 gtk 기반 데스크탑 환경을 사용하는 경우에만 적용됨 pulseaudio
):
터미널 장치 라인 규율
echo
관련 매개변수를 확인하십시오(cat
자체 터미널 사용자 인터페이스(TUI)를 구현하지 않는 애플리케이션의 경우).stty -a | grep echo
^G
쉘 프롬프트에서 매핑되는 작업:bindkey '^G' # in zsh or tcsh bind -p | grep C-g # in bash
GNU 구성
readline
의 링 관련 설정 :grep bell /etc/inputrc ~/.inputrc bind -v | grep bell # bash
터미널 에뮬레이터의 링 관련 설정
xterm
:appres XTerm | grep -i bell
일부 gtk 기반 터미널 에뮬레이터 또는 환경에서는:
gsettings list-recursively | grep -i bell dconf dump / | awk '/^\[/{p=$0};/bell/{print p ORS $0}' gconftool -R /apps/gnome-terminal/profiles | grep bell
X11 벨 구성:
xset q | grep bell
Pulse Audio의 벨소리 관련 구성:
pactl list | awk -vRS= -vORS='\n\n' '/bell|pcsp/'
(여기 Linux Mint Cinnamon 시스템에서는
/usr/bin/start-pulseaudio-x11
예제/usr/bin/pactl load-module module-x11-bell "display=$DISPLAY" "sample=bell.ogg"
가 정의/업로드되지 않으므로bell.ogg
이렇게 하지 않으면 벨소리가 작동하지 않습니다pactl upload-sample /usr/share/cinnamon/sounds/bell.ogg bell.ogg
.)pcspkr
또는 커널 모듈이snd-pcsp
로드된 경우:lsmod | grep pcsp
명시적으로 비활성화되어 있습니까(블랙리스트에 등록되어 있습니까):
grep -r pcsp /etc/modprobe*
로드되었지만 비활성화되었습니까?
find /sys/module -path '*pcsp*/enable' -exec grep -H . {} +
PC 스피커를 ALSA 장치로 사용할 수 있는지 여부:
alsactl -f alsa.dump store; sed '/pcsp/,/^}/!d' alsa.dump
^G
Linux 가상 콘솔로 전송하면 경고음이 울립니까?printf \\a | sudo tee /dev/tty0
연주
x11-bell
(정의된 것으로 가정)하면 소리가 나나요?pactl play-sample x11-bell
모듈이 입력 이벤트 장치를 등록합니까
pcspkr
?find /sys/class/input -lname '*/pcsp*/event*' -ls