シェルスクリプトでビープ音を使用したいと思います。残念ながら、Googleで見つけた方法はどれも役に立ちません。
私は試した
echo -e '\a'
echo -ne '\007'
そして、beep
apt経由でインストールした後のコマンド。
理由は何でしょうか?
シェルスクリプトでビープ音を使用したいと思います。残念ながら、Googleで見つけた方法はどれも役に立ちません。
私は試した
echo -e '\a'
echo -ne '\007'
そして、beep
apt経由でインストールした後のコマンド。
理由は何でしょうか?
回答:
最初に実行してsudo modprobe pcspkr
から動作するbeep
はずです。
これが行われない理由は、デフォルトでは、Ubuntuがビープ音を発するハードウェアドライバーをロードしないためです。
これがあなたのために働くなら、pcspkrのロードを有効にするには、/etc/modprobe.d/blacklist.conf
ファイルを永久に編集し(gksudo gedit
おそらく使用して)、blacklist pcspkr
次のような行をコメントアウトしてください:
#andい大きな音、みんなの神経に乗る; これは #nice pulseaudio bing(Ubuntu:#77010) #ブラックリストpcspkr
blacklist pcspkr
にやらなければならないmodprobe -r pcspkr && modprobe pcspkr
。また、ビープ音を鳴らすことは、可聴ベルを鳴らすことと同じではないため、askubuntu.com / questions / 22168 / how-do-i-enable-the-terminal-bellはまだ開いている必要があります。
pcspkrのビープ音のファンではないので、インストールされたpulseaudioサーバーのpaplayコマンドでシステムサウンドのビープ音を使用します。
まず、好きなサウンドを見つけて(たとえば、/ usr / share / soundsを参照して、使用可能なサウンドを探してください)、それへの参照を作成します
export BEEP=/usr/share/sounds/ubuntu/ringtones/Harmonics.ogg
次に、コマンドとして使用可能にします
alias beep='paplay $BEEP'
beep
必要なときにいつでも実行できます。たとえば、コマンドが終了したときに警告するには:
find . | grep treasure ; beep
echo -e '\a'
run-my-long-test-suite.sh; beep
、システムの準備ができるまでstackoverflow を実行して読み取ることができます。
export BEEP=/usr/share/sounds/ubuntu/stereo/dialog-information.ogg
、alias beep='paplay $BEEP --volume=32768'
今、それは私のためにうまく機能します。(ボリュームをbeep
エイリアスで上書きできることに注意してくださいbeep --volume=15000
。たとえば、-12dBのボリュームで再生します。)
この問題を永続的に修正するには:
gconf-editor
し、desktop | gnome | peripherals | keyboard | bell_mode
設定が存在する場合は、からoff
に変更しますon
dconf-editor
し、org | gnome | settings-daemon | peripherals | keyboard | bell-mode
設定が存在する場合は、からoff
に変更しますon
pactl upload-sample /usr/share/sounds/gnome/default/alerts/glass.ogg bell.ogg
ファイルに追加します~/.xprofile
(に必要gnome-control-center-data
ですglass.ogg
)[ "$DISPLAY" ] && xset b 100
ファイルに追加する~/.bashrc
このソリューションをアクティブにする最も簡単な方法は、再起動することです。
さらに、既に開いているターミナルウィンドウに対してこのソリューションをすぐに実装するには、pactl
コマンドを実行し、xset
問題のターミナルウィンドウでコマンドを実行します。
pactl upload-sample
コマンドをシェルスクリプトに入れましたが、メソッドはより体系化されています。ありがとう!
pactl
にコマンドを~/.xprofile
それGUIセッションの開始時に実行されます。
dconf-editor
バージョンはのbell-mode
ようorg.gnome.settings-daemon.peripherals.keyboard
です。
glass.ogg
インストールされていることを確認してください
これはGoogleで非常に高い評価の質問なので、コンソールとX11の両方でビープ音を再度有効にするために行った手順を追加します。
すでに答え、pcspkr
PCスピーカーのためのカーネルドライバは、Ubuntuの中でブラックリストに載っています。
再起動するまで一時的に有効にします。
sudo modprobe pcspkr
起動時に自動的に有効にする:
sudo nano /etc/modprobe.d/blacklist.conf
(pcspkr
行を削除してコメント行を追加します#
)
gnome-terminal
)Xの下では、Unity、KDE、Gnome Shellを使用するときのように、ビープイベントはPulseAudioによってキャプチャmodule-x11-bell
されます/usr/bin/start-pulseaudio-x11
。これは、デフォルトでにロードされます。また、PulseAudioがビープ音で再生するサウンドサンプルbell.ogg
は、デフォルトでは空白です。さらに、ベルの音量がミュートされる場合があります。
現在のセッションを一時的に有効にするには、
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
で試すことができる他の適切なサンプルがあります。/usr/share/sounds
たとえば、/usr/share/sounds/gnome/default/alerts/
beep
プログラムは実際には必要ないことに注意してください。ただし、インストールされている場合は、PCスピーカーが使用されます。Xでブザーを有効にできる唯一の方法でした。
sudo apt-get install beep
起動時に自動的に有効にするには、上記の行をに追加する~/.profile
か、システム全体で/etc/profile
テストするには:
printf '\a'
ビープ!
beep
バズ!
pcspkr
およびbell.ogg
は独立したアプローチです。beep
たとえば、ioctl(console_fd, KIOCSOUND, period)
使用pcspkr
(マザーボード上のPCスピーカーから音が聞こえる)などのさまざまなアプローチを使用してビープ音を鳴らそうとしますが、printf '\a'
ベースの方法は、それだけでは使用できませんbell.ogg
(音は通常のスピーカーからのものです)。2番目の方法は、pulseaudioサービスが開始および/またはxset b on
実行されるまで機能し
pactl upload-sample ...
私のための黄金のでした。サンプルの読み込みを再度恒久的に設定する方法は何ですか?
~/.profile
か、またはシステム全体で/etc/profile
load-sample bell.ogg /usr/share/sounds/ubuntu/stereo/bell.ogg
で/etc/pulseaudio/default.pa
。
以前にこの問題に遭遇しました。私が覚えていることから、問題は、ターミナルベルが内部コンピューターのスピーカーを鳴らそうとすることです(古い学校のデスクトップのように)が、ラップトップやいくつかの新しいコンピューターにはそのようなものがありません。
私は一度に見つけた唯一の解決策はしたsudo apt-get install sox
し、
play -n synth <duration in seconds> sine <freq in Hz> vol <volume (0-1)>
例えば
play -n synth 0.1 sine 880 vol 0.5
play -q -n synth 2 pluck C5
。C5が注です。
私はついにalsamixer
、PC Beepオプションを必要としないソリューションを見つけました。私は私のすべての変更を覚えていると思います:
以下のコメントを外します/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
このバグごとに、実行pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
Connection failure: Connection refused pa_context_connect() failed: Connection refused
。
Failed to open module "module-esound-protocol-unix": file not found
ます。私は13.04を実行しているので、おそらくここで議論する価値はありませんが、あなたのソリューションを検証できるようになりたいです。
コンピューターに実際のスピーカーが接続されていて、ビープ音が鳴らない場合は、compizを使用している可能性があります。Compizは、pulsecityがビープ音をキャッチして再生し、metacityが通常のセットアップをバイパスし、libcanberraを使用してビープ音を再生することに依存しています。それがメタシティで動作し、compizではなく問題である場合、それ以外の場合、htorqueの答えはcorrentです。
私が知る限り、これはバグです。それを修正するための英雄的な努力にもかかわらず、Karmicでシステムビープが壊れています。
modprobe pcsprk
(コンソールで)またはpactl upload-sample ...
:) X11にし、迷惑なビープ音が帰ってきた