So deaktivieren Sie den Bash-Soundeffekt für Windows-Benachrichtigungen

40

Wenn Sie 'Bash on Ubuntu on Windows' ausführen, wird während der Eingabe häufig ein Windows-Benachrichtigungston ausgegeben. Häufige Ursachen sind:

  • Ich benutze Auto-Vervollständigung für Befehle (Tab) und es gibt mehrere Befehlsoptionen,
  • oder wenn ich eine bereits leere befehlszeile zurücksetze.

Wie deaktiviere ich diese Soundeffekte?

Silveri
quelle

Antworten:

51

Die Antwort von Wouter funktioniert nach der Einrichtung insgesamt besser, aber es kann etwas verwirrend sein, mit der Arbeit zu beginnen, da die richtige Option nicht immer angezeigt wird. Folge diesen Schritten:

  • Klicken Sie mit der rechten Maustaste auf den Lautstärkeregler in der Windows-Taskleiste
  • Öffnen Sie den Volume Mixer
  • Öffnen Sie die Bash on Windows-Konsole
  • Tun Sie etwas, um die Konsole auszulösen, sodass die Benachrichtigung ertönt (z. B. drücken Sie die Rücktaste in einer leeren Zeile). Wenn Sie die Benachrichtigung mithilfe der folgenden alternativen Methode deaktiviert haben, müssen Sie sie rückgängig machen.
  • Jetzt sollte eine Console Window Host- Option im Volume Mixer angezeigt werden (möglicherweise müssen Sie nach rechts scrollen).
  • Schaltet die Toneinstellung stumm

Volumenmischer mit Konsolenfenster Hos

Vorherige / alternative Methode

Sie können einfach den folgenden Befehl in Ihrer Windows Bash-Shell [ source ] ausführen :

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

Oder bearbeiten Sie .inputrcmanuell mit einem Texteditor, um set bell-style noneeine eigene Zeile hinzuzufügen .

Sie müssen Ihre aktuell geöffnete Bash-Shell neu starten, bevor sie wirksam wird.

Dies funktioniert nur für Ihren aktuellen Benutzer und hilft nicht, wenn Sie in andere Konten sshen (es sei denn, Sie führen diesen Befehl für jedes Konto erneut aus).

Silveri
quelle
1
Was ist der Unterschied zwischen dem set bell-style noneEinfügen von inputrc und dem bind "set bell-style none"Einfügen von .bashrc? Ist das eine dem anderen vorzuziehen?
Jim
Letzteres ist vorzuziehen, da es sich um eine vom Benutzer konfigurierte Überschreibungsdatei handelt, die aufgrund von Aktualisierungen der Distributionsversion nicht überschrieben werden muss.
AvatarKava
Wenn ich tippe Pythonund mich in der Python-Shell befinde, ertönt aus irgendeinem Grund immer noch ein Signalton. Gibt es eine Möglichkeit, diese Einstellung auch für den Python-Interpreter zu korrigieren?
Pro Q
13

Fügen Sie dies zu ~ / .inputrc hinzu

set bell-style none

Fügen Sie für vi zusätzlich ~ / .vimrc hinzu

set visualbell
set t_vb=
Nemo
quelle
Es funktioniert nur auf dem Server, auf dem Sie sich befinden. Wenn Sie eine Verbindung zu mehreren Servern herstellen müssen, müssen Sie auf jedem Server dasselbe tun ...
frank
@frank .inputrc und .vimrc sind benutzerspezifisch und nicht hostspezifisch. Melden Sie sich als anderer Benutzer an?
Nemo
6

Eine andere Möglichkeit besteht darin, den Volume Mixer zu öffnen, indem Sie mit der rechten Maustaste auf den Lautstärkeregler in der Windows-Taskleiste klicken und die Konsole stumm schalten.

Wouter
quelle
Vielen Dank! Dies war für mich weitaus effektiver als die beste Antwort. Auch wenn Sie die lokale .inputrc-Datei bearbeiten, werden beim Senden an Remote-Hosts weiterhin Signaltöne ausgegeben (es sei denn, Sie bemühen sich, die .inputrc-Datei überall zu verbreiten).
Choover
1

Wenn Sie den Sound einfach auf etwas weniger störendes ändern möchten, anstatt ihn vollständig zu deaktivieren, können Sie über das Change system soundsStartmenü (oder unter Systemsteuerung -> Hardware und Sound -> Sound) den Critical StopSound auf "Windows-Standard" ändern "oder" Windows Ding ".

Beachten Sie, dass dies alle anderen Windows-Programme oder Windows selbst betrifft, die denselben Soundeffekt verwenden. Ich kann keine gute Liste der Aktionen / Benachrichtigungen finden, die diesen Sound standardmäßig verwenden.

Tobias J
quelle