音楽再生時に勝手にキーイベントを山ほど発行される件

ここ1,2年ほど、Xubuntuを使用していて大きく困ることが発生しています。
本来ならその原因を突き止めて報告するべきなのでしょうが、まず原因が確実に分かっていないことと、英語による説明が困難であるため、何も出来ないままです。
ここで愚痴っていても仕方無いのですが、防備録として残しておきます。

筆者がこの現象に初めて気が付いたのはMPVで映像を再生しているときに、Volumeが勝手にどんどんと下げられてしまうという現象に遭遇したときです。
しばらくの間、原因が分からなかったのですが、とにかく、再生するとガンガンVolumeが落ちていくOSD表示が出て、数秒でVolumeゼロになってしまいます。

こんなことが起こると、再生したコンテンツに問題があるのか? と随分長い間思っていたのですが、これが何と、VolumeDownのキーイベントが頻繁に発行されていたのです。

再生するコンテンツによってはこの問題が発生しない、あるいはしにくいケースもあったので、どうしてもコンテンツとかデコードの問題のような気がしてしまっていたのですが、どうやら映像だけでなく音楽再生でも同様の現象が起こるらしく、ただ、音角再生アプリではVolumeDownのキーイベントに反応しないのかVolumeが変化しなかったため、これも長い間気が付きませんでした。

結局、音声が発生すると不定期かつ頻繁にVolumeDownキーのイベントが勝手に発行され続けます。

何が困るって、これも筆者は長いこと気が付けなかったのですが、Instagramを見たときに不正アクセスと見なされて度々強制ログアウト&再認証をさせられたんです。
筆者は当然変な操作なんかしてないつもりですし、それで不正アクセスが起こってるって言われてしまうと何処か他者から攻撃を受けているのか? と勘違いもしてしまいました。
しかし、長い期間を経てようやく、この頻繁なVolumeDownキーイベントが不正アクセスと見なされる原因であることが分かりました。

ただ、これを修正する手立てが筆者には全く分かりません。
筆者が使用しているIBM USB Travel Keyboard UltraNav付きSK-8845にはVolumeDownキーがありましたので、このキーボードがイカれてしまったのかとも思って何度もその辺りも疑ったのですが、どのキーボードに変更しようが音声再生時にVolumeDownキーイベントが頻発する。

結局、筆者はVolumeDownキーを使うことなど無いので(Volumeは100%に固定して動かしたくない派)、VolumeDownキーイベントは無条件に破棄するコマンドをOS起動の度に発行して回避することにしました。
破棄と言っても、結局イベントは頻繁に発行されてしまい、それをいちいち捨てていることになるので、気持ち悪い処理が延々行われていることには違いありません。

何か大幅なアップグレードの際に直ってくれないかなあ、とXubuntu24.04のアップグレードに期待していたのですが、アップグレードの提供は24.04リリースから1ヶ月ほど待たされることになりました。
1日に何度もdo-release-upgredeコマンド打つほど心待ちにしてたんですけどね。
ちなみに、待ちきれない奴は-dオプション付けろ、というサイトが山ほどあるのですが、これは正式版を待たずにアップグレードしてしまうので色々と問題が起きます。
というか、筆者がいつも-dを付けてアップグレードしてしまって、その度にあちこち不具合起こして修正に時間取られたので、今回初めて-d付けずに正式アップグレード開放まで待ったんですよ。

んで、そこが契機だったかまではもう覚えていないのですが、確かに一旦、直ったんです。VolumeDownキーイベントが無駄に発行されることが無くなった。
なので、OS起動時にVolumeDownキーイベントを無条件に破棄するコマンドを発行しなくても良くなり、実際とり止めていたのですが、最近また再発しました。

すっかりこの現象のことが頭から抜けていたので、また、何日か気付けなかったんですけど、またInstagramで不正アクセスと見なされてしまったりした他、エディターなどでカーソルキーを押しっぱなしにしてもキーリピートが効かない、なんて症状が出ていたりしていました。
特にここ最近はAndroidStudioばっかり触っていたので、AndroidStudioのエディタって良くアシスト機能が働いてエディタ操作に割り込んでくるので、そのせいでカーソルキーが止まってしまうのかと勘違いしたりもしていました。
結局また音声再生時にVolumeDownキーイベントがバカみたいに頻繁に発行されていることを突き止めまして、こうして防備録を起こしているわけです。

んでですね、いつを境に問題が再発したのかがくっきりと分かっているわけではないので、原因の目星が付きにくいんですけど、怪しいのがこちらのaptのlog

Start-Date: 2024-06-27  14:39:25
Commandline: apt full-upgrade
Requested-By: ty (1000)
Upgrade: libpipewire-0.3-common:amd64 (1.0.5-1, 1.0.5-1ubuntu1), pipewire-pulse:amd64 (1.0.5-1, 1.0.5-1ubuntu1), pipewire:amd64 (1.0.5-1, 1.0.5-1ubuntu1), libspa-0.2-bluetooth:amd64 (1.0.5-1, 1.0.5-1ubuntu1), pipewire-audio:amd64 (1.0.5-1, 1.0.5-1ubuntu1), pipewire-bin:amd64 (1.0.5-1, 1.0.5-1ubuntu1), libspa-0.2-modules:amd64 (1.0.5-1, 1.0.5-1ubuntu1), libpipewire-0.3-0t64:amd64 (1.0.5-1, 1.0.5-1ubuntu1), libpipewire-0.3-modules:amd64 (1.0.5-1, 1.0.5-1ubuntu1), pipewire-alsa:amd64 (1.0.5-1, 1.0.5-1ubuntu1)
End-Date: 2024-06-27  14:39:31

pipewire関連のアップデートが6/27に行われていたんですね。というか、筆者がアップデートしたんですけど。
ただ、ここ最近急にカーソルキー押しっぱなしにしても動かずに止まる、とか、Instagramで不正アクセス認定される現象が再び気になるほど起こるようになったので、恐らくコレのせいなのかなぁと思うわけです。

そして、確認してみたところ、やはり音声再生時に頻繁にVolumeDownキーイベントか発行されます。
また、困ったことに今度はVolumeDownキーイベントほどではありませんがBackSpaceキーイベントまで勝手に発行されてます。

バージョンを元に戻す作業をしてみたものの、一度起こった発作は止んでくれることなく、バリバリとVolumeDownキーイベントが発行され続けます。

とりあえず、VolumeDownキーイベントを捨てるコマンドをまた実行するようにしまして、ハテ困った、となったところで、また似たような症例と修正方法が無いか探す旅に出ていたのですが、結局前に調べたときと同様、同じ症状では見つからず、別のキーイベントがランダムに出るという症例が見つかったに留まり、しかもその記事には自分も同じ症状が出ているというコメントが一つ付いているだけで解決方法のヒントすらありませんでした。

で、こうして怒りに任せてこの記事を書いていたらですね。ひょっとしてバグではなくて、そういう設定にしてしまっているのでは? というアイデアがポンと出てきました。
この辺りはインストーラーに任せっきりで筆者が弄った記憶は無いのですが、何分の筆者のXubuntuはクリーンインストールもせずに何度もアップグレードを繰り返して来たシステムですので、何かしら不整合的なものが起こるのもあり得る話です。

で、pipewireの設定……ディレクトリはあったけどファイルが無かった。設定してないや。
んでですね、「pipewire 設定」で検索掛けてみたらですね、「PulseAudioに関係するサービスを無効化」という記事に巡り会えまして、ん? もしかしてバッティングしてる?
細かいことは覚えてないんですけど、以前はPulseAudioだったんですけどXubuntuのどっかのバージョンでpipewireが導入されているんですよね。
もしかして、それが競合してるんか? って思いまして、そのPulseAudio無効化ってのを試してみました。

……一応、VolumeDownキーイベントは出なくなった。でええええええ。そういうもん?
ちなみに、頻度はそこまで高くは無いのですが、相変わらずBackSpaceキー……ごめんなさいこれキーイベントじゃないわ、MappingNotify eventってやつがちょいちょい出てる。しかもWindow ID 0x0(存在しないID)で。

でも、とりあえず、カーソルキーのリピートが阻害されることも無くなったみたいなので、ちょっとこれで様子を見てみますわ。
Sound関係って良く分からないのよね。正確にはSound関係『も』分かってないんですけど。ALSAとかいろいろあるじゃん? ワケワカメ。

追記

バージョン最新にしたらまた再発したんですけど、もう一度PulseAudio無効化したら黙りました。
どうやら1.0.5-1ubuntu1……、いや、しばらく黙ってただけでまた再発した。何かを契機に掘り起こされているんだろうか? 結局、解決せず……(´;ω;`)

追記:2024-07-02
音声再生関連で色々と入り過ぎてワケワカメになってるのがイケないんだ、と思って、一旦purgeしてやったんですわ。pipewire関連とpulseaudio関連。
どっちか片方で良いんじゃないかと思って片方だけ入れて様子見てみたんだけど、良く分からんがうちでは両方揃わないと音が出ないらしい。
ただ、このpurgeと再インストールをしてからVolumeDownキーイベントもBackspaceキーMappingNotify eventってやつも出なくはなった。今のところ。

原因は未だに分かってはいないが、今後またおかしくなったらpurgeしてインストールし直してみることにしよう。

追記:2024-07-03
結局また再発してます。
あと、良く見るとpipewireをpurgeしようとするとpulseaudioがinstallされpulaudioをpurgeするとpipewireがinstallされてました。
なお、筆者の環境ではもうpulseaudioでは音が出ないしvolumecontrolの画面も表示されない。
色々と不整合が溜まっているんだろうなぁ……。

追記:2024-08-31
未だに原因の特定は出来ていないのですが、どうもAndroid StudioかAndroid端末をUSB接続したときにおかしくなるらしく、一旦VolumeDownキー連打暴走が始まるとPCをコールドスタートからやり直さないとダメみたいです。
pipewire,pulseaudio関連をどう弄っても効果が無く、USBの再認識とか再接続とかいろいろ試しましたが無駄でした。が、何かの拍子に治ることもあるのがよう分からん。Android関連を全て断ってからしばらくすると治るような気がしますが特定出来ないです。

あーAndroid StudioでアプリのテストをするとVolumeDownキー連打暴走が始まりますね。
Android関連を全て断ってからsudo udevadm triggerで治るかもしれません。

追記:2024-09-04
嘘。やっぱ治らないや。
本来なら正しい情報だけ残すのが美しいのでしょうが、正解が全く分からないので間違いをとにかくたくさん記録残ししておいて、徐々に原因の特定に向けて範囲を狭めていければと思います。
さて、NetbeansでGlassfishサーバーを起動したらVolumeDownキー連打暴走が始まりました。
怪しいのが、通信関係、もしくはJavaになります。AndroidStudioもアプリテスト始めるとなるので通信関係もしくはJavaという条件が一致するんですよね。
また、全く別の観点から、近年のXubuntuはJavaが絡む画面描写が上手く更新されないことが多々あります。どうもWayland化とXorg廃止に向けた動きの中で取り残されているというか、だんだんおかしくなってきている感があるのですが、Javaで動いているアプリの画面が更新されずに止まってしまったときは[Ctrl]キーか[Alt]キーを押してやると画面更新がされて処理がその先に進むようになります。不思議なことに画面更新が滞ると処理もそこで止まってしまうので、更新されたことを確認してから次に動くようになっているのでしょうかね?よく分からないです。が、そのXorgとJavaが絡んだバグの可能性もあると考えられます。

VolumeDownキー連打暴走ってWindowIDが存在しないIDだったりするので、実はXorg周りという可能性も全く捨て切れません。

追記:2024-09-09
原因絞り込むの不可能な気がして来ました。
ローカルファイル動画再生でもブラウザでYoutube見ただけでもVolumeDownキー連打暴走が始まるときは始まります。始まらないときもあります。
というか、何もしてないときでも暴走してるときがあるし、運良く勝手に収まっているときもある。
というか、単純に暴走止めたいわ。そもそも発行させないようにしたい。
無駄処理連鎖してるってことだし、単純にキーリピートすら阻害されるので作業妨害に他ならないんよ。
もうこのシステムのXubuntuも丸5年以上継ぎ足し(Upgrade)で凌いで来ているので、もしかしたらクリーンインストールで綺麗さっぱり解決するのかもしれませんが、やるならシステムのストレージを変更するとか、そういうタイミングでないと超絶面倒臭い&作業が止まるでやりたくないんですよねぇ。
直す手段も全く確立出来てなくて、サービスの再起動とかいろいろやっても収まらないものが音量調節の画面を開いただけで止まったりするときもあったり、もちろん何やってもダメなときが多いのですが、何かの拍子にピタっと止まることもある。
要するに、未だに何一つ分かったことが無い。(´;ω;`)

追記:2024-10-06
もしかしたらまた「やっぱ駄目でした」ってなるかもしれませんが、pipewire関連のバージョンを全て1.0.5-1に戻しました。
今のところまだ一回もvolumedownイベント連打暴走は発見しておりません。
以前にも一度バージョン戻しをやったことはあったのですが、そのときは結局暴走が始まってしまいまして、しかし、今思うと、そのときは本当にpipewireと名の付くパッケージしかダウングレードしておらず、libほにゃらら系のパッケージを見逃しておりました。
今回は1.0.5-1ubuntu1というバージョンになってしまった計18のパッケージを全て1.0.5-1に戻してapt-mark holdしましたので、なんとなく上手く行きそうな気もしています。(今のところ上手く行っています。)
何しろ、問題発生以前は1.0.5-1でして、1.0.5-1ubuntu1にバージョンアップしてから問題発生してますのでね。
しかし、ubuntu1って何やってんすかね?
ウチに限って言えば良くなったことが一つも無い、来てほしくないバージョンアップでした。本当散々苦しんで、何時間吸い取られたことか。
仮に1.0.5-1でまた問題が再発したとしてももうubuntu1には上げません。
1.0.5-1で他の不都合が生じるまでholdし続けます。

追記:2024-10-15
えっとですね、Xubuntu24.10へのUpgradeで1.2.4-1ubuntu1までバージョンが上がってしまいました。
今度は最初から「ubuntu1」と付いているバージョンで不安しかありませんが、今のところ暴走はしていないようです。
というか、不具合バージョンで放置されてた24.04がなんやねん!と文句を言いたいところですが、そうですよね、10月入ってからやっと対処が出来たかと思ったらあっさりバージョンアップ解決ですか。
いや本当1.0.5-1ubuntu1許すまじ。
というわけで多分、これでここのページの更新もしないで済むようになることでしょう。

2024-10-15 2024-07-01

この記事のタグ

PC

Linux/BSD

トライ