2026-09-04

FreeBSD 15.1-RELEASEのKDE Plasmaでfcitx-mozcが無かったのでja-fcitx5-anthyを入れた

Let's note CF-SV8RDCVSにFreeBSD/amd64 15.1-RELEASEをインストールしました。それからX.orgでKDE Plasmaを入れましたが、このままでは日本語環境がありません。日本語環境として、日本語フォントを日本語変換エンジンを入れます。

 

最初に日本語フォントを入れました。IPAexにしようかと思いましたが、調べてみるとnoto-jpが良さそうです。

  1. pkg install noto-jp

 

これで日本語が表示できるようになりましたので、次は日本語変換エンジンです。ネットの情報を調べるとKDEなら「fcitx-mozc」が選ばれているようです。しかしパッケージからは消えていました。それならば「ibus-mozc」にしようかとも考えましたが、これもありませんでした。そうなると「ja-fcitx5-anthy」をインストールすることにしました。インストール中に多少手間取ったところはありましたが、ほぼ問題なくインストールし、設定を終えました。

  1. pkg install fcitx5 fcitx5-configtool fcitx5-qt{5,6} fcitx5-gtk{2,3,4} ja-fcitx5-anthy 
  2. 環境変数の設定が必要です。シェルの初期設定ファイルに書いても良いのですが、ログインクラスを使うことにしました。~/.login_confに次のように書いて、データベースを更新します。

    me:\
    :charset=UTF-8:\
    :lang=ja_JP.UTF-8:\
    :setenv=XMODIFIERS=@im=fcitx,GTK_IM_MODULE=fcitx,QT_IM_MODULE=fcitx:

  3. ここからはKDEの設定です。「System Settings」で「System」>「Autostart」において「New Application」として「Fcitx5」を追加します。ここいったんログアウトし、再ログインします。
  4. システムトレイにあるキーボードアイコンを右クリックし「Input Method Settings」を選びます。
  5. 「+ Add Input Method ...」として「Anthy」を追加し、「Select System layout ...」として「Japanese (jpn)」を選択しました。
  6. 以上の設定が済んだら「Apply」しておきます。

 

これで日本語入力もできるようになりました。以前にdynabook SS SX/15AにNetBSD/i386をインストールした時は、そうとう苦労して日本語環境を整えましたが、あまりにも簡単なので、驚きです。 

2026-09-02

FreeBSD 15.1-RELEASEでKDE Plasmaをインストール

Let's note CF-SV8RDCVSにX.orgをインストールしました。twmが使えるようになりましたが、素朴すぎます。『FreeBSD Handbook』の「Chapter 8. Desktop Environments」に従ってデスクトップ環境を入れようと思います。まずは「KDE Plasma」を入れてみます。

 

インストールは簡単です。以下のコマンドを入力するだけです。

  1. pkg install kde
  2. sysrc dbus_enable="YES"

 

これだけでも良いようなのですが、ディスプレイマネージャ「SDDM」も入れてみます。

  1. pkg install sddm
  2. sysrc sddm_enable="YES"

 

ここで再起動したら、SDDMのログイン画面が出ました。しかしパスワードを入力しても、入力を間違っているわけでもないのに、ログイン画面に戻ってしまいます。ログファイル「/var/log/sddm.log」をGeminiに見てもらったところ、「Plasma (Wayland)」として動作しようとしているとのことでした。ログイン画面の左下をよく見ると「デスクトップセッション: Plasma (wayland)」と表示されています。ここで「Plasma (X11)」に変更して、改めてパスワードを入力すると、KDE Plasmaが使えるようになりました。Geminiによると、FreeBSDでpkgでインストールすると、初期状態が「Plasma (Wayland)」になっているそうです。


将来的にはWaylandに一本化されるのかもしれませんが、現状ではX.orgの方がトラブルが少ないようです。

2026-09-01

FreeBSD 15.1-RELEASEのX.orgインストール

中古で先月購入したLet's note CF-SV8RDCVSにFreeBSD 15.1-RELEASEのインストールを済ませました。これだけではXが使えないので、『FreeBSD Handbook』の「Chapter 5. The X WIndow System」に従って、X.orgをインストールしました。

 

手順に従い、次のコマンドを入力しました。

  1. pkg install drm-kmod
  2. sysrc kld_list+="i915kms"
  3. pkg install xorg
  4. pw groupmod video -m 一般アカウント名

 

このあと「一般アカウント名」でログインし、startxしてみましたが、エラーになりました。インストールしたドライバが読み込まれていないようなので、再起動してから改めてstartxしたらtwmが動作しました。

 

xtermでキーしてみたら、どうもキー配列がASCIIになっているようです。設定を調整する必要がありそうなのですが、twmを常用するわけではないので、デスクトップ環境のインストールに進みたいと思います。  

2026-08-30

amd64移植におけるテーブル構造

東大版Palo Alto Tiny BASICをWSL2のUbuntu環境に移植しようと作業を進めています。BASICというのは、プログラム編集機能とインタプリタ機能が統合されています。オリジナル版は、SDK-80のシリアルポートにASR-33が接続された環境を想定していますから、プログラム編集機能といっても簡単なものです。amd64移植にあたり、機能的な拡張は全くおこなわない方針です。今日の水準から見れば貧弱そのものですが、移植する過程を学ぶのが主目的なので、本格的な機能は求めないことにします。

 

ひとまず編集機能はできあがりましたので、次はインタプリタ機能です。ここで問題となるのが、入力された文字列を認識して、対応する機能に分岐するロジックです。オリジナル版は、i8080というものに強く依存しているので、そのままamd64に対応させるのはよくないと考えています。基本的な構造は「CASEマクロ」にあります。

CASE   .macro STR,ADRS
       DB    &STR
       DB    (&ADRS SHR 8)+80H
       DB    &ADRS AND 0FFH
       .endm

このマクロを使って次のようなテーブルが作られます。例えば「LIST」という文字列だったら、LISTルーチンに飛ぶことになります。

CMDKW: CASE  'LIST',LIST
       CASE  'RUN',RUN
       CASE  'NEW',NEW
STMKW: CASE  'NEXT',NEXT

ここで注目すべきは、文字列の終端を認識するために、ルーチンのアドレスのMSBをONにしている点です。しかもi8080はリトルエンディアンなのに、ビッグエンディアンのように逆転させて配置しています。これはi8080の事だけを考えて組み立てるのであれば、秀逸なアイディアと言えます。しかしamd64に移植しようとするなら、あまりよろしくありません。しかも、amd64への移植が済んだら、他の環境にも移植したいと考えているので、なおさらです。

 

どうしたらよいか、これから検討します。Geminiに相談してみようと思います。 

 

2026-08-28

sudo、doas、opendoas

最近購入したLet's note CF-SV8RDCVSにFreeBSD 15.1-RELEASEをインストールしました。個人で使用するだけですが、昨今のセキュリティ事情を踏まえると、いい加減な運用は避けた方が良いだろうと思います。rootの他に一般ユーザを作るのは当然ですが、その一般ユーザをwheelグループに入れるか否かは慎重に考える必要があります。一般ユーザがWheelグループに入れば「su」でrootになれますが、セキュリティ的には注意が必要です。 

 

最近はrootアカウントを使わず、「sudo」を使うのが一般的です。しかし「sudo」は、多機能すぎて肥大化していることが問題視されており、代替としてOpenBSD由来の「doas」があります。

 

FreeBSDにもdoasをインストールしようと思いましたが、doasの他にopendoasが存在することに気づきました。何が違うのかと言うと、「persist」オプションがあることです。これがあれば、sudoのように、またはOpenBSD上のdoasのように、いったん認証に成功したら一定時間は認証を省略できるようになります。

 

FreeBSDに限りませんが、一般ユーザが「su」で直接rootになれるのは、セキュリティ的には避け、sudoやdoasを用いるようにした方が良さそうです。 

2026-08-23

FreeBSD 15.1-RELEASEの無線LAN設定

Let's note CF-SV8RDCVSにFreeBSD/amd64 15.1-RELEASEをインストールしました。インストール中は有線でネットワークに繋ぎました。今後デスクトップ環境を入れていくつもりですが、その前に無線LANの設定を済ませておこうと思います。

 

『FreeBSD Handbook』では「7.4. Wireless Networks」として設定手順が説明されています。それに従って作業すると、次のようになります。

  1. 接続先となるSSIDとPSKを入手しておきます。
  2. 「/etc/wpa_supplicant.conf」を作成します。ひな形が示されているので、そこに入手したSSIDなどの情報を入れます。
  3. 「/etc/rc.conf」に無線LANの情報を追加します。これも示された手順のとおりです。ただし設定ファイルを直接編集せずに、「sysrc」というコマンドを使っているのを初めて知りました。
  4. 以上で設定が済んだので「service netif restart」とすれば、繋がるはずです。

 

ところが繋がりませんでした。これまではdynabook SS SX/15AのNetBSD/i386で接続できていたので、何が違うのか確認してみました。私の自宅ではステルスSSIDとしていたため、「network」の設定の中に「scan_ssid=1」を入れておく必要があるようです。これを追加したら、繋がるようになりました。しかしGeminiと相談した結果、ステルスSSIDはセキュリティ的に望ましくないという意見だったので、ステルスSSIDを止めて公開設定に変更しました。そうなると「scan_ssid=1」は不要です。

 

さらに「/etc/rc.conf」に「create_args_wlan0="country JP regdomain JAPAN"」という設定も追加しました。『FreeBSD Handbook』が英語版であるからなのか、日本特有の設定については記述がありません。これもまたGeminiとの相談の結果ですが、この設定は必須とのことでしたので、追加しました。

 

以上で無線LANが使えるようになりました。若干トラブルがありましたが、とても簡単でした。 

2026-08-21

「FreeBSD-15.1-RELEASE-amd64-memstick.img」に入っているのは「PkgBase」

最近入手したLet's note CF-SV8 RDCVSにFreeBSD/amd64 15.1-RELEASEをインストールしてみました。公式サイトから「FreeBSD-15.1-RELEASE-amd64-memstick.img」を入手し、RufusでUSBメモリに書き込みます。ハンドブックの「2.3.1. Prepare the Installation Media」に「-memstick.img: This file contains all of the files needed to install FreeBSD, its source, and the Ports Collection. 」と書かれているように、インストールに必要なファイルは全て入っています。つまりインストール中にネットワークアクセスは必要ありません。もし「-bootonly.iso」や「-mini-memstick.img」を使うと、必要なファイルをネットワーク越しに取得することになります。

 

インストール中の選択肢に「Select Installation Type」があります。これまでのFreeBSDで使われてきた「Distribution Sets」か、FreeBSD 16からデフォルトになると言われている「Packages (Tech Preview)」のどちらを使うか選ばなければなりません。PkgBaseがデフォルトになるのは次のバージョンからですので、今回は「Distribution Sets」でインストールしようと考えました。ところが、ネットワークへのアクセスは不要なはずなのに、ネットワークからファイルを取得しようとするのです。

 

ネットワークに接続せずにインストールを完了させたかったので、ネットワークへのアクセスが発生すると困ります。ここで気づきましたが、「-memstick.img」にはインストールに必要なファイルが全て入っているとは言っても、「Distribution Sets」と「Packages」の双方が入っているわけではないようです。入っているのは「Packages」の方だけで、「Distribution Sets」を選んでしまうと、ネットワーク越しに取得しにいくのでしょう。

 

案の定、「Packages (Tech Preview)」を選択したら、ネットワークへのアクセスする事なく、インストールが完了しました。インストール完了後に改めて起動させたところ、Let's note CF-SV8RDCVSでFreeBSD/amd64 15.1-RELEASEが無事に起動しました。