【MX Linux】動画(音声など)が再生時・再生終了後に「パチン音」「シュッ音」を繰り返す時の対処方法

当ページのリンクには広告が含まれています。
【MX Linux】動画(音声)が再生時・再生後に「パチン音」「シュッ音」を繰り返す時の対処方法
  • URLをコピーしました!

ここではおなじみの古いPC検証機「CPU:Core 2 Duo(MX Linuxインストール済み)」のお話しです。
※Windowsのお話しではありませんよ(^o^)

※僕の環境での対処方であり、適用すると不具合が出ると悪いので自分でなんとかできない人は真似しないでくださいね^^
あくまで僕はこんなことをしたという記録ですので、お読み物としてお願いしますm(_ _)m。

Core 2 Duo世代などの古めのPCにMX LinuxやDebian系を入れて起動すると、動画を止めたときに「シュッ...(スリープ)」という音が鳴り、次に再生したときに「パチン!(起動・復帰)」と盛大なポップノイズが鳴る現象に悩まされがちです。

原因はLinuxのサウンドドライバ( snd_hda_intel )の省電力機能( power_save=1 )にあります。これを 0 にすれば一発で解決するはずなんですけど...ここからが「再起動のたびに勝手に 1 に戻る」という終わらない泥沼の始まりだったのです笑

この記事では、ネットによくある定番対策にことごとく敗北し、最終的にどうやってこの「上書き魔」のカーネルを屈服させたのか、その泥臭い試行錯誤の記録を残します(大げさ笑)。

目次

第1章:定番の対策、すべて散る

まずは基本の「一時的な解決」。端末(ターミナル)で以下のコマンドを入力してエンターを押せば、その場ではパチン(パチパチ)音、シュッ音のノイズ音は消えます。
(PC起動後に毎回実行すれば電源を切るまで、再起動をするまではパチン音などは消えます)

echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save 

ですが、これを再起動後も維持させようと頑張ったのですが...なかなかうまくいかず駄目だったのです。
以下は頑張ったものの流れです。不正解ですのでサラッと読んでください。

  1. モジュール設定ファイルを作る
    /etc/modprobe.d/snd-power-save.conf に options snd-hda-intel power_save=0 と書き、 sudo update-initramfs -u で初期ラムディスクを焼き直した。
  2. GRUBのカーネルパラメータにねじ込む /etc/default/grub に snd_hda_intel.power_save=0 を追加して sudo update-grub した。

結果:再起動して確認すると、ああ「1」戻ってる...。何度やっても起動の最後の最後で、サウンドドライバがデフォルト値(1)で強烈に上書きしてくるんですよトホホ。設定ファイルも初期イメージも無視されます。この時点で駄目なのかなと諦めようかと。

第2章:Systemdによる「力技」の敗北

こちらも失敗なのでサラッと読んでください。

「なら、起動した直後に無理やり書き込ませればいいじゃないかー!」と考え、Systemdのサービスファイル( fix-audio-powersave.service )を作成しました。

以下のコマンドを端末(ターミナル)に書き込みました。

[Unit]
Description=Force disable HDA Intel audio power save
After=sound.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c ‘echo 0 > /sys/module/snd_hda_intel/parameters/power_save’
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

これを有効化( systemctl enable )して意気揚々と再起動。

結果:やっぱり「1」になる...。
理由は単純で、システムがこのコマンドを実行した「さらに後」のタイミングで、サウンドドライバ本体がノソノソと遅れてロードされ、綺麗に上書きしていったからです。イタチごっこにも程がありますよね笑

第3章:3秒の遅延(タイムラグ)アタックもあえなく撃沈

ここも失敗なのでサラッと読んでください。

「ドライバが後から来るなら、こっちも待ってから後出しで当てればいいのかな」ということで、Systemdのサービスに ExecStartPre=/bin/sleep 3 を挟み、3秒待ってから書き込むように改良しました。

以下のコマンドを端末(ターミナル)に書き込みました。

ExecStartPre=/bin/sleep 3
ExecStart=/bin/sh -c ‘echo 0 > /sys/module/snd_hda_intel/parameters/power_save’

結果:またしても「1」になる...。

3秒の時点ではまだドライバ自体がロードされておらず書き込み先(ファイル)が存在しなかったり、あるいはタイミングが微調整できずにカーネルに押し負けたりと、バックグラウンド(システム起動プロセス)での戦いは完全に泥沼と化したのでした笑

「だめだこりゃ...次いってみよう システム側に自動化を頼るのは無理だ!」

第4章:発想の転換!「ログインセッション」に頼る最終解

【MX Linux】動画(音声)が再生時・再生後に「パチン音」「シュッ音」を繰り返す時の対処方法

ここからが対処方法のメインとなります。

ここで方針をガラリと変えます。
システム起動中のバックグラウンドで戦うから負けるのだ。ならば「PCが完全に起動し、デスクトップ画面が出て、自分がログインしたその瞬間」に、後出しで強制的に 0 をねじ込めばいいのではないか!?

これならタイミングのズレもないし、ドライバも完全に出揃っている。
ただし、ファイルの書き込みには管理者権限( sudo )が必要なため、自動実行するとパスワード入力で止まってしまう。そこで「この特定のファイルへの書き込みだけは、パスワードなしで許可する」という安全な抜け道を作ることにしました。

最終的な解決手順(完全版)

今のところ以下を実行すれば、パチン音はPC起動の一度鳴るだけになりました。どうしてもはじめに通電するときのパソコン立ち上げ(起動)時には一度は「パチン」という音が出ますが、その後はスリープにならないので「シュッ音」はしません。

1.特定のコマンドだけパスワードなしで実行できるようにする

端末(ターミナル)を開き、以下のコマンドを入力してからEnterを押して sudo の例外ルールを作ります。

echo “$USER ALL=(ALL) NOPASSWD: /bin/tee /sys/module/snd_hda_intel/parameters/power_save” | sudo tee /etc/sudoers.d/audio-power-save

2.ログイン時に自動実行するスクリプト(デスクトップエンド)を作る。

デスクトップ環境の自動起動機能を利用し、ログイン3秒後に裏で一発叩いてもらう仕組みを作ります。

フォルダを作成

mkdir -p ~/.config/autostart

設定ファイルを新規作成

nano ~/.config/autostart/fix-audio.desktop

以下のコマンドを貼り付けて保存(貼り付けてから Ctrlキー + Oキー(アルファベットのオーです)を押したら Enterキー を押すと保存され、 次に Ctrlキー + Xキーを押すと閉じます。
※+は同時押しっていう意味です。

[Desktop Entry]
Type=Application
Name=Fix Audio Power Save
Exec=sh -c ‘sleep 3 && echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save’
X-GNOME-Autostart-enabled=true

以下のコマンドを端末(ターミナル)に打ち込み Enterを押して、PCを再起動します。

sudo reboot

結末:そして、静寂へ

再起動後、テスクトップが表示されるまで待ってから、以下のコマンドを端末(ターミナル)に打ってからEnterを押します。

cat /sys/module/snd_hda_intel/parameters/power_save

返ってきた答えが「0」ならば成功です。
「1」ならば失敗です。
見事「0」でした!やったー(^o^)

これで、YouTubeやU-NEXT、アマゾンプラムビデオなどの動画や音楽を再生しても、あのはじめのパチン!パチン!という音は出なくなりました!!

システムの深い設定ファイルやsystemdの呪縛に囚われ、何回も再起動したかわからない泥沼からようやく抜け出せた瞬間でした笑

自分用に記録として記事にしてみました。
最後までお読みいただきありがとうございました。

ちなみにこのブログはCore2Duoのパソコンを使って書いてます。
Core2Duoですよ!何年前!?Windows Vistaの時代のパソコンです。
Windowsでは力不足なCPUですが、Linuxなら全然現役で使えちゃんですよ。
Google Chromeのブラウザだって使えるので、ブラウザでできることであるYouTube、U-NEXTなどの動画視聴、ブログ作成、ネット閲覧などは全然できます。
あと標準でエクセルやワードの互換性のある文書作成アプリがインストールされていたり、画像の編集等のアプリもはじめから入っています。
もし家に眠っている古いパソコンで使い道がなく壊れてもいいやってのがあったらLinuxをインストールするのもありだと思います。
Linuxをインストールするのは、8GBのUSBメモリとパソコンでLinuxをダウンロードすることができれば簡単に可能です。興味がある人はYouTubeで「MX Linux インストール」等のキーワードで検索してみてください。流れがわかると思いますよ。インストールメディアを作るには「Rufus」がおすすめかなと思います。なので参考にする動画がRufusを使ったものだといいと思います。

あとLinuxの利用料は無料なので始めやすいんですよね。
そもそもCore2DuoはWindows11はインストールできませんし、Win10はもうサポート切れだしライセンス料が発生しますからね。なので古いPCを復活させるならLinux一択かなと思います。
僕はいろいろ使ってみたところ、MX Linuxが一番使いやすいと思いました。
低スペックのPCにも優しい設定になってます。アイドル時の物理メモリ使用量は800MBくらいですし、YouTubeの動画視聴中でもメモリ使用量は1.5GB〜2.0GBなのでとても軽いんですよ。
ちなみに物理メモリは2GBだったのですが、ハードオフで2GBを100円で買ってきて4GBにしています。PCの裏の+ネジを外してすぐ交換できるので簡単でした。
画面の明るさ調整が古いPCの場合Linuxは難しいところがあるんですけど、MX Linuxは、明るさ調整アプリがインストールされているので簡単なんですよね。
いろいろ試してみて自分のパソコンの環境にあったLinuxを探してみてください。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

当ブログの運営者。
動物は猫・犬好き。
甘い物が大好きなスイーツ系おじさん。
いろんな物に興味だけはあります。
どうぞよろしくお願いします。
プロフィール詳細

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次