akahukuReply以前書いたChromeの拡張の中にTabQueueというものがある。これは主に3つの機能を備えていて:タブをアクティブにした順番を覚えてくれる。あるタブを閉じた場合、その前にアクティブだったタブを再度アクティブにする。Operaの同機能の移植であるタブを開いたとき、自動的にそれをフォアグランドにするグローバルなホットキーをひとつ定義でき、それを押すとアクティブタブオーダーをポップできる。デフォルトではCtrl+,である。右端のタブでyoutubeを開いて何かの動画を流しているがボリュームの調整だとか、何かちょっとした操作をしたいとする。そんな場合はg$で右端のタブに飛び(これはcVImの機能だが)、何か動画を操作し、Ctrl+,を押すと元のタブに戻れる。いうわけでかなりニッチな個人的ニーズを満たすものではあるがそれだけに欠かせないものであり毎日あたり前に使っている。先日Googleからメールが来て曰く、「TabQueueはウェブストアのポリシーに違反しています!説明に表記されている機能を提供していません!14日以内にアクションがない場合はウェブストアから削除される可能性があります!」...というのである。何言ってんだおめえぶっころがすぞ...という感じである。何かよく分からないので無視している。ちなみにすでに14日以上経過している。akahukuReplyまたもや音声の再生についてである。ここまで様々な小細工を施してみたのだが、結局ノイズの軽減には成功しているものの排除に至ってない。根本的なノイズの原因が分かってない。youtubeなどで動画を見ているとノイズが起こらないときは起こらないが起こるときは起こる。結論から述べるとpulseaudioのサンプルレートとハードウェアの再生レートのミスマッチが根本的な原因のようだ。前者が44100Hzで後者が48000Hzだったのでリサンプリング時にノイズが入る、らしい。いやどうしてノイズを入れるんだ綺麗にリサンプリングしてくれ。48000などと追記する。これで劇的にノイズがなくなる。...こんなもん...自動でやってよ...pulseaudio...何なんだ...お前は...。そこでサンプルレートの変更は固定し、他の小細工はいろいろ有効にしたり外したりして聞き比べてみたのだが、結局いずれも有効にするのが一番良いようだ。無駄にならなくて良かった。それにしてもxubuntuを使ってた頃はここまでノイズが気になることはなかったのだけど。何が起こったんだろうか。akahuku1音声の再生について、プチノイズが出まくる件は解決したのだが、実はそれ以外の問題もある。これは言葉で表現するのが難しいのだが...再生の途中で瞬間的なスキップがけっこうちょくちょく発生する。時間をほんの一瞬だけ吹っ飛ばし...その時間内のこの世のものは全て消し飛ぶ。最終的に何か音が飛んだな?という結果だけが残る。これはノイズというよりは要するにPCMデバイスにデータを叩き込むスケジューリングの問題に思える。GHzでプロセッサがぶん回る時代にそんなことあるのか?というわけでまたしてもarchlinuxのwikiを参照すると、なにやらPulseAudioの動作に伝統的な割り込み方式と新しいタイムベースのスケジューリングというものがあるらしく、後者で問題が起こるハードウェアもあるのだそうだ(前者で起こるハードウェアもある)。PCMデータを突っ込んだ後のDMAの転送終了割り込みとか?)駆動を指定させたところ、だいぶマシになった。完全になくなったわけではないが...。いやしかし、それにしても、intelチップセット内蔵のオーディオデバイスなんて最強にポピュラーなハードウェアなのになんでこんなちまちま設定を与えてやらないと上手く動かないのか。いっちゃなんだけど、PulseAudioってちょっとポンコツなんじゃないの?聞くところによるとubuntuではそろそろPulseAudioはobsoleteで、新しくPipeWireが音声と映像の再生を管理するようになるらしいので、そこでタナボタ式に解決したりしたら嬉しい。akahukuReplyChromeを起動し、ウィンドウを適当に配置し、一旦終了する。再度起動すると、各ウィンドウのタブ、位置、状態(通常か最大化かなど)が再現される、はずだ。ところがこの新しいubuntuの環境ではこの動作が正しく行われないのである。再現されないだけではなく、さらに謎のルールが付加されているように見える。右側のようなウィンドウのようなサイズだと、そのまま再現されるのだが、その奥のほぼ全画面のウィンドウは何やら「このウィンドウ、ほぼ全画面だから全画面で表示してあげるね!」的な配慮が働くのか、最大化状態に上書きされてしまう。アプリケーションの起動時にウィンドウの状態を再現する処理というのは、一義的にはそのアプリケーション自身が行うはずだが、それはウィンドウマネージャーやらデスクトップ環境やらが何もしないということでもない。実際gnomeにも新しく開くウィンドウを中央に表示する云々のゆるやかに位置を指定するオプションがある。いうわけで、このChromeの奇妙な動作が誰の仕業なのかはよく分からない。それならば、Chromeの起動後に好きにすればいいわけで、Chromeの拡張を書き、独自にウィンドウの配置を覚えておき、起動後にそれを再現するようにしてみた。ウィンドウが最大化状態で表示された後でシュッと縮むような様子を目で確認できるような動作になるけど、まあしょうがない。この拡張は割と使いでがあるような気もするが、公開の必要はあるだろうか。このChromeの変な動作が他の環境でもよくあることなのか、おま環なのかどうかもう少し調べてみたい。auto-maximizeで制御されるようだ。これをfalseにすると終了時の配置がその通り再現されるようになった。akahukuReply前の投稿でも書いたが音声を再生すると妙にプチノイズが入る。これをなんとかしたい。環境から確認しておくとIntelチップセット内蔵のオーディオデバイスがあり、snd_hda_intelカーネルモジュールが読み込まれている。DACを刺しているので、snd_usb_audioモジュールも読み込まれている。USB側はあくまで出力用のデバイスなのでオーディオデータの生成はあくまでチップセットが行う。ちなみに内蔵スピーカーやらHDMI出力やらを担当するために?ALC269VBも載っていて認識されているがこれはまあ気にしなくていいだろう。この問題自体は割とFAQらしいのでみんな大好きarchlinuxのwikiにトラブルシューティングがまとまっている。要するにデバイスに省電力状態というものがあり、その状態が変わるときにプチノイズが発生するっぽいので状態が遷移するのを禁止しようというわけだ。(bint)なるほどとても親切だ。ところで件のwikiだとpower_saveだけを0にするか、さらにpower_save_controllerもオフにするか2つの選択肢を挙げているわけだが、前者に意味はあるのだろうか。power_saveを0にしただけで様子を見たところ、10秒に一度プチ!が出る感じなのが20秒に一度くらいになったようだ。効果は少しはあるのか。次にpower_save_controllerに’N’を書き込んでみたところ、こちらは覿面にプチノイズがなくなった。power_save_controller=Nという感じの内容で保存。wikiにも書いてあるがラップトップの場合電源状態によってこの辺の設定が再設定されうるので、そういう場合は/etc/pm/power.d/下にも何かいろいろと仕込む必要があるかもしれない。ところで省電力機能というのは当然消費電力を通常より低くするのだろう。その代わり音質が犠牲になるトレードオフがあるのだとしたら、バッテリー駆動のときだけオーディオデバイスの省電力機能をオンにする...とかにすればいいと思うのだけど、なぜ常に省電力オンなのかはよく分からない。"default-sort-in-reverse-order"素のgnomeにおいては、dconfには設定項目があるのにGUIからはいじれないものが多いようだ。tweaksを入れるか、extensionを入れるか、dconfを直接いじる必要がある。akahukuReply長いことXubuntuを使ってきたのだけど、思うところがあり素のUbuntuに乗り換えた。この際新しいSSDにクリーンインストールしたので諸々の事柄を設定しなおしとなった。あらかた旧環境の再現が終わってはいるのだが、まだskk周りが残っている。旧環境ではfcitx(4)+fcitx-skkだったのだが、fcitx5+fcitx-skkになった。ここで問題があり...まず以前から辞書ツールが壊れているのだが、依然として壊れている。壊れているのはボタンのアイコンだけで、機能自体に問題はないっぽい、たぶん。ちなみにボタンは上から追加、削除、上へ、下へ、リロードという感じ。fcitx-skkが参照するdictionary_listの位置が~/.config/fcitx/skk/dictionary_listから~/.local/share/fcitx5/skk/dictionary_listに変わっているようだ。$FCITX_CONFIG_DIRが実際にどこなのかをこのダイアログに表示してくれるととっても嬉しいのだが。現在fcitx-skkを誰が作っているのか、libskkを誰が作っているのか、結局よく知らないので提案できない。akahukuReply見ないといいつつまた地上波テレビチューナーについて。以前も書いたがこのチューナー(PX-S1UD)、長時間稼動させるととたんに動作が不安定になる。柔らかcasの導入もましになった程度で根本的な解決には至っていない。つまるところ熱にすんごく弱いんじゃないのかしらこのハードウェア。現状、このチューナーを通してテレビを見るために使っているプログラムはrecdvbというものだ。指定の時間分、あるいは垂れ流し状態で地上波テレビの動画をデコードし、ファイルか、任意のポート(udp)か、あるいはhttpサーバとして振る舞いhttpリクエストの応答として出力することができる。みたいな感じのURLで開いて見ているのだが、見終わった後もチューナーは熱いままなのである。したら見終わった(vlcを閉じた)ということがrecdvbに伝わらないまま、延々デコードして、データは捨てている状態になっているのかもしれない。いうことは、httpサーバとして使用するのではなく、視聴のたびにrecdvbを起動し、見終わったらrecdvbも終了させる方がよいのかもしれない。いうやり方だとhttpサーバとして動作させる意味もあまりないのでudpで吐き出させる方がいいかな。そんな感じの構成にしてみたのでしばらくこれで様子を見たい。ちなみに、USBデバイスなので自動でサスペンドに入るモードがないのかpowertopで調べてみたが、tunableではないようだ。/sys/bus/usb/.../power/controlにautoを書き込んでも自動でサスペンドに入ったりはしないようだ。廉価な製品はそういうものなのかもしれない。akahukuReplyたまにApache2がタイトルのエラーで起動に失敗することがあるのに対処した。/etc/systemd/logind.conf.d/の下のファイルでRemoveIPC=noとする方法を採った。このディレクトリに、ラップトップのスクリーンを閉じても特に何もしないようにする設定のファイルを置いていたので。