Wyłącz sygnał dźwiękowy Linux Bash na Windows 10 [zamknięty]

388

Posiadanie Linux Bash na Windows 10 jest całkiem fajne, ale o ile muszę zmagać się z niezbyt dobrym terminalem dostarczonym przez Microsoft, utknę z Ubuntu na wszystko.
W każdym razie, czy jest jakiś sposób, aby wyłączyć ten dźwięk za każdym razem, gdy robisz coś w Bash?
Ponieważ nie można komentować, bell-style audibleponieważ nie ma go, ani nie można go uruchomićsc config beep start= disabled

Andrea Tulimiero
źródło
12
To pytanie nie dotyczy programowania zdefiniowanego dla StackOverflow. To może być bardziej odpowiednie na powiązanych stronach superuser.com LUB unix.stackexchange.com (UNIX i Linux). Zastanów się nad użyciem linku flagi na dole swojego Q i poproś moderatora o przeniesienie go. Nie publikuj tego samego Q na 2 różnych stronach. Dzięki i powodzenia.
skorupiak
9
Nie możesz set bell-style nonew swoim pliku inicjującym readline? To 1. wartość INPUTRCzmiennej środowiskowej, 2. ~/.inputrclub 3 /etc/inputrc..
Benjamin W.
@ Shellter masz rację, ruszę to!
Andrea Tulimiero,
W międzyczasie @BenjaminW. Mam zestaw bell-style none w / etc / inputrc ale to nie działa
Andrea Tulimiero
4
/etc/inputrcjest ignorowane, jeśli masz ~/.inputrc, czy masz? Lub INPUTRCwskazując gdzie indziej?
Benjamin W.

Odpowiedzi:

588
  1. Aby wyłączyć sygnał dźwiękowy w bash , musisz odkomentować (lub dodać, jeśli jeszcze go nie ma) wiersz set bell-style nonew /etc/inputrcpliku.

    Uwaga: Ponieważ jest to plik chroniony, musisz go mieć uprawnienia do edycji (np. Uruchom edytor tekstu z czymś podobnym sudo <editor> /etc/inputrc).

  2. Aby wyłączyć sygnał dźwiękowy również w vimie , musisz dodać set visualbellw swoim ~/.vimrcpliku.

  3. Aby wyłączyć sygnał także w mniej (czyli również w stronach manuala i przy użyciu „git diff”) trzeba dodać export LESS="$LESS -R -Q"w ~/.profilepliku.

Andrea Tulimiero
źródło
15
Aby uzyskać szybkie, jednorazowe rozwiązanie, dźwięki można wyłączyć za pomocą Windows Volume Mixer github.com/Microsoft/BashOnWindows/issues/…
Olga
51
Do twojej wiadomości, musiałem zrestartować konsolę, aby to się zastosowało, ale zadziałało!
TJB
2
@TJB Myślę, że powinno wystarczyć source path-to-.bash_profile- lub plik, który zmieniłeś - i konfiguracja zostanie ponownie załadowana, aby uchronić Cię przed ponownym uruchomieniem konsoli. Jednak cieszę się, że zadziałało!
Andrea Tulimiero
2
Byłoby lepiej, gdybyś mógł dodać do swojej odpowiedzi, że musisz zrestartować konsolę, jak wspomniano w @TJB lub jak powiedziałeś, source path-to-.bash_profileale i tak dziękuję za pomoc.
Aman Tugnawat,
3
To w ogóle nie działa.
Vince
129

Ponieważ jedynym hałasem, który zwykle wytwarzają zaciski, jest dzwonek, a jeśli chcesz go wszędzie wyłączyć, najprostszym sposobem, aby to zrobić, jest bash w systemie Windows:

  1. Mash backspace kilka po monicie
  2. Kliknij ikonę dźwięku prawym przyciskiem myszy i wybierz Otwórz mikser głośności
  3. Zmniejsz głośność na hoście okna konsoli do zera
TedMilker
źródło
12
Naprawdę podoba mi się prostota
inżynier
8
Biorąc pod uwagę, że ssh na wiele serwerów i nie mogę łatwo zarządzać lokalnymi ustawieniami bash na wszystkich serwerach, to rozwiązanie było dla mnie najlepsze, ponieważ było globalne.
Elijah W. Gagne
9
rozwiązanie systemu Windows dla problemu spowodowanego przez system Windows: D
PabTorre
3
Czy nacisnąłeś klawisz Backspace lub jakiś inny klawisz, aby okno konsoli hałasowało? Zrób to przed otwarciem miksera. Aplikacje nie pojawią się w mikserze, dopóki system Windows nie ustali, że hałasują. Następnie usunie je po pewnym czasie.
TedMilker,
2
Ser i Ryż! to jedyna rzecz, która działała dla mnie. Jak cholernie denerwujące. Dzięki @TedMilker
Ilan
113

Odkomentowanie set bell-style nonew /etc/inputrci tworząc .bash_profilez setterm -blength 0nie zatrzymać vim z piszczeć.

Dla mnie zadziałało utworzenie .vimrcpliku w moim katalogu domowym za pomocą set visualbell.

Źródło: https://linuxconfig.org/turn-off-beep-bell-on-linux-terminal

MWin123
źródło
23
Wow, dlaczego co, kiedy ktoś uważał, że picie jest dobrym rozwiązaniem? Dzięki! Twoja odpowiedź jest potrzebna, aby wyłączyć dźwięk dzwonka w vi.
Andrew T Finnell,
Działa dla lokalnego, ale nie jest dobry dla ssh do zdalnych serwerów.
Matt
@Matt - w przypadku sesji SSH należy dostosować ustawienia w używanym kliencie SSH. Na przykład, jeśli używasz PuTTY, dostosuj jego ustawienia.
asterx
1
potrzebujesz zarówno ~ / .inputrc, jak i ~ / .vimrc, aby usunąć sygnały dźwiękowe zarówno z bash, jak i z vima, patrz rozwiązanie @ Nemo. Pamiętaj również, że potrzebujesz tych dwóch plików na zdalnych komputerach, do których sshingujesz, jeśli chcesz uniknąć sygnału dźwiękowego z ssh.
Romain Pokrzywka
78

Musisz dodać następujące wiersze do konfiguracji bash i vim,

1) Wyłącz dzwonek na uderzenie

vi ~/.inputrc
set bell-style none

2) Wyłącz dzwonek dla vi

vi ~/.vimrc
set visualbell
set t_vb=

Ustawienie dzwonka wizualnego wyłącza dzwonek dźwiękowy, a skasowanie dzwonka wizualnego wyłącza miganie.

Nemo
źródło
5
Dzięki, to rozwiązanie jest moim ulubionym, ponieważ odnosi się do obu źródeł sygnału, samego terminala i vima, a także pozwala uniknąć migania z wizualnego dzwonka. Podoba mi się również to, że tworzysz profile użytkowników zamiast edytować systemowe pliki konfiguracyjne w / etc
Romain Pokrzywka
Zauważ, że działa to również ładnie, aby wyłączyć sygnał dźwiękowy z ssh podczas uzyskiwania dostępu do zdalnego komputera, po prostu utwórz te same pliki w folderze domowym na zdalnym komputerze i nie więcej dźwięków.
Romain Pokrzywka
To jest prawdziwa poprawna odpowiedź, westchnienie
ZJR
13

Zamień w systemie Brzmi „Critical Stop” do pliku wav, który jest cichy 1 .

Całkowite usunięcie dźwięku nie działało dla mnie. Najwyraźniej w tym przypadku użyto dźwięku domyślnego.

Konfiguracja dźwięków systemu

(Kredyty this.lau_ na superuser do odkrywania tego).

Juha Palomäki
źródło
3
Jeśli masz Linux-a, łatwo jest wydać 1-sekundowy dźwięk ciszy. Zainstaluj sox. Następnie $ rec silence.wav trim 0 1
LeviX
1
To mi pomogło. Kiedy ustawiłem „Critical Stop” na None, zresetowałem go do „Default Beep”, musiałem też ustawić None. Te dźwięki są irytujące, zwłaszcza gdy jesteśmy na słuchawkach. Windows powinien się uczyć.
Venki
11

nie jest specyficzne dla bash Windows 10. ale jeśli chcesz usunąć terminal dzwonka dla zsh, po prostu użyj właściwej opcji w zshrc. (dla vima, odpowiedź już wysłana)

unsetopt beep

http://zsh.sourceforge.net/Doc/Release/Options.html

znalazłem tę opcję szybko, ale znalazłbym ją jeszcze szybciej, gdyby była w tym poście ^^

hf

NoZero
źródło
10

kliknij prawym przyciskiem myszy ikonę dźwięku (prawy dolny róg) >>> otwórz mikser głośności >>> wycisz hosta okna konsoli

Brett Lapierre
źródło
6

Przekonałem się, że rozwiązanie TedMilker działało, ale będę musiał ponownie dostosować Volume Mixer przy każdym ponownym uruchomieniu. Aby to było trwałe, dostosowałem poziomy głośności w Preferencjach głośności aplikacji i urządzenia Windows.

Zaczerpnięte z tego postu :

Ustawienia / System / Dźwięk / Głośność aplikacji i preferencje urządzenia

Ustaw Host okna konsoli na zero.

(Może być konieczne naciśnięcie klawisza Tab / Backspace w oknie konsoli, aby wyzwolić dźwięk dzwonka, zanim pojawi się suwak hosta okna konsoli).

GobiJerboa
źródło
1

Oprócz tego, co powiedział jgr208, możesz już mieć ~/.profileplik i ~/.bash_profilemoże nie być obecny, tak jak w przypadku mnie.

W takim przypadku dodaj setterm -blength 0 do .profile.

Jeśli utworzysz a .bash_profile, .profilezostaniesz zignorowany i wszystko, co tam napisał Windows, nie będzie działać.

rodzynki
źródło
1

Aby wyłączyć sygnały dźwiękowe podczas ssh-shingu na zdalnym komputerze, po prostu utwórz to samo ~/.inputrci~/.vimrc pliki na zdalnym komputerze, aby powstrzymać sam ssh przed wygenerowaniem sygnału dźwiękowego.

Zobacz odpowiedź @Nemo na zawartość każdego pliku.

Romain Pokrzywka
źródło
0

Znajdź lokalizację .bash_profilepliku i wprowadź następujące dane do pliku:

setterm -blength 0

Który ustawi czas, przez jaki sygnał dźwiękowy ma wartość 0, a tym samym brak sygnału.

jgr208
źródło
8
To nie działało dla mnie - inna odpowiedź na temat pliku
inputrc zadziałało
@ reach4thelasers oraz który dźwięk chcesz wyłączyć? jak widać poniżej dla vima i tym podobne, moja odpowiedź działa.
jgr208
To był dźwięk, który zdarza się, gdy naciskasz przycisk usuwania i posuwasz się za daleko - więc spróbuj usunąć nic ... tak denerwujące !!!
reach4thelasers,
@ reach4thelasers haha ​​wiem, co masz na myśli, wyobraź sobie ten dźwięk podczas mojego laboratorium komputerowego na studiach z 30 studentami!
jgr208
1
dla mnie tylko rozwiązanie Aby wyłączyć sygnał dźwiękowy bash, musisz odkomentować / dodać zestaw w stylu dzwonka none w twoim pliku / etc / inputrc działało dla mnie.
benjguin
-1

@ Odpowiedź Andrea Tulimiero działa w trybie lokalnym, ale po przesłaniu połączenia do zdalnego serwera sygnał dźwiękowy włącza się ponownie. Moja sugestia to wyłączenie z paska zadań systemu Windows 10. W prawym dolnym rogu znajduje się mikser głośności, który działa dla mnie.

Phoenix Zou
źródło