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 '\007'
et la commande beep
après l'avoir installée via apt.
Quelle pourrait être la raison?
Réponses:
Tout d'abord
sudo modprobe pcspkr
, puisbeep
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 permettre le chargement de pcspkr, éditez le
/etc/modprobe.d/blacklist.conf
fichier de façon permanente (en utilisantgksudo gedit
peut-être) et mettez en commentaire la ligne qui ditblacklist pcspkr
:la source
blacklist pcspkr
je dois le fairemodprobe -r pcspkr && modprobe pcspkr
pour que cela fonctionne. Obtenir un bip sonore au travail n'est pas la même chose que faire sonner la cloche audible et donc askubuntu.com/questions/22168/how-do-i-enable-the-terminal-bell devrait encore être ouverte.N'étant pas un fan du bip pcspkr, j'utilise un bip d'un des sons du 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 une référence à celui-ci.
Ensuite, ayez-le disponible en tant que commande
Maintenant, lancez-
beep
vous quand vous en avez besoin. Par exemple, pour vous alerter quand une commande est terminée:la source
echo -e '\a'
run-my-long-test-suite.sh; beep
et lire stackoverflow jusqu'à ce que le système soit prêt.export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
etalias beep='paplay $BEEP --volume=32768'
maintenant, ça marche bien pour moi. (Notez que vous pouvez remplacer le volume avec l'beep
alias, par exemple,beep --volume=15000
pour un volume de -12 dB.)Pour résoudre ce problème de manière persistante:
gconf-editor
et si ledesktop | gnome | peripherals | keyboard | bell_mode
paramètre est présent changer ensuite deoff
laon
dconf-editor
et si leorg | gnome | settings-daemon | peripherals | keyboard | bell-mode
paramètre est présent changer ensuite deoff
laon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
au fichier~/.xprofile
(vous avez besoingnome-control-center-data
pourglass.ogg
)[ "$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
pactl
commande et exécutez laxset
commande dans la fenêtre de terminal en question.la source
pactl upload-sample
commande dans un script shell, mais votre méthode est plus organisée. Merci!pactl
commande,~/.xprofile
elle sera exécutée au début de la session de l'interface graphique.dconf-editor
version dubell-mode
paramètre semble êtreorg.gnome.settings-daemon.peripherals.keyboard
.glass.ogg
installé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 ça ne marche pas par défaut
Comme déjà répondu , le
pcspkr
pilote du noyau du haut-parleur PC est sur liste noire dans Ubuntu.Activer temporairement jusqu'au redémarrage:
Activer automatiquement au démarrage:
(supprimez ou commentez la
pcspkr
ligne en l'ajoutant au début#
)Pour les terminaux X11 (tels que ceux par défaut
gnome-terminal
)Pourquoi ça ne marche pas par défaut
Sous X, comme avec Unity, KDE, Gnome Shell, les événements de bip 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 PulseAudio joue au bipbell.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,
Vous pouvez essayer d’autres échantillons appropriés
/usr/share/sounds
, par exemple, consultez ceux du/usr/share/sounds/gnome/default/alerts/
Notez que le
beep
programme n'est pas vraiment nécessaire. Mais s'il est installé, il utilise le haut-parleur du PC. C'était le seul moyen que je pouvais trouver pour activer la sonnerie sous X:Pour activer automatiquement au démarrage, il suffit d' ajouter les lignes ci - dessus dans votre
~/.profile
, ou tout le système à/etc/profile
Pour le tester:
Bip!
Bourdonner!
la source
pcspkr
etbell.ogg
sont des approches indépendantes.beep
tente d'émettre un bip en utilisant diverses approches, par exemple,ioctl(console_fd, KIOCSOUND, period)
utiliserpcspkr
(le son provient du haut-parleur de l'ordinateur sur la carte mère), tandis que laprintf '\a'
méthode basée sur peut fonctionner sans utiliser uniquementbell.ogg
(le son provient de haut-parleurs ordinaires). La deuxième méthode peut ne pas fonctionner tant que le service pulseaudio n'est pas démarré et / ouxset b on
n'est pas lancépactl upload-sample ...
était doré pour moi. Quel est le moyen de configurer de manière permanente le chargement de l'échantillon à nouveau?~/.profile
ou dans l'ensemble du système à l'/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
dans/etc/pulseaudio/default.pa
.J'ai rencontré ce problème auparavant. 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 je trouvais à l'époque était
sudo apt-get install sox
etpar exemple
la source
play -q -n synth 2 pluck C5
. C5 est la note.J'ai finalement trouvé une solution qui ne nécessite pas l'
alsamixer
option PC Beep. Je pense que je me souviens de tous mes changements:décommentez ce qui suit dans
/etc/pulse/default.pa
:par ce bug , lancez
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
la source
Connection failure: Connection refused pa_context_connect() failed: Connection refused
.Failed to open module "module-esound-protocol-unix": file not found
. Cela ne vaut probablement pas la peine de discuter ici puisque je suis sous la version 13.04, bien que j'aimerais pouvoir vérifier votre solution.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 torque est correcte.
la source
Autant que je sache, il s'agit d'un bug: le bip du système est cassé en karmique malgré les efforts héroïques pour y remédier .
la source
modprobe pcsprk
(en console) oupactl upload-sample ...
en X11 et le bip gênant est de retour :)"Le bip ne fonctionne que si votre PC est équipé d'un" haut-parleur ". De nombreux ordinateurs portables / petits appareils modernes n'en ont pas".
Essayez de jouer un son comme celui-ci:
play xxxxx.wav
j'ai trouvé un joli fichier wav qui semble être court et sympathique , mais vous pouvez également choisir le vôtre. Ça marche pour moi quand tout le reste a échoué.Merci à: tredegar & hk_centos
la source
Une approche alternative - réglez votre xterm / console sur "Visual Bell" de sorte que la fenêtre inversera simplement ses couleurs pendant un bref moment.
J'ai une fonction bash appelée beep pour attirer mon attention une fois la commande terminée.
Et il est utilisé de cette façon
la source
C'est peut-être trop tard, MAIS, pour le gars à la recherche de ceci:
la source