web-dev-qa-db-fra.com

Désactiver le bip de la carte mère / du haut-parleur PC dans la régression Ubuntu 16.04

Je vois que le module du noyau pcspkr est inscrit sur la liste noire dans Ubuntu 16.04 et en effet, lorsque je fais un lsmod, il n'apparaît pas. Mais je reçois toujours ce bip sonore gênant dans un terminal ou un éditeur graphique lorsque vous appuyez sur  ou  en haut du fichier. Même bip fou lorsque vous appuyez sur  et  quand au bas du fichier.

J'ai essayé de télécharger la commande beep et de remplacer pcskr, qui est probablement sur la liste noire de toute façon, sans aucun effet.

J'ai lu sur la fonction de sonnerie pulseaudio X-11 et j'ai essayé de la configurer avec un son doux et agréable chime, mais sans aucune chance.

J'ai cherché sur ce sujet et la seule chose que j'ai trouvée était un utilisateur qui souhaitait l'inverse pour désactiver le son du bois et activer le bip classique.

Espérons que d’autres seront contrariés par ce bip des années 80 et pourront me diriger dans la bonne direction. Merci d'avance.

Modifier 1

J'ai lu divers rapports de bogues ce matin, mais encore une fois, il semble que les gens veulent que la cloche ne cherche pas à s'en débarrasser comme moi.

J'ai trouvé un répertoire prometteur: ls /usr/share/sounds/ubuntu/stereo/

bell.ogg               desktop-logout.ogg      message-new-instant.ogg     service-login.ogg
button-pressed.ogg     dialog-error.ogg        message.ogg                 service-logout.ogg
button-toggle-off.ogg  dialog-information.ogg  phone-incoming-call.ogg     system-ready.ogg
button-toggle-on.ogg   dialog-question.ogg     phone-outgoing-busy.ogg     window-slide.ogg
desktop-login.ogg      dialog-warning.ogg      phone-outgoing-calling.ogg

Trouvé un programme astucieux ogg123 qui lit les fichiers de musique via le terminal. Je pense que c'est installé par défaut dans Ubuntu 16.04.

Lorsque vous entrez: ogg123 /usr/share/sounds/ubuntu/stereo/message.ogg

Audio Device:   PulseAudio Output

Playing: /usr/share/sounds/ubuntu/stereo/message.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz

... vous obtenez une agréable bulle éclater. presse  et changez message.ogg en bell.ogg et vous obtenez un battement de basse grave (pas aussi agréable que message.ogg mais meilleur que bip ). De plus , ogg123 lit les sons sur le périphérique audio par défaut (dans mon cas, hdmi TV) au lieu du haut-parleur de l'ordinateur. Je pense qu'il serait préférable que le son soit lu via le périphérique contenant la fenêtre active qui a généré l'alerte.

Dans Launcher, choisissez: System Settings, Sound, Sound Effects ressemble à ceci:

Sound Effects

Maintenant, le défi consiste à obtenir les sons du système déjà disponibles dans la fenêtre d’alerte des effets sonores. Par la suite, selon les rapports de bogues, un nouveau défi pourrait être de les sélectionner et de les faire se comporter correctement.

Éditer 2 - Explorer les sons en utilisant la méthode graphique

En utilisant Nautilus, il est plus facile d'explorer les répertoires sonores. Cliquez simplement sur un fichier son et Rhythm Box (par défaut) les jouera. Lors de l'exploration via l'interface graphique, le sous-répertoire notifications contient davantage d'alertes appropriées que le sous-répertoire stereo. Exemple d'écran ci-dessous:

GUI Sounds

3
WinEunuuchs2Unix

Après de nombreuses recherches, j'ai trouvé que cela tapait dans le Terminal:

pactl upload-sample /usr/share/sounds/ubuntu/stereo/message.ogg bell.ogg

Il produira un son de bulle doux au lieu d’un bip gênant. Tous les autres fichiers .ogg peuvent être utilisés à partir de /usr/share/sounds/ubuntu/stereo et /usr/share/sounds/ubuntu/notifications.

La prochaine étape consiste à le rendre persistant, mais au moins après de longues heures de recherche et de progrès!


Edit 1 - Le rendre persistant

Les recherches sur Internet suggèrent de mettre:

pactl upload-sample /usr/share/sounds/ubuntu/stereo/message.ogg bell.ogg

dans le fichier ~/.profile mais cela n'a pas fonctionné. Peut-être que pulseaudio ne fonctionnait pas à ce moment-là?

J'ai donc fini par le mettre dans Startup Applications sur cet écran:

enter image description here

Maintenant, le son ennuyeux qui retentit a disparu et un doux son de bulle apparaît comme un charme dans les terminal et gedit.


Edit 2 - Créer des scripts bash playall, default et menu

Plutôt que de changer de répertoire pour sélectionner la sonnerie du jour , j’ai créé un nouveau répertoire et copié les candidats sonores de /usr/share/sounds/.../... là:

$ ls /usr/local/bin/bell/sounds
Amsterdam.ogg  Blip.ogg     Mallet.ogg   Positive.ogg  Slick.ogg
bell.ogg       default.ogg  message.ogg  Rhodes.ogg

Ensuite, j'ai créé un script pour échantillonner tous les sons d'un répertoire. Si un fichier son donné est trop long, vous pouvez aller à la fin avec Ctrl+C.

$cat /usr/local/bin/playall-bells
#! /bin/bash

# NAME: playall-bells
# PATH: /usr/local/bin
# DESC: Play all songs in directory /usr/local/bin/bell/sounds.
#       Parameter 1 can override to different directory.
# CALL: Typically call with "playall-bells" (no parameters).
# DATE: Created Sep 30 2016.

DIRNAME="$1"

# if no parameters set DIRNAME to bell/sounds
if [ $# == 0 ]; then
    DIRNAME=/usr/local/bin/bell/sounds
fi

# Cookie cutter debug section. Remove # from echo's
#echo "********************************************************"
#echo "*                                                      *"
#echo "*  THE DIRECTORY IS: $DIRNAME"
#echo "*                                                      *"
#echo "********************************************************"

for file in $DIRNAME
do
    printf $DIRNAME
    ogg123 $DIRNAME # If a sound plays too long <Ctrl>+C for next
done

Un fichier son spécial appelé default.ogg sert à régler le son de la cloche au démarrage. Pour définir la valeur par défaut, un nouveau script a été créé.

$cat /usr/local/bin/load-default-bell
#! /bin/bash

# NAME: load-default-bell
# PATH: /usr/local/bin
#      `.ogg` sound files are stored in `/usr/local/bin/bell/sounds`
# DESC: Load bell sound to pulseaudio.
# CALL: Call with "load-default-bell" (no parameters)
#       Does not work in "~/.profile" as some users suggest
#       Works in "Startup Applications" locatable by "Dash"
# DATE: Created Sep 30 2016.
# UPDT: Oct 1 2016 - Play new bell sound after load to pulseaudio.
#       Oct 2 2016 - bell-select-menu has been created to manage default.

# NOTE: Use Nautilus or Terminal Menu to copy desired <sound>.ogg to
#       default.ogg. This sound in turn is uploaded to Pulse-audio.
#       New script `bell-select-menu` will update default sound file.
#       Name of the game is to replace annoying motherboard speaker
#       beep which is a regression in Ubuntu 16.04.

pactl upload-sample /usr/local/bin/bell/sounds/default.ogg bell.ogg
printf '\a' # play new bell sound

Coïncidant avec le nouveau script ci-dessus, le Startup Applications décrit ci-dessus a été modifié pour ressembler à ceci:

Startup Applications Bell

La dernière étape consistait à créer un menu bash pour reproduire tous les sons, écouter un seul son et mettre à jour le dernier son écouté par défaut. La conception du menu a été prise à partir de cette question askubuntu: Créer un menu bash basé sur la liste des fichiers (mapper les fichiers sur des nombres) . Si vous aimez mon menu, vous devriez aller à cette question et voter à la hausse la réponse de cet auteur.

$cat /usr/local/bin/bell-select-menu
#! /bin/bash

# NAME: bell-select-menu
# PATH: /usr/local/bin
# DESC: Present menu of bell sounds to listen to all, listen to one and update default.
# CALL: bell-select-menu
# DATE: Created Oct 1, 2016.

echo "The following /usr/local/bin/bell/sounds were found"

# set the Prompt used by select, replacing "#?"
PS3="'a' to hear to all files, use number to hear a single file, 
'u' to update last single file heard as new default, or 'q' to quit: "

lastfile="none"

# allow the user to choose a file
select filename in /usr/local/bin/bell/sounds/*.ogg

do

    # leave the loop if the user types 'q'
    if [[ "$REPLY" == q ]]; then break; fi

    # play all if the user types 'a'
    if [[ "$REPLY" == a ]] 
    then 
        playall-bells
        continue
    fi

    # update last file name as new default if the user types 'u'
    if [[ "$REPLY" == u ]]
    then
        if [[ "$lastfile" == none ]]
        then
            echo "No file was selected."
            break
        fi
        echo "$lastfile selected"
        cp $lastfile /usr/local/bin/bell/sounds/default.ogg
        load-default-bell
        break
    fi

    # complain if no file was selected, and loop to ask again
    if [[ "$filename" == "" ]]
    then
        echo "'$REPLY' is not a valid number"
        continue
    else
        lastfile="$filename"
    fi

    # listen to the selected file
    ogg123 "$filename"

    # loop back to ask for another
    continue
done

L'inconvénient de cette conception est que lorsque vous sélectionnez play all, le menu disparaît de l'écran et vous devez faire défiler la fenêtre vers l'arrière pour voir à nouveau les options.

Ouf c'est tout.

1
WinEunuuchs2Unix