Jammy Jellyfish⁠ is approaching fast

xubuntu 22.04.1になった。

  • xfce4-terminalで太字属性が正しく太字で描画されるようになった。これが気になっていたので一時期mltermとかに移行してみたのだが、困ったことに若干不安定だったり背景の透明化が効かなかったり常用にはちょっと厳しかった
  • パネルからなぜかdatetimeプラグインが消えてしまった。入れ直せばまた入る
  • Thunarでサムネイル表示させてると割と不安定だったのが直っている…かもしれない
  • Firefoxがsnapアプリケーションになった。なんか事前の情報だとけっこうダメダメな出来だと聞いていたが上手く動いている気がする
  • Chromeで動画を再生する際にハードウェアアクセラレーションが効かなかったのでいろいろググってあらかた試したのだが全然だった。今回ふと確認してみたら普通に効いてた
  • xfce4-terminalにはドロップダウンモードというものがあり、つまりいつでもどこでもショートカットキーひとつで呼び出せる端末として振る舞う。これはけっこう便利なのだが、しばらく使っていると呼び出しても反応しなくなる。不思議なことに、マウスポインタをパネルの上に乗せると即反応する。なんだこれは。今のところそれが直っている気がする

特にトラブルとかなかった。16→18のときは盛大に問題続出だったのを振り返ると成熟あじがある。

22.04と関係ないのだけど、地上波テレビを見るためにいわゆる柔らかいアレを導入しているのだがシステムのlibpcsclite.soを置き換えるというワイルドな手段をとっていたためwifiが使えなくなる(wpa_supplicantがスマートカードからの読み込み機能を持っているらしいので)という不具合があった。そこで、件のライブラリを置き換えずに済むような感じにlibarib25.soのビルドを変更。まあそもそもマジで地上波テレビ見ないからどうでもいいといえばいいのだが。たまに何か見るときもありますしね。

Hit here at 60 degree angle

USBのテレビチューナーを付けているのでXubuntu上で地上波テレビを見られるわけなのだが、困ったことに割と不安定なのである。

VLCでストリームを開くと、ノイズまみれになったり、何も映らなかったり、Xごと固まったりする、ときがある。再起動直後はそうなる可能性が高く、数日起動しっぱなしの後はうまく映る可能性の方が高くなるというのも妙にアナログ的で何が悪いのか目星を付けにくい。

特にXごと固まると復旧するのも大変だ。なにしろほぼどんな入力も受け付けなくなる。こうなった際はCtrl+Alt+F2で別のコンソールに切り替え(このキーストロークだけは生きている)、

sudo systemctl restart lightdm

とかするととりあえず入力を受け付ける所までは戻る。ただしこれでおかしなテレビが直ったりするわけではない。

さてワンセグを見る分には特に問題はなさそうなので、つまるところB-CASカードからのデータ読み込みと復号を担当するlibarib25.soに問題があるのかもしれない。そうすると、これを解決する手段としてはアレしかないわけで、あちこちからソースをかき集め、アレをビルドしてアレと差し替えたところ、安定するようになった。いやー…すごいなアレは。

force disconnect (SSH)

ClientAliveInterval 等を設定している SSH サーバに接続すると、何も入力しないまま放置している接続は適当な間隔で強制切断される。

そんなわけでそんな感じのことをググると、ServerAliveInterval 云々を設定して回避しよう的なテクニックがよく出てくるのだが、しかしサーバ側にしてみれば放置したままの接続など切断するに決まってるに決まってるわけで、放置してるのに関わらず無駄にキープアライブパケットは送ってよこすとかそんな虫のいいことは困るのである。

従って、放置した接続が適宜切断されること自体はそれは正しい。ただしクライアント側で困るのは強制切断されて即 ssh が終了するわけではなく、数分間何も受け付けない状態になったあとでやっと Broken Pipe 云々が出る動作だ。これをどうにかできないか。

man ssh して ESCAPE CHARACTERS セクションを見れば全て書いてあるのだが、ssh での接続中には特別な入力シーケンスがあり、例えば Enter、~、. の順で入力するとクライアント側からの強制切断を行える。へー。なんとなく vim での編集中にやっちゃいそうなシーケンスのようなそうでないような。

* * *

適当なマシン A に ssh で接続し、さらにそこから別のマシン B に接続したりなんかしたりの場合。マシン B との接続が切られた際に上記のストロークを入力するとマシン A との接続が強制切断されてしまいますね。うーんまあそりゃそうだよね…。そうではないんだよなー。何をエスケープシーケンスの始まりとするか(上記の例で言う “~”)は接続の際に指定できるので1段めと2段めで変えればいいかもしれない。試してない。

the mystery of video thumbs #2

var/log/ のいろいろなログや、journalctl -e や、~/.xsession-errors なんかを見てみると、確かに thumbnailer 周りのエラーが起きまくってるのだが、同時に pulseaudio とか vlc もやたらエラーを吐いている。実際 vlc に動画を食わせてみても、ふええ音が出ないよぉという状態だ。また、/run/user/1000 以下に空き容量がなくてファイルを作れないというエラーも出ている。うーんこれがなんか気になる。

$ df -h /run/user/1000                               
Filesystem      Size  Used Avail Use% Mounted on                                                              
tmpfs           581M  581M     0 100% /run/user/1000

おお…。見事に全部使い果たしている。見てみると psd が管理する chrome のクラッシュプロファイルが残っていた。これらを削除することで全てが上手く回り始めた。psd のこの機能、不要かもしれない。~/.config/psd/psd.conf をいじって無効にしておこう。

ついでに前記事の ffmpegthumbnailer を入れたり、vlc を apt で入れ直したりした。どうも snap アプリケーションというのが、なんかまだへんてこなのだ。OS のテーマを無視したり、OS のファイルオープンダイアログを無視したり、キーバインドの設定を無視したりする。へんてこすぎる。特に gimp が gtk-key-theme-name に中途半端にしか対応していない上、emacs 的なキーストロークを入力すると時々数十秒固まってしまうのが非常に困る。でも新しい gimp は snap の方でしか提供されてないんですよね…。次の LTS で apt のリポジトリの方も更新されるのかな。

というわけで結局以前誰が動画のサムネイルを作っていたのかは分からないままだが、それ以外は解決したのでまあいいことにしよう。人間は根絶やしにされずに済んだ。

the mystery of video thumbs

ここのところ Xubuntu の tumblerd がよく落ちる。tumlberd というのはファイルシステムを監視して新しく作られたファイルに対して必要ならサムネイルを生成するデーモンなのだが、これが微妙に不安定で、実際ググってもよく落ちるだの、CPUが100%で張り付くだのという記事ばかりが引っかかる。

よく落ちるのは XFCE 付属のファイルマネージャである thunar も同じで、特に以前 CIFS をマウントしてたときなんかは1日1回固まっていた。なんでそれぞれそんなに出来が悪いのかはよく分からない。サムネイルの場合は対象が外からやってくる得体の知れないデータ列であるので、まあやむを得ないのかなと思わなくもないが。

さて tumblerd が落ちまくる中で気づいたのだが、ファイルマネージャ中の動画のファイルにサムネイルが生成されなくなっているのである。ここで、tumblerd はサムネイル生成を司っているわけだが、実際に生成を行うわけではない。どの mime タイプに対して何をどうするかは /usr/share/thumbnailers/ 以下に(正確には、$XDG_DATA_DIRS のどこかに)収められている ini ファイル的なものに定義されている。そこに記述されたコマンドラインが実際にサムネイルを生成する。なぜそれらを呼び出すだけの元請けである tumblerd が落ちまくるのかはよく分からない。

が、そこを見ても動画のサムネイラーは特に定義されていないのであった。なるほどそれなら生成されないのは当然だ。解決…してない。今まで動画のサムネイルを誰が生成してたんだ? よく分からない。

動画のサムネイルを生成するパッケージというのは ffmpegthumbnailer というものがあるのだが、今のところそれは入っていない。よく分からない。ffmpeg のパッケージ内の何かが上手いこと働いてたのか?

何も分からぬ。何も思い出せぬ。このままでは人間どもを根絶やしにするしかない。