Desativar bipe do Linux Bash no Windows 10 [fechado]

388

Ter um Linux Bash no Windows 10 é muito legal, mas até onde eu tenho que lidar com o terminal não tão bom fornecido pela Microsoft, vou ficar preso no Ubuntu para tudo.
Enfim, existe uma maneira de desativar esse sinal sonoro sempre que você faz algo no Bash?
Como não é possível comentar bell-style audibleporque não existe, nem é possível iniciarsc config beep start= disabled

Andrea Tulimiero
fonte
12
Este Q não é sobre programação, conforme definido para o StackOverflow. Ele pode ser mais apropriado nos sites relacionados superuser.com OU unix.stackexchange.com (UNIX e Linux). Considere usar o link de flag na parte inferior do seu Q e peça ao moderador que o mova. Não publique o mesmo Q em 2 sites diferentes. Obrigado e boa sorte.
shellter
9
Você não pode set bell-style noneno seu arquivo init do readline? Esse é 1. o valor da INPUTRCvariável de ambiente, 2. ~/.inputrcou 3 /etc/inputrc..
21716 Benjamin W.
@ shellter você está certo, eu vou movê-lo!
Andrea Tulimiero
Enquanto isso, @BenjaminW. Eu tenho set-style sino nenhum em / etc / inputrc mas não funcionou
Andrea Tulimiero
4
/etc/inputrcé ignorado se você tiver um ~/.inputrc, você tem um? Ou INPUTRCapontando para outro lugar?
21716 Benjamin W.

Respostas:

588
  1. Para desativar o bipe no bash, você precisa descomentar (ou adicionar, se ainda não estiver lá) a linha set bell-style nonedo seu /etc/inputrcarquivo.

    Nota: Como é um arquivo protegido, você precisa ser um usuário privilegiado para editá-lo (por exemplo, inicie o seu editor de texto com algo parecido sudo <editor> /etc/inputrc).

  2. Para desativar o sinal sonoro também no vim, você precisa adicionar set visualbellseu ~/.vimrcarquivo.

  3. Para desativar o sinal sonoro também em menos (ou seja, também nas páginas do manual e ao usar "git diff"), você precisa adicionar export LESS="$LESS -R -Q"seu ~/.profilearquivo.

Andrea Tulimiero
fonte
15
Para um tempo de rápida sons solução pode ser desativado por meio do Windows Volume Mixer github.com/Microsoft/BashOnWindows/issues/...
Olga
51
Para sua informação, tive que reiniciar meu console para que isso se aplicasse, mas funcionou!
TJB
2
@TJB Acho que deve ser suficiente iniciar source path-to-.bash_profile- ou o arquivo que você alterou - e a configuração será recarregada, para evitar que você reinicie o console. No entanto, estou satisfeito que funcionou!
Andrea Tulimiero 4/07
2
Seria melhor se você também pudesse adicionar à sua resposta que precisa reiniciar o console como mencionado por @TJB ou como você disse, source path-to-.bash_profilemas muito obrigado pela ajuda de qualquer maneira.
Aman Tugnawat
3
Isso não funciona.
Vince
129

Como os únicos terminais de ruído que costumam fazer é a campainha e, se você quiser que ela esteja em qualquer lugar, a maneira mais simples de fazer isso para o bash no Windows:

  1. Mash backspace um monte no prompt
  2. Clique com o botão direito do mouse no ícone de som e escolha Open Volume Mixer
  3. Abaixe o volume no Host da janela do console para zero
TedMilker
fonte
12
Eu realmente gosto da simplicidade
engineercoding
8
Dado que eu ssh em muitos servidores e não consigo gerenciar facilmente as configurações locais do bash em todos os servidores, essa solução foi a melhor para mim porque era global.
Elijah W. Gagne
9
uma solução para um problema janelas janelas-causadas: D
PabTorre
3
Você pressionou backspace por um pouco ou outra tecla para fazer a janela do console fazer barulho? Faça isso antes de abrir o mixer. Os aplicativos não aparecerão no mixer até o Windows determinar que estão fazendo barulho. Em seguida, ele será removido após algum tempo.
TedMilker
2
Queijo e arroz! essa é a única coisa que funcionou para mim. Que coisa chata. Obrigado @TedMilker
Ilan
113

Descomentando set bell-style noneem /etc/inputrce criando um .bash_profilecom setterm -blength 0não parou vim de apitar.

O que funcionou para mim foi criar um .vimrcarquivo no meu diretório pessoal com set visualbell.

Fonte: https://linuxconfig.org/turn-off-beep-bell-on-linux-terminal

MWin123
fonte
23
Uau, por que quando alguém achou que o sinal sonoro era um bom padrão? Obrigado! Sua resposta é necessária para desligar o som da campainha no vi.
Andrew T Finnell
Funciona para local, mas não é bom para ssh para servidores remotos.
Matt
@ Mat - para a sessão SSH, é necessário ajustar a configuração no cliente SSH que você está usando. Por exemplo, se você estiver usando o PuTTY, ajuste suas configurações.
Asterx
11
você precisa de um ~ / .inputrc e um ~ / .vimrc para remover os bipes do bash e do vim, consulte a solução do @ Nemo. Observe também que você precisa desses dois arquivos em máquinas remotas nas quais está transferindo o ssh para evitar o sinal sonoro do ssh.
Romain Pokrzywka 10/10
78

Você precisa adicionar as seguintes linhas ao bash e vim config,

1) Desligue a campainha para o bash

vi ~/.inputrc
set bell-style none

2) Desligue a campainha do vi

vi ~/.vimrc
set visualbell
set t_vb=

Definir a campainha visual desliga a campainha de áudio e limpar o comprimento da campainha visual desativa a piscar.

Nemo
fonte
5
Obrigado, esta solução é a minha favorita, pois aborda ambas as fontes de bipe, o próprio terminal e o vim, além de evitar o piscar da campainha visual. Eu também gosto que você está criando perfis de usuário em vez de editar os arquivos de configuração do sistema em / etc
Romain Pokrzywka
Observe que isso também funciona bem para desativar o bipe do ssh ao acessar uma máquina remota, basta criar os mesmos arquivos na sua pasta pessoal na máquina remota e não haverá mais bipes.
Romain Pokrzywka 10/10
Esta é a resposta correta real, suspirar
ZJR
13

Substitua em sons do sistema a "parada crítica" em um arquivo wav silencioso 1 .

Apenas remover o som completamente não funcionou para mim. Aparentemente, algum som padrão foi usado neste caso.

Configuração de sons do sistema

(Créditos para this.lau_ no SuperUser por descobrir isso).

Juha Palomäki
fonte
3
Se você possui uma caixa Linux, é fácil emitir um segundo de silêncio. Instale o sox. Então $ rec silence.wav trim 0 1
LeviX
11
Isso me ajudou. Quando eu defino 'Parada Crítica' como Nenhum, ele foi redefinido como 'Bipe Padrão', e tive que defini-lo também como Nenhum. Esses sons são irritantes, especialmente quando estamos usando fones de ouvido. O Windows deve aprender.
Venki
11

não é específico para o bash windows 10. mas se você deseja remover o terminal de sino do zsh, use a opção correta no zshrc. (para vim, resposta já postada)

unsetopt beep

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

Eu encontrei essa opção rapidamente, mas a encontraria ainda mais rápido se estivesse neste post ^^

hf

NoZero
fonte
10

clique com o botão direito do mouse no ícone de som (canto inferior direito) >>> abrir o mixer de volume >>> silenciar o host da janela do console

Brett Lapierre
fonte
6

Descobri que a solução do TedMilker funcionava, mas eu precisaria reajustar o Volume Mixer cada vez que reiniciasse. Para torná-lo permanente, ajustei os níveis de volume nas Preferências de volume e dispositivo do aplicativo do Windows.

Retirado desta postagem :

Configurações / Sistema / Som / Volume do aplicativo e preferências do dispositivo

Defina o Host da janela do console como Zero.

(Pode ser necessário pressionar Tab / Backspace na janela do console para acionar o som da campainha antes que o controle deslizante Host da janela do console apareça.)

GobiJerboa
fonte
1

Além do que o jgr208 disse, você já pode ter um ~/.profilearquivo e~/.bash_profile não estar presente, como foi o meu caso.

Nesse caso, adicione setterm -blength 0ao.profile .

Se você criar um .bash_profile, .profileserá ignorado e qualquer coisa que o Windows tenha escrito não funcionará.

raisinrising
fonte
1

Para desativar os bipes ao fazer o shsh em uma máquina remota, basta criar o mesmo ~/.inputrce~/.vimrc arquivos na máquina remota para impedir que o próprio ssh apite.

Veja a resposta do @Nemo para o conteúdo de cada arquivo.

Romain Pokrzywka
fonte
0

Encontre o local do .bash_profilearquivo e digite o seguinte no arquivo:

setterm -blength 0

O que definirá a quantidade de tempo que o sinal sonoro ocorrerá como 0 e, portanto, nenhum sinal sonoro.

jgr208
fonte
8
Isto não funcionou para mim - a outra resposta sobre o arquivo inputrc fez
reach4thelasers
@ reach4thelasers bem, qual sinal sonoro você deseja desativar? como você pode ver abaixo para vim e afins, minha resposta funciona.
Jgr208
Foi o bipe que acontece quando você aperta o botão excluir e vai longe demais - então tente excluir nada ... tão irritante !!!
reach4thelasers
@ reach4thelasers haha ​​eu sei o que você quer dizer, imagine esse som durante o meu laboratório de informática na faculdade com 30 alunos!
Jg208
11
para mim, apenas a solução Para desativar o bipe do bash, você precisa descomentar / adicionar o conjunto bell-style none no seu arquivo / etc / inputrc que funcionou para mim.
benjguin
-1

A resposta de @Andrea Tulimiero funciona para local, mas quando você envia um ssh para um servidor remoto, o sinal sonoro é ativado novamente. Minha sugestão é desativar na barra de tarefas do Windows 10. Há um mixer de volume no canto inferior direito, o que funciona para mim.

Phoenix Zou
fonte