2026-10-18

cwmの「group」がよくわからない

Let's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールし、cwmを利用して環境構築中です。デスクトップ環境としては、KDE、MATE、Xfceなどがありますが、cwmを同列に語ることはできません。むしろウィンドウマネージャのfvwmやtwmの仲間でしょう。

 

cwmには「group」という概念があるのですが、どういうもので、どういう風に使うのか、よくわかりません。ネットを検索しても、そもそもcwmの事例が少ないので、情報がありません。最近ならGeminiに相談するという手段が考えられますが、適当に話をでっちあげられる可能性が高いので、あまり役に立たないだろうと思います。

 

現状における情報としては、次のようなものしかありません。これを参照しつつ、実機で動作を類推していくことになりそうです。

『英語史で解く英文法の謎』(NHK出版新書762)は面白い

『英語史で解く英文法の謎』(NHK出版新書762)を読んでみました。日本人にとって初めて学ぶ外国が英語だったというのが大多数だと思います。英語の様々な規則が「外国語ってそういうものというイメージ」になっているかもしれませんが、それは「英語だけの特殊事情」なのかもしれません。

 

本書の副題では「なぜ「3単現のs」をつけるのか」とあります。確かに不思議です。でも不思議なのはそれだけではありません。「第3章 なぜ文字と発音が一致しないのか」についても、確かに不思議です。日本語でも「は」と書いて「わ」と発音することがありますし、旧仮名遣いでは文字と発音が一致しないところがありますから、英語もそうなのかと思ってしまいます。しかし英語には英語の事情があるようです。

 

本書を読んで疑問が解消されたから、英検とかTOEICで好成績をおさめることができるということはないでしょうけれども、英文法がより身近になるきっかけにはなるかもしれません。

2026-10-17

OpenBSDのcwmのデフォルトとして定義されているバインド

Let's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールし、xenodm経由でcwmを利用する方向で設定しています。cwmを利用するのは初めてなので、いろいろと戸惑うところがありますが、慣れていこうと思います。まずはマニュアルを読むのが基本だと考えるので、参照してみました。若干気になる箇所が見受けられます。

  • マニュアル「cwm(1)」、「cwmrc(5)」とソースコード「xenocara/app/cwm/conf.c」を突き合わせてみると、ほぼ一致していますが、ソースにあるバインドの一部がマニュアルに記載されていません。記載されていないのは、マウスボタン1/2/3のバインド定義です。
  • キーバインド「CM-equal」と「CMS-equal」は、英語配列キーボードなら問題ないと思いますが、日本語配列だと意図した動作をしません。つまり日本語配列で「=」というのは、シフトキーを押しながら「-」キーをおすことになります。「CM-equal」というのは、日本語配列キーボードでは「CMS-equal」になってしまうのです。この問題を解決するには、キーバインドを変更する必要があります。
  • 一部の機能が、キーバインドとマウスバインドの双方で定義されていました。
  • マウスバインド「M2」には「menu-group」が定義されているのですが、Let's noteのようなノートPCでは、マウスボタン1と3を同時押しすることになるので、使いにくいです。

 

cwmを使うのが初めてですので、不慣れなのは間違いありません。なぜこの機能がこのバインドに割り当てられているのだろうと思うところが無いわけではありませんが、慣れの問題でしょう。しかし「CM-equal」と「CMS-equal」の件は、慣れではなく、障害です。これらは「Toggle vertical maximization」と「Toggle horizontal maximization」に割り当てられています。さらに「CM-m」が「Toggle maximization」に割り当てられているので、これらをまとめて再定義しようと思います。

 

cwmでは「Windowsキー」を「4-」として指定することができます。これを利用して「~/.cwmrc」を以下のように設定してみました。

# Key bindings
bind-key 4-m window-maximize
bind-key 4-v window-vmaximize
bind-key 4-h window-hmaximize

unbind-key CM-m
unbind-key CM-equal
unbind-key CMS-equal
#[EOF] 

2026-10-16

/etc/firefox/にあるunveil.mainとunveil.contentを変更

Let's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールしました。OSを入れた後で、個人的な定番アプリケーションであるFirefoxやLibreOfficeを入れました。また日本語フォントとしてnote、日本語変換のためにfcitx-anthyも入れました。これでFirefoxを普通に使えると思っていたのですが、そうはいきませんでした。Ctrl-Oでファイルを開くダイアログを押しても、ディレクトリ「~/Documents」にあるはずのファイルが一覧に出てこないのです。

 

OpenBSD版Firefoxは、ディレクトリ「/etc/firefox/unveil.*」というファイルを参照してセキュリティを強化しています。ファイル「/usr/local/share/doc/pkg-readmes/firefox」には、「disable」とだけファイルに記述すればunvelを無効にできると書かれています。試しにファイル「/etc/firefox/unveil.main」に「disable」とだけ書いてみると、一覧に出なかったファイルが出てくるようになりました。

 

一件落着かと思ったのですが、ファイルを選んでボタン「開く」を押しても、「ファイルが見つかりません」というエラーが出てしまうのです。これもunveilの仕業なのでしょう。調査し手見ると、ファイル「/etc/firefox/unveil.content」が怪しいと判明しました。

 

最終的に、ファイル「/etc/firefox/unveil.{main,content}」を変更し、参照したディレクトリを書き込むことで、今度こそ本当に一件落着しました。

 

OpenBSDはセキュリティを強化していると聞いていましたが、確かにそのようです。今回の問題で参照したファイルは、ディレクトリ「/etc/firefox/」にありますから、変更した設定は全ユーザ共通の挙動となります。OpenBSDをインストールしたマシンは、個人的に使うので、ユーザは私自身しかいません。しかし多くのユーザが利用する場合であれば、慎重な対応が求められるでしょう。制限を緩めて欲しいユーザがいたとしても、その要求を飲めば、全ユーザの制約が解除されてしまいます。各ユーザのホームディレクトリ以下に「unveil.main」などのファイルを置いたとしても、Firefoxが参照することはないようです。今後どうなるか不明ですが、OpenBSDのセキュリティ対応を信じていくことになるでしょう。

映画『踊る大捜査線 N.E.W. メトロポリスを駆け抜けろ!』

2026年9月18日から公開されている映画『踊る大捜査線 N.E.W. メトロポリスを駆け抜けろ!』を映画館で視てきました。ネットでの反応は様々ですが、個人的には面白い作品でした。この作品でストーリが完結しているわけではなく、将来への含みを残しているので、次の作品(あるのか不明ですが)を楽しみに待ちたいと思います。

 

十数年前に「FINAL」と銘打った作品が作られているのに、続編が制作されるとは思っていませんでした。一昨年前の「室井慎次」2部作の直後に新しい作品の制作が発表され、楽しみに待っていました。人気のある作品ですが、30年前と同じメンバーという訳にはいかず、社会の変化も踏まえ、どのようなストーリを展開するのかと思っていました。これなら、次の作品も楽しめそうです。

 

TVドラマシリーズでいかりや長介演じる「和久平八郎」と、本映画で織田裕二演じる「青島俊作」が、ほぼ同年齢ということに、驚きがあります。TVシリーズでの「和久平八郎」は、定年間際という設定で、いかにも初老の男性というイメージでした。それなのに、本映画での「青島俊作」は、それなりに年をとっていますが、「和久平八郎」とは印象が大きく違い、驚きます。これは、アニメの「サザエさん」に登場する「磯野波平」が54歳という設定で驚くのとは、正反対の驚きです。

 

映画をつくるには数年かかるようですし、本当に制作するかも、わかりません。しかし他の作品、例えば水戸黄門とかルパン三世などのように、俳優や声優を入れ替えて作品を作り続けるような方法はとれないでしょう。あと1本か2本くらいは、「踊る大捜査線」の新しい作品を見たいと願っています。

2026-10-10

OpenBSD版Firefoxのセキュリティ強化は/etc/firefox/unveil.mainで設定

Let's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールし、環境を構築中です。Webブラウザは、昔からFirefoxを利用しているので、OpenBSDでもFirefoxを使用しようと思います。インストール自体は「doas pkg_add firefox」するだけなので簡単でした。日本語変換は「fcitx-anthy」を入れており、こちらも問題ありません。Firefox Syncとか、Feedlyにも問題なさそうです。最後にTiddlyWiki5を利用するために「ファイルを開く」(Ctrl-O)したら、なんだか様子がおかしいです。

 

TW5のファイルが「~/Documents」 以下に置いてあるのですが、そもそもファイルダイアログで「~/Documents」が出てきません。出てこないならば、手入力で選択しようと思いましたが、それも出来ませんでした。さらに、Windows11でFirefoxを使っている感覚からすると、OpenBSDのcwmで動くFirefoxは、ウィンドウに枠もないし、「本当にこれで良いのか」と思うくらいシンプルな画面です。

 

最近はGeminiと対話を繰り返すことで問題を解決していくことが多いので、本件もGeminiに相談しました。Geminiからは、Firefoxの「about:config」で設定を調整すれば解決すると案内されましたが、全く効果はありませんでした。

 

OpenBSD版Firefoxは、パッケージから「doas pkg_add firefox」で入れています。ソースは「ports/www/mozilla-firefox」にあるので、手がかりとなるような情報がないものかと探してみました。パッチファイルなどが置かれていましたが、「たったこれだけ?」と思うくらい、僅かなファイルしかありません。Geminiに「ports/www/mozilla-firefox/Makefile」を解析してもらったところ、「mozilla.port.mk」を参照しているという情報を得ました。探してみると「ports/www/mozilla/mozilla.port.mk」にありました。

 

Geminiによると、OpenBSDは「UNVEIL(2)」によりセキュリティを強化しているという示唆が得られました。さらに「unveil.main」というファイルが重要な役割を担っているとも示唆します。しかし不思議なことに「ports/www/mozilla-firefox」以下のファイル内を探しても、「unveil()」とか「unveil.main」という文字列は見つかりません。

 

ソースを見ても分からないなら、実行ファイルを確認しようと考えました。「/usr/local/lib/bin/firefox」は「/usr/local/lib/firefox/firefox」へのシンボリックリンクになっています。このファイルをstringsにかけてみましたが、「unveil.main」という文字列がありません。こうなったら最後の手段ktraceとkdumpを試してみます。「ktrace -f ktrace.out firefox」としてFirefoxを起動し、すぐに終了させます。そして生成されたファイルを「kdump -f ktrace.out」してみます。その結果「/etc/firefox/unveil.main」にアクセスしている記録が残っていました。

 

「/etc/firefox/unveil.main」にアクセスしていることは確認できましたが、「ports/www/mozilla-firefox」以下のファイルには対応する実装が見当たりません。しかも「strings /usr/local/lib/firefox/firefox」でも「unveil.main」がありません。これは一体どういうことなのでしょうか。実装が無いのに、ktrace.outに記録されているとしたら、OpenBSDは魔術を使ったことになってしまいます。それはあり得ません。

 

Geminiの示唆によると、Frirefoxの実体は、「/usr/local/lib/firefox/firefox」ではなく、「/usr/local/lib/firefox/libxul.so」とのことです。「strings /usr/local/lib/firefox/libxul.so.162.0」として調べてみると、確かに「unveil.main」がありました。さらにktrace.outには「5489 firefox  NAMI  "/usr/local/lib/firefox/libxul.so.162.0"」が記録されていました。

 

ここまでの調査では、Mozillaが提供しているソースに対して、OpenBSDがパッチをあてているのではないかと仮定していました。しかしそういう風には見えません。そこで、Mozillaの公式サイトから「firefox-157.0.1.source.tar.xz」を入手し、「unveil」という文字列を探してみました。 その結果「firefox-157.0.1/dom/ipc/ContentChild.cpp:      OpenBSDFindPledgeUnveilFilePath("unveil.main", unveilFile);」を発見しました。この事実は何を意味しているのか考えると、要するにMozillaが提供するファイルにはOpenBSDに特化した実装が既に入っているという事です。つまりMozillaが提供するファイルに、OpenBSD側portsでパッチをあてているという仮定が間違っているのです。Mozillaが提供するファイルに、OpenBSD用の実装が最初から入っているのです。

 

Firefoxパッケージをインストールすると「/usr/local/share/doc/pkg-readmes/firefox」が入ります。これを読むと興味深い事実が判明します。

  • 設定ファイル「unveil.main」は、「/etc/firefox/unveil.main」に決め打ちになっています。
  • 設定ファイル「/etc/firefox/unveil.main」の内容を「disable」とすれば、セキュリティ制限が解除されるようです。
  • 環境変数「MOZ_LOG=OpenBSDSandbox:5」を設定すると、ログが出力されるようです。

  

調査を始めたときの問題(Ctrl-Oのファイルダイアログの件)は、解決していません。しかし「/etc/firefox/unveil.main」がセキュリティを強化してからではないかと思われます。これを「disable」にすれば一件落着かもしれません。でもOpenBSDの「セキュリティ重視」というポリシーを無視することになってしまいます。どのように解決するのかは、これから考えてみます。

 

 

2026-10-09

Let's note CF-SV8RDCVSでOpenBSD+cwm環境でのQtアプリケーションの表示が大きい

Let's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールしました。xenodm経由でcwmを使おうと考えています。日本語変換にはfcitx-anthyを利用します。Ctrl-SPACEを押すと変換ウィンドウが表示されるのですが、xtermの画面に対して、大きくて、バランスが悪いように思います。これを直すには「fcitx-configtool」というツールを使うようです。インストールし起動してみたら、全体的に大きすぎるウィンドウが開いて、とてもバランスが良くありませんでした。


この「fcitx-configtool」というのはQtアプリケーションだそうです。一般にQtアプリケーションの構成を変えるには「qt5ct」というアプリケーションを使うのだそうです。そこでインストールして起動してみると、これまたバランスの悪いウィンドウが出てきました。

 

これらの問題を解決するには、設定すると効果があるとと思われる環境変数が幾つかあるようです。その一つである環境変数「QT_FONT_DPI」に「96」を設定したら、丁度よいバランスになった気がします。試しに実験として「180」を設定してみたら、環境変数設定前のバランスの悪いウィンドウが再現されました。

 

Let's note CF-SV8のディスプレイは「12.1型 WUXGA(16:10) (1920x1200) アンチグレア」ということになっています。ここで「√(1920^2 + 1200^2) 」を「12.1」で割れば約187になります。「QT_FONT_DPI=180」としたときの画面が、設定前に近かったのも、こういうことなのでしょう。