Jak wyłączyć efekt dźwiękowy powiadomienia Bash w systemie Windows

40

Podczas uruchamiania „Bash na Ubuntu w systemie Windows” często generuje dźwięk powiadomienia Windows podczas pisania. Najczęstsze przyczyny to:

  • Używam autouzupełniania dla poleceń (tab) i istnieje wiele opcji poleceń,
  • lub gdy cofam się do pustej już linii poleceń.

Jak wyłączyć te efekty dźwiękowe?

Silveri
źródło

Odpowiedzi:

51

Odpowiedź udzielona przez Wouter działa lepiej ogólny raz skonfigurować, ale może być nieco mylące, aby dostać pracę jako prawidłowa opcja nie zawsze występują. Wykonaj następujące kroki:

  • Kliknij prawym przyciskiem myszy regulator głośności na pasku zadań systemu Windows
  • Otwórz Mikser głośności
  • Otwórz Bash na konsoli Windows
  • Zrób coś, aby uruchomić konsolę, wydając dźwięk powiadomienia (np. Naciśnij klawisz Backspace na pustym wierszu). Jeśli wyłączyłeś powiadomienie za pomocą alternatywnej metody poniżej, musisz je cofnąć.
  • Teraz w oknie Mikser głośności powinna pojawić się opcja Host okna konsoli (może być konieczne przewinięcie w prawo)
  • Wycisz ustawienie dźwięku

Mikser głośności z oknami konsoli

Poprzednia / alternatywna metoda

Możesz po prostu uruchomić następujące polecenie z poziomu powłoki Bash systemu Windows [ źródło ]:

echo "set bell-style none" >> ~/.inputrc

lub edytuj .inputrcręcznie za pomocą edytora tekstu, aby dodać set bell-style nonewłasną linię.

Musisz ponownie uruchomić aktualnie otwartą powłokę bash, zanim zacznie działać.

Będzie to działać tylko dla bieżącego użytkownika i nie pomoże, jeśli ssh na inne konta (chyba że uruchomisz to polecenie ponownie dla każdego konta).

Silveri
źródło
1
Jaka jest różnica między wprowadzaniem set bell-style noneinputrc a wprowadzaniem bind "set bell-style none".bashrc? Czy jedno jest lepsze od drugiego?
Jim
Ten ostatni jest preferowany, ponieważ jest to plik zastępowania skonfigurowany przez użytkownika i nie będzie podlegał zastąpieniu z powodu aktualizacji wersji dystrybucyjnej.
AvatarKava,
Z jakiegoś powodu, gdy piszę Pythoni jestem w powłoce Pythona, sygnał dźwiękowy wciąż się rozlega. Czy jest jakiś sposób, aby naprawić to ustawienie również dla interpretera Pythona?
Pro Q
13

Dodaj to do ~ / .inputrc

set bell-style none

Dodatkowo dla vi dodaj to do ~ / .vimrc

set visualbell
set t_vb=
Nemo
źródło
Działa tylko na serwerze, jeśli jesteś, jeśli chcesz połączyć się z wieloma serwerami, musisz zrobić to samo na każdym serwerze ...
Frank
@frank .inputrc i .vimrc są specyficzne dla użytkownika, a nie specyficzne dla hosta. Czy logujesz się jako inny użytkownik?
Nemo,
6

Innym sposobem jest otwarcie Miksera głośności poprzez kliknięcie prawym przyciskiem myszy na regulację głośności na pasku zadań Windows i wyciszenie konsoli.

Wouter
źródło
Dziękuję Ci! To było dla mnie o wiele bardziej skuteczne niż najlepsza odpowiedź. Nawet jeśli edytujesz lokalny plik .inputrc, nadal będziesz wydawać sygnały dźwiękowe podczas ssh na zdalnych hostach (chyba że włożymy wysiłek w rozpowszechnianie pliku .inputrc wszędzie).
choover
1

Jeśli chcesz po prostu zmienić dźwięk na coś mniej irytującego zamiast całkowicie go wyłączyć, możesz przejść do Change system sounds Menu Start (lub w Panelu sterowania -> Sprzęt i dźwięk -> Dźwięk) i zmienić Critical Stopdźwięk na coś w rodzaju „Domyślne systemu Windows” ”lub„ Windows Ding ”.

Pamiętaj, że wpłynie to na każdy inny program Windows lub sam Windows, który używa tego samego efektu dźwiękowego. Nie jestem w stanie znaleźć dobrej listy działań / powiadomień, które domyślnie używają tego dźwięku.

Tobias J
źródło