Nie zająłem się źródłem problemu, ale po prostu uczyniłem go praktycznie niezauważalnym.
Więc hack jest dość prosty. Ponieważ problem występuje tylko wtedy, gdy nie ma odtwarzania, wymyśliłem hack, aby zawsze mieć odtwarzanie! To powinno być prawdą tylko wtedy, gdy słuchawki są podłączone. Odtwarzanie powinno się zatrzymać po zdjęciu słuchawek.
Wykonaj te proste kroki
Krok # 1: Zainstaluj MPlayera i skonfiguruj go. (mplayer, ponieważ jestem pewien, że nie będę go nigdy używał do odtwarzania muzyki!)
sudo apt install mplayer
nano ~/.mplayer/config
wpisz ten plik-> lirc=no
Krok # 2: Pobierz ten plik mp3 stąd (silence-10sec.mp3)
Krok # 3: Utwórz folder w katalogu domowym i nazwij go .hush
Skopiuj plik mp3 do .hush
katalogu
cp ~/Downloads/silence-10sec.mp3 ~/.hush/
W tym folderze utwórz plik skryptu i nazwij go silence.sh
Skopiuj wklej ten kod do pliku skryptu.
#!/bin/bash
plugged="jack/headphone HEADPHONE plug"
unplugged="jack/headphone HEADPHONE unplug"
acpi_listen | while IFS= read -r event;
do
if [ "$event" == "$plugged" ]
then
mplayer -really-quiet -loop 0 ~/.scripts/silence-10sec.mp3 &
elif [ "$event" == "$unplugged" ]
then
pkill -f mplayer
fi
done
Zrób to za pomocą polecenia chmod +755 silence.sh
Krok # 4: Wpisz startup applications
Dash i dodaj do niego ścieżkę skryptu silence.sh.
Zasadniczo słuchamy zdarzeń podłączonych i odłączonych słuchawek oraz odtwarzamy lub zatrzymujemy pusty plik mp3 w pętli. Teraz wykorzystałem, mplayer
ponieważ wiem, że nigdy nie użyję tego w żadnym innym celu, a zabicie jego procesu jest dla mnie całkowicie bezpieczne.
sudo white_noise_fix.py
białym szumem całkowicie znika, ale potem wraca, jakbym zamknął i otworzył Ustawienia dźwięku. Ponadto po ponownym uruchomieniu komputera biały szum powraca.