web-dev-qa-db-ja.com

Ubuntu 16.04回帰でマザーボード/ PCスピーカーの「ビープ音」をオフにする

カーネルモジュールpcspkrはUbuntu 16.04でブラックリストに登録されていますが、実際にlsmodを実行しても表示されません。しかし、端末またはGUIエディターで押すと、いらいらする大きなビープ音が聞こえます  または  ファイルの先頭。押すと同じ狂ったビープ音  そして  ファイルの最後にあるとき。

beepコマンドをダウンロードし、pcskrをオーバーライドしようとしました。これはおそらくとにかくブラックリストに載っていますが、効果はありません。

Pulseaudio X-11のベル機能について読み、それをNiceソフトchimeサウンドでセットアップしようとしましたが、運もありません。

私はこのトピックを検索しましたが、私が見つけた唯一のことは、ウッドノック音をオフにしてクラシックビープ音をオンにしたいというユーザーのみでした。

うまくいけば、他の人がこの1980年代のスタイルのビープ音に悩まされ、正しい方向に私を向けることができます。前もって感謝します。

編集1

今朝、さまざまなバグレポートを読みましたが、やはり人々want私のようにそれを取り除こうとしないベルのようです。

有望なディレクトリを見つけました: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

端末を介して音楽ファイルを再生する気の利いたプログラムogg123を見つけました。 Ubuntu 16.04にはデフォルトでインストールされていると思います。

入力するとき: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

...心地よいバブルポップ音が聞こえます。押す  message.oggbell.oggに変更すると、低音ドラムビートが得られます(message.oggほどではありませんが、 ビープ音)。さらにogg123はpcスピーカーの代わりにデフォルトのサウンドデバイス(私の場合はhdmi TV)でサウンドを再生します。ただし、アラートを生成したアクティブなウィンドウを含むデバイスでサウンドを再生した方が良いと思います。

ランチャーから次を選択:System SettingsSoundSound Effectsは次のようになります。

Sound Effects

ここでの課題は、システムサウンドを既にサウンドエフェクトアラートウィンドウで利用できるようにすることです。その後、バグレポートによると、それらを選択して適切に動作させるという新たな課題があるかもしれません。

編集2-GUIメソッドを使用したサウンドの探索

Nautilusを使用すると、サウンドディレクトリを簡単に探索できます。サウンドファイルをクリックするだけで、Rhythm Box(デフォルト)が再生されます。 GUIを使用して探索すると、サブディレクトリnotificationsには、サブディレクトリstereoよりも適切なアラートが含まれます。以下のサンプル画面:

GUI Sounds

3

よく検索した結果、ターミナルでこれを入力すると動作します。

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

迷惑なビープ音の代わりに、ソフトなバブルポップ音が鳴ります。他のすべての.oggファイルは、/usr/share/sounds/ubuntu/stereoおよび/usr/share/sounds/ubuntu/notificationsから使用できます。

次のステップは、それを永続化することですが、少なくとも長時間の検索が進行した後です!


編集1-永続化する

インターネット検索では、次のことを提案します。

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

ファイルに~/.profileを追加しましたが、うまくいきませんでした。おそらくpulseaudioはその時点では実行されていませんでしたか?

だから私はこの画面でStartup Applicationsにそれを入れてしまった:

enter image description here

迷惑なbeepingがなくなり、terminalgeditの魅力のようにソフトなバブルポップ音が機能します。


編集2-bash playall、デフォルトおよびメニュースクリプトの作成

ディレクトリを切り替えてbell de jourを選択するのではなく、新しいディレクトリを作成し、サウンド候補をコピーしました/usr/share/sounds/.../...そこ:

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

次に、ディレクトリ内のすべてのサウンドをサンプリングするスクリプトを作成しました。特定のサウンドファイルが長時間再生される場合、最後までスキップできます。 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

default.oggという特別なサウンドファイルを使用して、起動中にベルの音を設定します。デフォルトを設定するために、新しいスクリプトが作成されました。

$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

上記のStartup Applicationsの上にある新しいスクリプトと一致するように変更され、次のようになりました。

Startup Applications Bell

最後のステップは、bashメニューを作成して、すべてのサウンドを再生し、単一のサウンドを聴き、最後に聴いた単一のサウンドをデフォルトに更新することでした。メニューの設計は、このaskubuntuの質問に基づいています: ファイルリスト(ファイルを数字にマップ)に基づいてbashメニューを作成 。私のメニューが好きなら、あなたはその質問に行き、その著者の答えに投票するべきです。

$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

この設計の欠点は、play allを選択すると、メニューが画面からスクロールし、ウィンドウをスクロールバックしてオプションを再度表示する必要があることです。

Phewそれだけです。

1