Отключить звуковой сигнал Linux Bash в Windows 10 [закрыто]

389

Иметь Linux Bash в Windows 10 довольно круто, но, поскольку мне приходится бороться с не очень хорошим терминалом, предоставленным Microsoft, я застряну с Ubuntu для всего.
В любом случае, есть ли способ отключить этот сигнал, когда вы что-то делаете на Bash?
Поскольку невозможно комментировать, bell-style audibleпотому что там нет, и не возможно запуститьsc config beep start= disabled

Андреа Тулимиеро
источник
12
Этот Q не о программировании, как определено для StackOverflow. Это может быть более подходящим на соответствующих сайтах superuser.com ИЛИ unix.stackexchange.com (Unix & Linux). Подумайте об использовании ссылки в нижней части Q и попросите модератора переместить ее. Пожалуйста, не размещайте один и тот же вопрос на 2 разных сайтах. Спасибо и удачи.
shellter
9
Вы не можете set bell-style noneв своем файле инициализации readline? Это 1. значение INPUTRCпеременной среды, 2. ~/.inputrcили 3 /etc/inputrc.
Бенджамин В.
@shellter, ты прав, я перенесу это!
Андреа Тулимиеро
В то же время @ BenjaminW. Я не установил ни один в стиле / etc / inputrc, но это не сработало
Andrea Tulimiero
4
/etc/inputrcигнорируется, если у вас есть, есть ~/.inputrcли у вас? Или INPUTRCуказывать в другом месте?
Бенджамин В.

Ответы:

589
  1. Чтобы отключить звуковой сигнал в bash, вам нужно раскомментировать (или добавить, если его там еще нет) строку set bell-style noneв вашем /etc/inputrcфайле.

    Примечание: так как это защищенный файл, вы должны быть привилегированным пользователем, чтобы редактировать его (т.е. запустить текстовый редактор с чем-то вроде sudo <editor> /etc/inputrc).

  2. Отключить звуковой сигнал также в VIM вам нужно добавить set visualbellв свой ~/.vimrcфайл.

  3. Чтобы отключить звуковой сигнал также в меньшем количестве (т. Е. Также на страницах руководства и при использовании «git diff»), вам необходимо добавить export LESS="$LESS -R -Q"в свой ~/.profileфайл.

Андреа Тулимиеро
источник
15
Для быстрого одноразового решения звуки можно отключить с помощью микшера громкости Windows github.com/Microsoft/BashOnWindows/issues/…
Ольга,
51
К вашему сведению, мне пришлось перезапустить консоль, чтобы это применилось, но это сработало!
TJB
2
@TJB Я думаю, этого должно быть достаточно для запуска source path-to-.bash_profile- или файла, который вы изменили - и конфигурация будет перезагружена, поэтому вы не сможете перезапустить консоль. Однако я рад, что это сработало!
Андреа
2
Было бы лучше, если бы вы также добавили к своему ответу, что вам нужно перезапустить консоль, как упомянуто @TJB или как вы сказали, source path-to-.bash_profileно в любом случае большое спасибо за помощь.
Аман Тугнават
3
Это не работает вообще.
Винс
129

Поскольку единственные шумовые терминалы, как правило, создают звонки, и если вы хотите, чтобы они отключались везде, самый простой способ сделать это для bash в Windows:

  1. Mash Backspace кучу в строке
  2. Щелкните правой кнопкой мыши значок звука и выберите «Открыть громкость микшера».
  3. Уменьшите громкость на хосте окна консоли до нуля
TedMilker
источник
12
Мне очень нравится простота
engineercoding
8
Учитывая, что я использую ssh на многих серверах и не могу легко управлять локальными настройками bash на всех серверах, это решение было лучшим для меня, потому что оно было глобальным.
Элайджа В. Ганье
9
решение Windows для проблемы, вызванной Windows: D
PabTorre
3
Вы нажимали клавишу Backspace на некоторое время или какую-то другую клавишу, чтобы окно консоли шуметь? Сделайте это перед открытием миксера. Приложения не появятся в микшере, пока Windows не определит, что они шумят. Затем он удалит их через некоторое время.
ТедМилкер
2
Сыр-и-рис! это единственное, что сработало для меня. Как чертовски раздражает. Спасибо @TedMilker
Илан
113

Раскомментировав set bell-style noneв /etc/inputrcи создании .bash_profileс setterm -blength 0не прекращались ВИМ от пищать.

Для меня работало создание .vimrcфайла в моем домашнем каталоге с set visualbell.

Источник: https://linuxconfig.org/turn-off-beep-bell-on-linux-terminal

MWin123
источник
23
Вау, почему, когда кто-то считал, что звуковой сигнал - это хороший дефолт? Спасибо! Ваш ответ нужен для отключения звука звонка в vi.
Эндрю Финнелл
Работает для локальных, но не подходит для ssh для удаленных серверов.
Мэтт
@Matt - для сеанса SSH вам нужно настроить параметры используемого вами SSH-клиента. Например, если вы используете PuTTY, измените его настройки.
asterx
1
вам нужны и ~ / .inputrc, и ~ / .vimrc для удаления звуковых сигналов как из bash, так и из vim, см. решение @ Nemo. Также обратите внимание, что вам нужны эти два файла на удаленных компьютерах, в которые вы входите, если вы хотите избежать звукового сигнала от ssh.
Romain Pokrzywka
78

Вам нужно добавить следующие строки в bash и vim config,

1) Отключить звонок для Баш

vi ~/.inputrc
set bell-style none

2) отключить звонок для ви

vi ~/.vimrc
set visualbell
set t_vb=

Установка визуального звонка отключает звуковой звонок, а очистка длины визуального звонка отключает мигание.

Nemo
источник
5
Спасибо, это моё любимое решение, так как оно касается обоих источников звукового сигнала, самого терминала и vim, а также позволяет избежать мигания визуального звонка. Мне также нравится, что вы создаете профили пользователей вместо того, чтобы редактировать системные конфигурационные файлы в / etc
Romain Pokrzywka
Обратите внимание, что это также хорошо работает, чтобы отключить звуковой сигнал от ssh при доступе к удаленному компьютеру, просто создайте те же файлы в вашей домашней папке на удаленном компьютере, и никаких звуковых сигналов больше не будет.
Romain Pokrzywka
Это действительно правильный ответ, вздох
ZJR
13

Замените в системных звуках «Критическую остановку» на wav-файл, который молчит 1 .

Просто удаление звука полностью не работает для меня. Видимо, в этом случае использовался звук по умолчанию.

Конфигурация системных звуков

(Кредиты для this.lau_ в SuperUser для обнаружения этого).

Юха Паломяки
источник
3
Если у вас есть Linux-система, вы можете издать 1 секунду звука тишины. Установите sox. Тогда $ rec silence.wav trim 0 1
LeviX
1
Это помогло мне. Когда я установил «Critical Stop» на «None», он был сброшен на «Default Beep», мне тоже пришлось установить «None». Эти звуки раздражают, особенно когда мы в наушниках. Windows должен учиться.
Венки
11

это не относится к bash windows 10. но если вы хотите удалить терминал звонка для zsh, просто используйте правильный параметр в zshrc. (для vim ответ уже выложен)

unsetopt beep

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

я нашел эту опцию быстро, но нашел бы ее еще быстрее, если бы она была на этом посту ^^

высокочастотный

NoZero
источник
10

щелкните правой кнопкой мыши на значке звука (внизу справа) >>> откройте микшер громкости >>> отключите хост окна консоли

Бретт Лапьер
источник
6

Я обнаружил, что решение TedMilker работает, но мне нужно будет заново настраивать Volume Mixer при каждом перезапуске. Чтобы сделать его постоянным, я настроил уровни громкости в настройках громкости Windows App и в настройках устройства.

Взято из этого поста :

Настройки / Система / Звук / Громкость приложения и настройки устройства

Установите Хост Консольного Окна в Ноль.

(Возможно, вам придется нажать Tab / Backspace в окне консоли, чтобы вызвать звук звонка, прежде чем появится слайдер хоста окна консоли.)

GobiJerboa
источник
1

В дополнение к тому, что сказал jgr208, у вас уже может быть ~/.profileфайл и~/.bash_profile может и нет, как было со мной.

В этом случае добавьте setterm -blength 0к.profile .

Если вы создадите .bash_profile, ваш .profileбудет проигнорирован, и все, что Windows написала там, не будет работать.

raisinrising
источник
1

Чтобы отключить звуковые сигналы при подключении по ssh на удаленном компьютере, просто создайте те же файлы ~/.inputrcи ~/.vimrcфайлы на удаленном компьютере, чтобы сам ssh не подавал звуковые сигналы .

Смотрите ответ @Nemo для содержимого каждого файла.

Romain Pokrzywka
источник
0

Найти местоположение .bash_profile файла и введите в него следующее:

setterm -blength 0

Который будет устанавливать время, в течение которого звуковой сигнал будет равным 0, и, следовательно, никакого звукового сигнала.

jgr208
источник
8
Это не сработало для меня - другой ответ о файле
inputrc сработал
@ reach4thelasers хорошо, какой сигнал вы хотели отключить? как вы можете видеть ниже для vim и т.п. мой ответ работает.
jgr208
Это был звуковой сигнал, который случается, когда вы нажимаете кнопку удаления и заходите слишком далеко - поэтому постарайтесь ничего не удалять ... так раздражает !!!
reach4thelasers
@ reach4thelasers, ха-ха, я знаю, что ты имеешь в виду, представь себе этот звук во время моей компьютерной лаборатории в колледже с 30 студентами!
jgr208
1
для меня только решение Чтобы отключить звуковой сигнал bash, вам нужно раскомментировать / добавить set bell-style none в вашем файле / etc / inputrc.
Benjguin
-1

@ Андреа Tulimiero ответ работает для локального, но когда вы ssh на удаленный сервер, звуковой сигнал включается снова. Я предлагаю отключить на панели задач Windows 10. В правом нижнем углу есть микшер, который работает для меня.

Феникс Зу
источник