Le bip dans le script shell ne fonctionne pas?

74

J'aimerais utiliser un bip sonore dans un script shell. Malheureusement, aucune des méthodes que j'ai trouvées via Google ne fonctionne pour moi.

j'ai essayé

echo -e '\a'

echo -ne '
echo -e '\a'

echo -ne '%pre%7'
7'

et la commande beep après l'avoir installée via apt.

Quelle pourrait être la raison?

    
posée NES 03.01.2011 - 21:37
la source

9 réponses

82

Commencez par sudo modprobe pcspkr puis par beep devrait fonctionner.

La raison en est que, par défaut, Ubuntu ne charge plus le pilote matériel qui émet des bips.

Si cela fonctionne pour vous, pour activer le chargement de pcspkr, éditez de manière permanente le fichier /etc/modprobe.d/blacklist.conf (en utilisant peut-être gksudo gedit ) et mettez en commentaire la ligne qui dit blacklist pcspkr afin qu’elle ressemble à ceci:

# ugly and loud noise, getting on everyone's nerves; this should be done by a
# nice pulseaudio bing (Ubuntu: #77010)
# blacklist pcspkr
    
réponse donnée 8128 03.01.2011 - 21:44
la source
83

N'étant pas un fan du bip pcspkr, j'utilise un bip d'un des sons système avec la commande paplay du serveur pulseaudio installé.

Recherchez d’abord un son que vous aimez (vous pouvez par exemple parcourir / usr / share / sounds) et créez-y une référence

export BEEP=/usr/share/sounds/ubuntu/ringtones/Harmonics.ogg

Ensuite, ayez-le disponible en tant que commande

alias beep='paplay $BEEP'

Maintenant, lancez beep quand vous en avez besoin. Par exemple, pour vous alerter quand une commande est terminée:

find . | grep treasure ; beep
    
réponse donnée yuvilio 27.07.2012 - 02:28
la source
21

Pour résoudre ce problème de manière persistante:

  • Exécutez gconf-editor et si le paramètre desktop | gnome | peripherals | keyboard | bell_mode est présent, modifiez-le de off à on
  • Exécutez dconf-editor et si le paramètre org | gnome | settings-daemon | peripherals | keyboard | bell-mode est présent, modifiez-le de off à on
  • Ajoutez pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg au fichier ~/.xprofile (vous avez besoin de gnome-control-center-data pour glass.ogg )
  • Ajouter [ "$DISPLAY" ] && xset b 100 au fichier ~/.bashrc

Le moyen le plus simple d'activer cette solution consiste à redémarrer.

De plus, pour implémenter cette solution immédiatement pour une fenêtre de terminal déjà ouverte, exécutez la commande pactl , puis la commande xset dans la fenêtre de terminal en question.

    
réponse donnée jdthood 12.12.2012 - 13:33
la source
19

Comme il s'agit d'une question très bien notée sur Google, j'ajouterai les étapes que j'ai suivies pour réactiver le bip dans la console et X11:

Pour la console Linux ( CTRL + ALT + F1 ... F6 ):

Pourquoi cela ne fonctionne pas par défaut

Comme déjà répondu , le pilote pcspkr du noyau de PC Speaker figure sur une liste noire dans Ubuntu.

Activer temporairement jusqu'au redémarrage:

sudo modprobe pcspkr

Activer automatiquement au démarrage:

sudo nano /etc/modprobe.d/blacklist.conf

(supprimez ou commentez pcspkr ligne en l'ajoutant au préalable avec # )

Pour les terminaux X11 (comme le gnome-terminal par défaut)

Pourquoi cela ne fonctionne pas par défaut

Sous X, comme avec Unity, KDE et Gnome Shell, les événements sonores sont capturés par PulseAudio grâce à module-x11-bell , qui est chargé par défaut à /usr/bin/start-pulseaudio-x11 . Et l'échantillon sonore que PulseAudio joue au bip, bell.ogg , est vide par défaut. De plus, le volume de la sonnerie peut être mis en sourdine.

Pour activer temporairement la session en cours,

xset b 100  # perhaps not needed, on my system it was 40 by default
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg

Il existe d’autres exemples appropriés que vous pouvez essayer à /usr/share/sounds . Par exemple, vérifiez ceux de /usr/share/sounds/gnome/default/alerts/

.

Notez que le programme beep n'est pas vraiment nécessaire. Mais s'il est installé, il utilise le haut-parleur du PC. C’est le seul moyen que j’ai pu trouver pour activer la sonnerie sous X:

sudo apt-get install beep

Pour l'activer automatiquement au démarrage, ajoutez simplement les lignes ci-dessus dans votre ~/.profile ou à l'échelle du système à /etc/profile

Pour le tester:

printf '\a'

Bip!

beep

Buzz!

    
réponse donnée MestreLion 19.02.2015 - 12:36
la source
13

J'ai déjà rencontré ce problème. D'après mes souvenirs, le problème est que la sonnette du terminal essaie de faire sonner le haut-parleur interne d'un ordinateur (comme sur un ordinateur de bureau à l'ancienne), mais les ordinateurs portables et certains ordinateurs plus récents manquent une telle chose.

La seule solution que j'ai trouvée à l'époque était de sudo apt-get install sox et

play -n synth <duration in seconds> sine <freq in Hz> vol <volume (0-1)>

exemple

 play -n synth 0.1 sine 880 vol 0.5
    
réponse donnée YodaDaCoda 12.12.2012 - 00:04
la source
2

Si vous avez des haut-parleurs connectés à l'ordinateur et que vous n'entendez pas de bip, c'est probablement parce que vous utilisez Compiz. Compiz compte sur pulseaudio pour capter les bips et les jouer pendant que Métacity contourne la configuration habituelle et utilise libcanberra pour émettre un bip. Si cela fonctionne avec metacity et non compiz, c’est votre problème, sinon la réponse fournie par htorque est correcte.

    
réponse donnée Travis Watkins 03.01.2011 - 21:56
la source
2

Pour autant que je sache, il s'agit d'un bogue: Bip du système brisé en karmique malgré l'héroïsme efforts pour y remédier .

    
réponse donnée htorque 03.01.2011 - 21:43
la source
2

J'ai finalement trouvé une solution qui n'exige pas que alsamixer dispose d'une option PC Beep. Je pense me souvenir de tous mes changements:

supprimez les commentaires suivants dans /etc/pulse/default.pa :

load-sample-lazy x11-bell /usr/share/sounds/ubuntu/stereo/bell.ogg
load-module module-x11-bell sample=bell-windowing-system

par ce bogue , exécutez pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg

    
réponse donnée JoBu1324 12.12.2012 - 00:09
la source
1

" Le bip ne fonctionne que si votre PC est équipé d'un" haut-parleur ". De nombreux ordinateurs portables / petits appareils modernes n'en possèdent pas."

Essayez de jouer un son comme celui-ci: play xxxxx.wav , j'ai trouvé un bon wav fichier qui semble être court et agréable, mais vous pouvez aussi choisir le vôtre. Fonctionne pour moi quand tout le reste a échoué.

Merci à: tredegar & hk_centos

    
réponse donnée Eliptical view 06.03.2018 - 00:00
la source

Lire d'autres questions sur les étiquettes