2026-10-30

OpenBSD/amd64 8.0のLibreOffice Calcではcwmがショートカットキー「Alt-Return」を横取りする

Let's note CF-SV8RDCVSにOpenBSD/amd64 8.0をインストールし、cwmを利用しています。cwmだけだと寂しいので、tint2、jgmenu、rofi、conkyなどを追加しました。日本語変換は、Fcitx-Anthyです。このような環境でLibreOffice Calcを使うと、Windows11のCalcでショートカットキー「Alt-Return」が機能しないことに気づきました。まだcwmを使い始めたばかりなので、挙動になれていないのですが、Calcのウィンドウ消えてしまうのです。

 

最初はCalcのバグで落ちたのか思いました。実はそうではなく、隠れた状態になっているだけでした。落ちたのではないので安心しましたが、ショートカットが機能しないのは何とかして解決したいと思います。ウィンドウを表示したり隠したりするのはcwmの役割ですから、多分「Alt-Return」に割り当てられているcwm機能が存在するのでしょう。

 

CWM(1)を確認したところ「M-Return Hide current window.」という記述を見つけました。「M-」というのは「Alt」のことです。やはりcwmがショートカットキー「Alt-Return」を横取りしていたようです。cwmのキー設定を変えれば解決すると思います。どのように変更するのかは、これから考えようと思います。

OpenBSD/amd64 8.0のLibreOffice Calcではショートカットキー「Shift-Ctrl-;」が機能しない

Let's note CF-SV8RDCVSにOpenBSD/amd64 8.0をインストールし、cwmを利用しています。cwmだけだと寂しいので、tint2、jgmenu、rofi、conkyなどを追加しました。日本語変換は、Fcitx-Anthyです。このような環境でLibreOffice Calcを使うと、Windows11のCalcでショートカットキー「Shift-Ctrl-;」に反応しないことに気づきました。このショートカットは、セルに現在時刻をいれるものなのですが、セルを挿入するためのウィンドウが開いてしまいます。

 

ネットを検索して情報を探してみると「Calc - 現在の日付のショートカットキーの問題 - 解決済み」が見つかりました。そこでは解決策として、つぎのように記されています。

そこで、ショートカットキー Shift+Ctrl+: を追加したところ、期待通りに動作するようになりました。ツール > カスタマイズ > キーボード (「Calc」を選択) を開き、Shift+Ctrl+; まで移動します。Shift+Ctrl+; に「現在時刻の挿入」が割り当てられているはずです。Shift+Ctrl+: でも同様に設定してください。Shift+Ctrl+: を選択し、「機能」>「割り当て」で「現在時刻の挿入」を選択します。  

 

この解決策を試してみたのですが、うまくいきませんでした。何とか解決したいと考えてみると、上述した解決策が想定しているキーボードレイアウトと、私が使っているキーボードレイアウトが違うのが原因ではないかと閃きました。どういうことかと言うと、上述した解決策では、英語キーボードのように「;」と「:」が同一キーに割り当てられており、シフトキーで切り替える環境なのでしょう。一方で私は日本語キーボードですから「;」と同一キーにありシフトキーで切り替えるのは「+」です。

 

要するに、Calcのショートカットキー「Shift-Ctrl-;」というのが「Ctrl」+「Shift-;」 として解釈されたのだと思います。英語キーボードでは、「Shift-;」とは「:」です。しかし日本語キーボードでは、「Shift-;」とは「+」なのです。だから上述を解決策「Shift+Ctrl+: でも同様に設定してください」を「Shift+Ctrl++ でも同様に設定してください」と読み替える必要があるのです。この設定を追加したら、無事に解決しました。

OpenBSD/amd64 8.0のLibreOffice CalcではFcitx5がショートカットキー「Ctrl-;」を横取りする

Let's note CF-SV8RDCVSにOpenBSD/amd64 8.0をインストールし、cwmを利用しています。cwmだけだと寂しいので、tint2、jgmenu、rofi、conkyなどを追加しました。日本語変換は、Fcitx-Anthyです。このような環境でLibreOffice Calcを使うと、Windows11のCalcでショートカットキー「Ctrl-;」に反応しないことに気づきました。このショートカットは、セルに現在日をいれるものなのですが、「クリップボードが云々」というウィンドウが開いてしまいます。


ショートカットに反応して表示されるウィンドウを出しているのが誰なのか突き止める必要があります。可能性のあるのは、cwm、Fcitx-Anthyです。tint2、jgmenu、rofi、conkyの可能性がないとは断言できませんが、可能性は低そうです。ためしに、xterm上でショートカットキー「Ctrl-;」を押すと、同じようなウィンドウが開きました。さらにcwm起動時にFcitxを起動しないようにしたら、xtermでショートカットキーを入力しても、ウィンドウが開きませんでした。これで原因はFcitxに確定です。


Geminiに相談してみると、Fcitxでショートカットキー「Ctrl-;」を定義しているのは、クリップボードアドオンだそうです。Fcitxの構成ツールで確認すると、確かにそうでした。原因は特定できたので、これをどのように対処するかを考えてみると、2つの方法があります。どちらを選ぶか、今後考えてみようと思います。

  1. Fcitxのクリップボードアドオンは、必須機能ではないので、削除してしまう。
  2. Fcitxのクリップボードアドオンを利用することを前提に、ショートカットキーを変更する。 

 

OpenBSD/amd64 8.0のLibreOffice Calcでは環境変数「LC_CTYPE」を設定しておく必要がある

Let's note CF-SV8RDCVSにOpenBSD/amd64 8.0をインストールし、cwmを利用しています。cwmだけだと寂しいので、tint2、jgmenu、rofi、conkyなどを追加しました。日本語変換は、Fcitx-Anthyです。このような環境でLibreOffice Calcを使うと、Windows11のCalcで作成したファイルの日付表示が変わってしまうことに気づきました。

 

具体的には、Windows11のCalcでは「2026/10/30」のように表示されていたものが、「10/30/2026」となってしまうのです。なぜか日付の表示形式が英語環境になっています。しかし環境変数「LANG=ja_JP.UTF-8」と設定していますし、Calcの中でFcitx-Anthyによる日本語変換に問題はありません。

 

LibreOffice Calcを起動するには、/usr/local/bin/scalcを実行します。これはsofficeへのシンボリックリンクになっており、実体はシェルスクリプトです。中を確認してみると、環境変数「LC_CTYPE」が設定されていない場合には「LC_CTYPE=en_US.UTF-8」を設定するロジックになっていました。

 

環境変数「LANG」は設定済みですが、「LC_CTYPE」は未定義でした。そこで「LC_CTYPE=$LANG」と設定したら、日付の表示形式が「年/月/日」になってくれました。

2026-10-28

OpenBSDのcwmにtint2/jgmenu/rofi/conkyを追加

Let's note CF-SV8RDCVSにOpenBSD/amd64 8.0をインストールし、cwmを使っています。Microsoft Windowsや各デスクトップ環境を見慣れた目には、cwmはとてもシンプルです。このまま使うと侘びしいので、コンポーネントを追加することにしました。調べてみると、tint2やjgmenuを追加することが多いようです。antiXを参考にしつつ、tint2/jgmenu/rofi/conkyを追加することにしました。

 

cwmもそうですが、tint2なども初めて使うので、勝手がよくわかりません。またOpenBSD版がセキュリティを強化していることで、不可解な挙動を示す場合に備えて、Arch Linuxを検証環境として用意することにしました。

 

各コンポーネントの設定は多岐にわたり、どのように設定するかは直ちには決まりませんが、動かすだけならすぐにできそうです。とりあえず、動かしてみて、少しずつ設定を見直していくことにしました。

  1. ~/.xsessionでcwmを起動する前に、tint2とconkyを起動させておきます。
  2. jgmenuは、tint2のランチャーとして指定しておきます。
  3. rofiは、~/.cwmrcの中でキー定義しておいて、起動させることにしました。

 

いろいろなコンポーネントを使いしたので、素のままのcwmよりは、多少見栄えがよくなりました。これから使ってみて、設定を見直していこうと思います。 

2026-10-25

検証環境としてのArch Linux

Let's note CF-SV8RDCVSにOpenBSD/amd64 8.0でcwmを使っています。cwmだけではシンプル過ぎて侘びしいので、tint2、rofi、jgmenu、conkyなどを入れてみようと考えています。さらにGTK系やQt系アプリケーションの設定とか、Fcitx5の設定用アプリケーションもあります。これらを動かしてみると、動きが妙だと思うことがあります。具体的には、画面が崩れるとか、ボタンを押しても反応がないとかです。これらが、そういうものなのか、OpenBSDであるが故に挙動が変なのか判断しようがありません。

 

そこで挙動を検証する環境を用意することにしました。VirtualBox上にLinuxディストリビューションの何かを入れて検証環境にしようと思います。ディストロは何でも良いのですが、Geminiに相談したらArch Linuxを勧められました。これを使うのは初めてです。インストール方法も独特で若干戸惑いましたが、慣れていないだけで、それほど難しいわけではありません。


これで検証環境が用意できたので、OpenBSDの動作が怪しい場合、Arch Linux上の動作と比べてみようと考えています。

 

2026-10-22

OpenBSD 7.9を8.0に更新

2026年10月20日にOpenBSD 8.0がリリースされました。これまで7.9を利用していましたので、8.0に更新しようと思いますが、OpenBSDで更新作業をおこなうのは初めてです。公式サイトに参考資料「Upgrade Guide: 7.9 to 8.0 」があるので、その手順に従いました。


手順は、簡単でした。

  1. doas sysupgrade
  2. doas sysmerge
  3. doas pkg_add -u


最初の「sysupgrade」を実行している最中に、再起動が2回おこなわれます。まずインストール用ファイルをダウンロードし、インストールする前に再起動されます。起動したら、ダウンロードされているファイルをインストールし、また再起動します。起動してきたところで、最終処理をおこない、OpenBSD 8.0になっています。

 

2番目の手順は「必要ならば」おこなうとのことです。実行する要否をどのように判断するのか分かりませんでしたが、実行してみました。一つのファイルだけ、マージできていなかったようなので、処理しておきました。

 

最後にインストール済のパッケージを更新します。インストールしたパッケージが増えると、ここの処理時間は長くなりそうです。

 

これまでFreeBSDやNetBSDではバージョンアップをした経験がありますが、OpenBSDでは未経験でした。更新中に再起動したとしても、立ち上がってきてから勝手に処理が継続されるので、ユーザ・フレンドリーと感じました。 

 

 

 

2026-10-21

cwmの「group」は、こう使うのか

OpenBSD Journalの「Getting started with cwm」を読むと、cwmの「group」を使う事例が記されていました。例えば、xtermとfirefoxが開かれているとします。

  1. 「CM-1」(Toggle visibility of group 1)を押す。
  2. カーソルをxtermに移して「CM-g」(Toggle group membership of current window)を押す。
  3. 「CM-2」(Toggle visibility of group 2)を押す。
  4. カーソルをfirefoxに移して「CM-g」(Toggle group membership of current window)を押す。 

 

上述した操作で、xtermとfirefoxを各グループに割り当てることができました。ここで、記事にもありますが、グループが別々なのに双方とも表示されたままになっています。これは「CM-0」(全グループを表示)状態にあるからです。表示されるグループを選択するには「CM-[n]」として、nに「1」や「2」を指定することになります。

 

記事の手順を追試してみて、cwmの「group」の使い方が理解できました。しかしながら、記事の筆者は、何故この手順を知っているのでしょうか。少なくとも「CWM(1)」や「CWMRC(5)」を読んでも、この手順を導き出すことはできないように思います。 

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」としたときの画面が、設定前に近かったのも、こういうことなのでしょう。

2026-10-07

OpenBSDのxtermは環境変数「GTK_IM_MODULE」を子プロセスに渡さない

Let's note CF-SV8RDCVSを入手したのでOpenBSD/amd64 7.9を入れました。まだOSを入れただけに近い状態です。日本語環境を設定するため、環境変数「LANG=ja_JP.UTF-8」を設定し、日本語フォントにはnoto、日本語変換はfcitx-anthyを入れました。ちなみにログインシェルはパッケージからインストールしたtcshです。OpenBSDにはxenodmというディスプレイマネージャがあります。何も設定していなければfvwmが動きますが、「~/.xsession」を用意して、cwmが動くようにしておきました。

 

日本語変換としてfcitx-anthyを入れましたので、「~/.xsession」で環境変数も定義しておきます。動作確認のために、パッケージからFirefoxとLibreOfficeを入れ、日本語変換できるか確認しました。

setenv GTK_IM_MODULE fcitx
setenv QT_IM_MODULE  fcitx
setenv XMODIFIERS    @im=fcitx 

 

日本語変換を確認するため、xtermからFirefoxを起動します。Ctrl-SPACEを押すと、日本語変換できました。ところがLibreOfficeでは、日本語変換できません。いろいろと調べていると、xterm上でprintenvしたら、環境変数「GTK_IM_MODULE」が定義されていないことが判明しました。しかし「QT_IM_MODULE」と「XMODIFIERS」は、ちゃんと定義されています。

 

以前であれば、Google検索で情報を収集していましたが、最近は、Geminiに相談して解決を模索することが多くなりました。余談となりますが、Geminiは、というか生成AIは何でもそうかと思いますが、豊富な情報量をもとに回答しますが、その回答がGeminiの妄想(ハルシネーションとも言う)であることも少なくありません。はっきりと「それは、こうだ」とか「何々が原因だ」とか断言しますが、証拠の提示を求めると、「間違っておりました」と白旗をあげることも多々あります。Geminiの回答を鵜呑みにしないで、自分でも裏付けをとらないと間違った方向に進んでしまいます。

 

閑話休題。環境変数「GTK_IM_MODULE」が消える過程を調べるため、試行錯誤しました。多くの可能性を考えたり、Geminiに相談を繰り返したりしましたが、次のように調査を進めました。

  1. コマンドラインから「ps -e -ww -ax -o pid,ppid,user,args」を実行してみました。するとcwmやxtermのプロセスでは環境変数「GTK_IM_MODULE」を保持しているにもかかわらず、その子プロセスとなるtcshには環境変数「GTK_IM_MODULE」がありませんでした。
  2. コマンドラインから「strings /usr/X11R6/bin/xterm | grep GTK」すると、文字列「GTK_」が見つかりました。
  3. OpenBSD版xtermのソース「main.c」を確認すると関数「xtermTrimEnv(void)」を発見しました。ここに「TRIM(1, GTK_),」という記述が含まれています。

 

つまりxtermは文字列「GTK_」で始まる環境変数を子プロセスに引き継がないようにロジックが組まれていたのです。ファイル「~/.xsession」で定義したはずの環境変数「GTK_IM_MODULE」が消えていたのは、バグではなく、仕様でした。

 

この問題が発生するのは、OpenBSDだけなのか、他OSも同様なのか、調べてみました。網羅的な調査はできませんが、OpenBSDだけの事象と思われます。

  1. NetBSDにおけるxtermのソース「main.c」を確認しました。ファイルの最初に「/* $XTermId: main.c,v 1.930 2024/12/01 19:57:13 tom Exp $ */」とあります。この中に関数「xtermTrimEnv(void)」は存在しますが、「GTK_」に関する記述は存在しませんでした。
  2. GitHubにあるxtermのソース「main.c」を確認しました。ファイルの最初に「/* $XTermId: main.c,v 1.946 2026/08/14 23:15:48 tom Exp $ */」とあります。この中に関数「xtermTrimEnv(void)」は存在しますが、「GTK_」に関する記述は存在しませんでした。
  3. OpenBSDにおけるxtermのソース「main.c」の最初には「/* $XTermId: main.c,v 1.944 2026/04/07 19:22:45 tom Exp $ */」とあります。OpenBSDのCVSwebで確認すると、「TRIM(1, GTK_)」が入ったのは、2025年11月1日のrevision 1.67でした。

 

OpenBSDに限らず、FreeBSDやNetBSD、もしくはUbuntuなどでも、日本語変換を入れたら、GTK用やQt用の環境変数を設定することが「お約束」になっています。その手順を踏んだだけだと思っていたのに、OpenBSDのxtermでは環境変数「GTK_IM_MODULE」が設定されない「仕様」になっているという落とし穴があるとは、青天の霹靂でした。

 

2026-10-06

OpenBSDのxenodmと~/.xsessionの関係

OpenBSDでxenodmを使ってログインすると、「~/.xsession」が呼ばれます。その関係は、「/etc/X11/xenodm/Xsession」の最後を見れば、よくわかります。具体的には、次のようになっています。

# The startup script is not intended to have arguments.

startup=$HOME/.xsession
resources=$HOME/.Xresources

if [ -s "$startup" ]; then
    if [ -x "$startup" ]; then
        "$startup"
    else
        /bin/sh "$startup"
    fi
else
    if [ -f "$resources" ]; then
        @XRDB_PROGRAM@ -load "$resources"
    fi
    @bindir@/xterm &
    @bindir@/fvwm
fi
do_exit 

 

まず、「~/.xsession」の有無で処理が分かれます。あれば利用するし、なければ「fvwm」が使われます。

 

もし「~/.xsession」が存在するとしても、実行可否で処理が分かれます。実行可能であれば直接実行されるし、実行可能でなければ/bin/shに解釈させます。つまり、実行可能な「~/.xsession」であれば、ファイルにシバンを書いておくことで、/bin/sh以外(例えば/usr/local/bin/tcshなど)を使うことが可能になります。

 

もしOpenBSDでcwmを使いたければ、「~/.xsession」を用意しておく必要があります。実行可否は、どちらでも構いません。ただし/usr/local/bin/tcshを使いたいのであれば、実行可能とし、さらにシバン(#!/usr/local/bin/tcsh)を書いておく必要があります。

2026-10-05

『年貢』(渡辺尚志、中公新書2920)を読んでみた

書店で『年貢』(渡辺尚志、中公新書2920)を見かけたので、購入し読んでみました。「年貢」という言葉そのものは、学校で習いますし、時代劇などでもお馴染みです。しかし実態に詳しいわけではなく、江戸時代は領主に米を納めており、時には一揆を引き起こす場合もあったという程度の認識しかありません。

 

本書は、その「年貢」について、詳しく書かれています。とても勉強になりました。

 

江戸時代の年貢は、領主と領地との関係で成り立っています。本書を読んでいて思ったのですが、現在の政府や自治体と住民との関係のように、全国どこでも統一されたいるわけではないと思います。ある領主と、その領地の村々だけを考えれば、何らかの仕組みが出来ているでしょう。しかしながら、その仕組みが全国統一されたものとは思えません。幕領とか国替のない大名などであれば、江戸期を通じて、同じやり方だったかもしれません。しかし「鉢植え大名」という言葉があるように、国替を繰り返していた大名家もあります。また領主が次々と変化した村々もあるでしょう。年貢についての全国統一方式がないということは、領主側にとっても領地側にとっても、仕組みを再構築する必要があったということです。お互いの認識しているやり方が微妙に違っていると、わざわざ説明するのが面倒だったのではないでしょうか。仕組みが全国で統一されていれば、お国替えがあっても、領主としても、領民としても、年貢の納める方式に違いはないので、楽だったでしょう。しかし江戸時代と言うのは、徳川幕府は「全国統一政府」ではないので、各大名のやり方に口をはさめなかったと思います。

 

「鉢植え大名」で、諸国を転々とするのは、大変だったとは思います。しかし、そのように転々とすることで、年貢の収受にかかわる極端なローカルルールが淘汰される契機にもなったかもしれません。 

2026-10-04

OpenBSD/amd64にfcitx-anthyをインストール

Let's note CF-SV8RDCVSにOpenBSD/amd 7.9を入れました。まだOSを入れただけなので、これから様々な環境設定を行うつもりです。まず最初に日本語環境を整えておこうと思います。そのためにやる事は、次のようなことだと思います。

  1. 環境変数LANをja_JP.UTF-8にする。
  2. 日本語フォント入れる。
  3. 日本語変換できるようにする。 

 

 環境変数LANGについては、既に設定を終えています。次は日本語フォントです。旧い知識だとIPAフォントかと考えていたのですが、最近はnotoフォントが良さそうです。OpenBSDのパッケージにも、notoフォントが揃っています。ただしIPAフォントは、無くはないですが、お勧めではない雰囲気です(個人的な印象ですが)。noto関連フォントが、幾つかあり、必要なものだけに限定してインストールしても良いのですが、ディスク不足に悩んでいるわけでもないので、全て入れてしまいます。

  • noto-cjk-20240730
  • noto-emoji-2.051v0
  • noto-fonts-2026.03.01v0
  • noto-nerd-fonts-3.3.0

 

最後に日本語変換です。OpenBSDのパッケージにはmozcが無かったのでanthyにしました。以下のパッケージを入れましたが、依存関係にあるパッケージが勝手にインストールされるので、この3つだけをインストールしたのではありません。

  • fcitx-anthy
  • fcitx-gtk
  • fcitx-qt

 

日本語変換はインストールしただけでは動きませんから、~/.xsessionにも設定をしておきます。次のようにしました。

#!/usr/local/bin/tcsh

# import env from ~/.login
if (-f ~/.login) source ~/.login

# fcitx-anthy
setenv GTK_IM_MODULE            fcitx
setenv QT_IM_MODULE             fcitx
setenv XMODIFIERS               @im=fcitx
/usr/local/bin/fcitx5 -d &

# go cwm
exec /usr/X11R6/bin/cwm
#[EOF]

 

試しにxtermでCtrl-SPACEを押したら、変換ウィンドウが出てきて、変換もできました。うまくいっているようです。ただし、xtermのフォントと変換ウィンドウのフォントのバランスが悪いので、調整が必要です。 

2026-10-03

スマホ用Firefoxのブックマークに「指定の順序で並べ替え」という設定が存在する

スマホ用Firefoxのブックマークに「指定の順序で並べ替え」という設定がありました。以前は存在しなかったので、いつのまにか新設されたようです。Windows用Firefoxには「並べかえない」という設定が元々存在しました。ところがスマホ用には無かったので、Firefox Syncでブックマークを共用している場合に、Windosとスマホとで出現順序が違うので、戸惑っていました。

 

スマホでは「指定の順序で並べ替え」という設定項目名になり、Windowsでは「並べ替えない」という設定項目名になっています。どうして同じにしないのかと、不思議で仕方ありません。それはともかくとして、Windowsとスマホとでブックマークの出現順序が揃ったので、ありがたいことは確かです。