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とスマホとでブックマークの出現順序が揃ったので、ありがたいことは確かです。 

「~/.xsession」を「#!/usr/local/bin/tcsh」とする

最近入手したLet's note CF-SV8RDCVSにOpenBSD/amd64 7.9を入れました。日本語環境を設定するため、環境変数「LANG」に「ja_JP.UTF-8」を指定する方法を探していました。ログインクラスを利用しようと思いましたが、思ったように動作しないので断念しました。ホームディレクトリにあるドットファイルで個別に指定するしかないようです。


ログインシェルにはtcshを利用しています。パッケージから導入したので「/usr/local/bin/tcsh」です。環境変数を設定するなら「~/.login」を編集することになるでしょう。一方でxenodmからcwmを利用する場合には「~/.xsession」が使われ、通常は「/bin/sh」で解釈されます。

 

Bシェル系とCシェル系とでは環境変数を設定する書式が違いますので、ワンライナーか何かで変換し、一方から他方を参照しようと考えていました。Geminiに相談したら、「~/.xsessionにシバンで/usr/local/bin/tcshを指定する」という方法を教えてくれました。そうすれば「if ( -f ~/.xsession ) source ~/.xsession」で一発です。こういう発想はなかったので、目から鱗でした。

 

これで「LANG=ja_JP.UTF-8」を指定することができるようになったので、日本語環境の設定を進めていけます。

2026-10-02

環境変数「LANG」設定にOpenBSDでログインクラスを利用するのは断念

Let's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールしました。まだOSを入れただけですので、これから設定していくことになります。まずは日本語環境から設定します。そのために環境変数「LANG」を「ja_JP.UTF-8」にします。これを設定するなら、シェルの初期化スクリプトを使うことが多いかもしれません。今のところ、次のような形態を想定しているので、シェルの初期化スクリプトを使うのは二の足を踏みます。

  1. Windows11のRLoginを使ってSSHログインする。
  2. xenodmでログインしてcwmを使う。 

 

SSHログインの場合、シェルには「tcsh」を使っているので、「~/.login」に設定することになります。一方でxenodmの場合、「~/.xsession」に設定することになります。それだけではなく、Bシェル系とCシェル系とに分かれるので、両者の設定を共用できません。こうなるのでログインクラスを使いたかったのですが、OpenBSDでは、バグなのか仕様なのか不明ですが、うまくいかないのです。

 

Geminiにアドバイスを求めた結果、「~/.xsession」の設定をワンライナーで加工して「~/.login」で利用すれば良いのではないかという結論に至りました。もっと複雑な方式を構築することも出来るかもしれませんが、「KISS原則」に従おうと思います。

2026-10-01

「/etc/login.conf.d」はOpenBSD 7.1で導入

OpenBSDではディレクトリ「/etc/login.conf.d」というものがあります。調べてみると、OpenBSD 7.1の「What's New」で次のように書かれています。

 Introduced support for storing capability databases in /etc/login.conf.d, allowing easy addition of custom login classes from packages and made rcctl(8) look for the login class in both login.conf and login.conf.d/${class}. 

 

パッケージで使われることを想定して導入されたようです。何か実例はないかと探してみると「databases/mariadb」に「mysqld.login」を見つけました。

 

またOpenBSDでは、「LOGIN.CONF(5)」で「Sites with very large /etc/login.conf files may wish to create a database version of the file, /etc/login.conf.db, for improved performance. Using a database version for small files does not result in a performance improvement.」と書かれています。OpenBSDでは「cap_mkdb」にかけるか否かはオプションです。ところがFreeBSDでは、「LOGIN.CONF(5)」では「Whenever to this, or the user's ~/.login_conf, file are made, the modifications will not be picked up until cap_mkdb(1) is used to compile the file into a database.」と書かれているように、「cap_mkdb」にかけなければなりません。

OpenBSDのログインクラスは手強い

今夏に手に入れたLet's note CF-SV8RDCVSにOpenBSD/amd64 7.9をインストールしました。OSを入れただけなので、日本語環境とか、GUIとか、これから設定していくことになります。何から手を付けようかと思いましたが、まず日本語環境として、ロケール「ja_JP.UTF-8」、日本語フォント、日本語入力などを済ませようと思います。

 

まず最初にロケールの設定です。要するに環境変数「LANG」に「ja_JP.UTF-8」を設定するわけです。ユーザのホームディレクトリにあるドットファイルでファイルで設定する方法がありますが、ここはログインクラスを使おうと思います。FreeBSDではファイル「~/.login_conf」に書くだけでした。同じようにするだけかと思ったら、これはFreeBSD独自拡張であって、OpenBSDでは参照されないことが判明しました。

 

一方でOpenBSDにはディレクトリ「/etc/login.conf.d」という拡張があります。ファイル「/etc/login.conf」との使い分けが良く分からないので、マニュアル「LOGIN.CONF(5)」を良く読んでみようと思います。せっかくなので各BSDのマニュアルに目を通しておこうと思います。

 

そもそもログインクラスとは何のために存在し、どのように使うことが想定されているのか、役割がよくわかりません。マニュアルに記載されているのは、書式とか、設定できる内容がほとんどです。偶に簡単な歴史が書かれていることもありますが、様々な環境でドットファイルに何を書き、何を書かないか、詳述されていることはなさそうです。何か参考になる資料があればと思います。

2026-09-23

NetBSD/i386+MATEのdynabook SS SX/15AからOpenBSD/amd64+cwmのLet's note CF-SV8RDCVSへ

Windows Vista時代に購入したdynabook SS SX/15AをNetBSD/i386に入れ換え、MATEデスクトップ環境にして使ってきましたが、限界を感じるようになってきました。ここ数年は、32ビット環境を対象外とするアプリケーションが増えています。また、Vistaの頃から発生していましたが、PC本体が不調で、電源投入時にOSが起動しないことがあります。そういう場合には、本体を揺すってみたり、表面や裏面から押してみたりしているのですが、末期症状です。

 

2026年8月に、代替としてLet's note CF-SV8RDCVSを中古で購入しました。BSD系のOSを入れることには迷いはなく、Linux系は避けるつもりですが、FreeBSD/NetBSD/OpenBSDのような伝統的BSDにするか、DragonFly BSD/nomadBSD/helloSystemのような新興勢力BSDにするか、迷っていました。先月から今月にかけて各種BSDを試行検討してきました。さらにデスクトップ環境として何を選択するのかも、迷っていました。

 

最終的にFreeBSDかOpenBSDかの二択となりました。デスクトップ環境としてKDE plasmaを試行したらOpenBSDは動作が不安定だったこともあり、FreeBSDを選ぼうかという気になっていましたが、ブレーンストーミングとしてGeminiに相談しました。OpenBSDは独自の拘りに満ち溢れています。FreeBSDは、Linux系ほどではありませんが、NetBSDやOpenBSDのような拘りが薄く、使いやすさを追求する指向が強いと思います。

 

相談した結果、OpenBSDを選びました。デスクトップ環境を使うのは止めて、軽量ウィンドウマネージャであるcwmを使ってみようと思います。KDE/MATE/Xfceのようなデスクトップ環境は、初期状態からリッチな画面が提供されていますが、一方で軽量ウィンドウマネージャは、初期状態では地味な画面がデフォルトです。しかし設定次第でリッチな画面にできない訳ではないようです、antiXのような画面にすることも可能のようです。方向性は固まりました。