FreeBSD , OpenIndiana(OpenSolaris) などで使われている IPfilter という FireWall アプリのソースコードの最新版が必要になり検索しまくったが見つからなかった。

 

で、ChatGPTに「ipfilter のソースコードを探して」と入力すると、見事に最新版のありかを明示してくれた。ええ?ググるより正確で速い?驚いた。

 

普段、英訳、和訳を頼む程度だったが、これからは思いっきり使わせてもらう。ソースコードの修正にも使う予定。勿論、ドキュメントの作成にも。

 

いやあ、もっと早く気付くべきだった。無駄な時間を費やしてしまった。

 

数年前から眼の調子が悪くなり、近眼、老眼、乱視と三拍子揃ってPCやスマホの画面が見づらくてしかたなかった。

で、特に見づらいソースコードやターミナルなどの等幅フォントを白源 (はくげん/HackGen)に変えた。見やすい!

 

 

 

から公開されている。Unix Clone はもとより Windows にも入れて統一した。何でこんな初歩的なことをしなかったのだろう。

 

とても重宝している。

私の不注意から NetBSD のシステムを壊してしまった。必要なものだけ sftp で退避して新しく出たばかりの 10.0 を新たに Vmware に入れました。

 

インストールは普通にISOファイルを使ってインストーラの指示に従って入れます。インストール後が問題。この時点でインターネット接続が出来ていることが前提になります。ついでに言えばインストール時点でsshを動かしておくこと。

 

確実に接続出来ているか DNS の設定なども確認しておかなければ前へ進めなくなります。まずは、pkgin をインストールしてバイナリパッケージをインストール出来なければ悲惨なことに。大体の人には full install が適切だと思うのでそれも留意して下さい。

 

インストールが終了すると、まずは root でログインして、.profile を編集してください。一ヶ所コメントアウトします。

 

# Uncomment the following line(s) to install binary packages
# from cdn.NetBSD.org via pkg_add.  (See also pkg_install.conf)
export PKG_PATH="https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(una
me -p)/$(uname -r|cut -f '1 2' -d.|cut -f 1 -d_)/All"

パッケージの在り処を反映。これをしてから再ログインして、# pkg_add pkgin としてともかく pkgin を入れてください。無事入ったら、順次パッケージを入れながらシステムを構築していってください。

 

ま、私的メモなので私の手順は省きます。私は、デスクトップに Lxqt を使いました。一般的には xfce4 が無難です。公式ガイドにも記述がありますし。NetBSDに手を出す初心者もいないでしょうからお好みで。

 

とりあえず、私の場合ですが shell を入れ直しましした。pkgin in tcsh としてインストール後、

# chsh -s tcsh user_name
とします。また、gnu ls が使いたかったので

# pkgin in gnuls

として .cshrc を以下のようにしています。

 

---

alias h         history -n 100
alias j         jobs -l
alias ls        gls -aF --color
alias lf        gls -FA --color
alias ll        gls -lAF --color
alias MU        mount_msdos -m 0644 -M 0755 -l -U /dev/sd1e /mnt
alias UM        umount /mnt
---

 

MU , UM は、このようにしておけば日本語があってもUSBスティックが無事に使えます。

 

さて NetBSD 10.0 + X はとんでもない爆弾を抱えています。

マウスがまともに動かない。おぃ!

 

/etc に、xorg.conf 必須です。そこに、

---

Section "ServerFlags"
        Option "AutoAddDevices" "False"
EndSection

---

先頭に書いてください。理由は検索すればすぐに出てきます。ここなど

 

 

私は、Vmwareなので open-vm-toolsを入れて、X のマウスドライバなどをVmware仕様にしています。これも割愛します。

 

日本語入力は fcitx5 + Anthy をパッケージ一発で入れて、fcitx5の設定からAnthyを選んで楽しました。おまじないは、

.xinitrc

---

LANG=ja_JP.UTF-8
XMODIFIERS="@im=fcitx5"
GTK_IM_MODULE="fcitx5"
QT_IM_MODULE="fcitx5"
export LANG
export XMODIFIERS GTK_IM_MODULE QT_IM_MODULE
exec startlxqt
---

としました。npf なんかも使っていますが、これは各人の固有設定ということで。

 

Libreoffice や VLC や GIMP なども入れました。Emacs も。

それでも大したスペースは使いません。sambaも入れています。ここらあたり、目的別ということで。ブログも今 NetBSDから書いています。

 

結果、

こんな具合です。

 

前の環境をアップデートしようとしてぶっつぶしたので、今回は用心深くメンテします。。

 

追記:lxqtから電源を落とせずに悩んだ。dbusを起動していなかったorz

 

# cp /usr/pkg/share/examples/rc.d/dbus /etc/rc.d
# echo dbus=YES >> /etc/rc.conf
# service dbus start

# reboot

ようやくUbuntuでDockerの運用が軌道に乗ったのでBlendOSをVmwareから消して紹介記事にあがっていたブラジル産 Manjaro Linux ベースのBiglinuxを試用してみた。

 

KDEベースのデスクトップだが、いくつかのバリエーションがあり Windows11やMac OSX風のものが用意されている。結構、綺麗で使い勝手も良く、日本語ローカライズもきっちりとしている。

 

紹介記事

 

 

本家

 

ちゃんと日本語で見れます。ポルトガル語いりません。

 

試用してみたところ、Vmwareとの相性も良く、日本語環境の構築も至極楽だった。私は、fcitx5 + mozc のパッケージを入れただけ。何も他にしなくても再起動するだけで簡単に動いてくれた。

 

open-vm-tools を入れれば、自動的に必要な他パッケージも入り、これまた再起動だけで必要な機能は自動設定される。

 

フォントは面倒臭いので、pacmanの正規表現機能を使って、

# pacman -S $(pacman -Ssq '^ttf-') --ignore ttf-jetbrains-mono-nerd --ignore nerd-fonts-jetbrains-mono --ignore noto-fonts-lite

 

と依存関係で弾かれるものを回避して一気に入れた。デスクトップは、Mac OSX風にしてみた。

 

 

何でも、20年前から始まったディストーションだそうだが地球の反対側にこんなプロジェクトが走っていたとは知らなかった。

 

試用してみれば判るが、遊び心もいっぱいながら実用のツボはきっちりと押さえている。但し、ブラジル産だから日本向けに使おうと思うと色々と手間はかかる。でも、それも楽しい。センスもラテンのノリでなかなかのもの。

 

情報は少ないが、基本 Manjaro Linux の流儀が通用するから詰まったらそちらで検索すればいい。

 

Nordvpn も AUR からになるが簡単に入った。MTU の設定も、私の場合 1454 にネットワークマネージャーで有線接続を設定し、IPv6を殺しておけば勝手に NordLynx 設定は 1374 になり、不便することがなかった。

 

綺麗なデスクトップを眺めつつ、楽しみながらしたいことが出来る。そんなディストリビューションだ。好みの分かれるところだから私は好きだとだけ。

 

ちなみに、ssh は最初からは入っていません。opensshを入れてポート指定が要ります。Firewall は gufw + ufw が最初から入っていたので、それを使っています。

 

samba などのネットワークツールも当然後入れ。別に他のディストリビューションと変わらず、パッケージで入れて設定し起動するだけです。

 

さて、実機にいれて使うとなると、今の所ペンディングです。Ubuntuほど長く丁寧なサポートがあるかどうか。ともあれ試用してみる価値はあります。ミラーもきっちり日本にありますし。

 

楽しんでください。

2024.4.14追記

emacs29 ですが、メニューバーのアイコンが消えているはずです。私は、アイコンだけあれば良いので(見栄えだけ)init.elに (setq tool-bar-style 'image) テキストも表示したければ (setq tool-bar-style 'both)を追加してください。

FreeBSD 14.0 が出ていたので Gnome Desktop で Vmware Workstation 上にインストール。その時のメモ。

pkg だけでなく ports も使って若干遊んでみた。上図は、ports から Strawberry を入れたもの。ports の使い方はこちらから。

 

 

全体的な雰囲気はこちら。

 

 

まあ、変哲もない普通のGnome。総じて、13.2 より安定している。
Gnomeなので、GDMからログインするわけだがKeymapがenになっていたので修正。

 /usr/local/share/gdm/greeter/autostart の中に keymap.desktop というファイルを追加で作成。

---

[Desktop Entry]
Type=Application
Name=Set Login Keyboard
Exec=/usr/local/bin/setxkbmap -display :0 'jp'
NoDisplay=true
---

これでGDMのログイン画面が日本語キーボード仕様になる。

 

例によって、Vmware だから以下の設定をする。

X の起動と

open-vm-tools
xf86-video-vmware
xf86-input-vmmouse
のインストールができているとして

 

/etc/rc.conf

---

hostname="freebsd14"
keymap="jp.kbd"
ifconfig_em0="DHCP"
ifconfig_em0_ipv6="inet6 accept_rtadv"
sshd_enable="YES"
ntpd_enable="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"

dbus_enable="yes"
gdm_enable="YES"
gnome_enable="YES"
avahi_daemon_enable="YES"

moused_enable="YES"
hald_enable="YES"

vmware_guest_vmblock_enable="YES"
vmware_guest_vmhgfs_enable="YES"
vmware_guest_vmmemctl_enable="YES"
vmware_guest_vmxnet_enable="YES"
vmware_guestd_enable="YES"


ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.rules"
ipfilter_flags=""
ipmon_enable="YES"
ipmon_flags="-D /var/log/ipflog"

ntpd_enable="YES"

samba_server_enable="YES"

cupsd_enable="YES"
devfs_system_ruleset="system"
---

 

/etc/sysctl.conf

---

# $FreeBSD$
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
vfs.zfs.min_auto_ashift=12
net.inet.tcp.tso=0
kern.ipc.maxsockbuf=524288
net.inet.tcp.recvspace=114688

net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.sendspace=65536

net.inet.tcp.recvbuf_max: 524288
net.inet.tcp.sendbuf_max: 524288
net.inet.tcp.tso=0

#hw.vtnet.tso_disable=1

#net.inet.ip.forwarding=1
#net.inet6.ip6.forwarding=1


vfs.usermount=1

#kern.maxfiles=65536

net.inet.tcp.inflight.enable=1
net.inet.tcp.inflight.min=6144
net.inet.tcp.inflight.max=1073725440
net.inet.tcp.inflight.stab=20
net.inet.tcp.recvspace=65536
net.inet.ip.redirect=0
net.inet.tcp.syncookies=1
net.inet.tcp.delayed_ack=0
kern.coredump=0
kern.maxfiles=65536
kern.maxfilesperproc=32768
kern.maxprocperuid=16384
kern.ipc.maxsockbuf=2097152
net.inet.udp.maxdgram=57344
kern.threads.max_threads_per_proc=40000
net.inet.ip.portrange.first=32768
net.inet.ip.portrange.last=49151
net.inet.ip.portrange.hifirst=49152
net.inet.ip.portrange.hilast=65535
kern.ipc.somaxconn=1024
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
net.inet.ip.maxfragpackets=1600
---

 

/usr/local/etc/X11/xorg.conf.d
my.conf

---

Section "ServerLayout"
        Identifier "X.org Configured"
        Screen 0 "Screen0" 0 0
        Option "AutoAddDevices" "Off"
        InputDevice "Mouse0" "CorePointer"
        InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device "Card0"
        SubSection "Display"
        Modes "1920x1080"
        EndSubSection
EndSection

Section "InputDevice"
        Identifier "Keyboard0"
        Driver "kbd"
        Option "XkbRules" "xorg"
        Option "XkbModel" "jp106"
        Option "XkbLayout" "jp"
        Option "XkbOptions" "ctrl:nocaps"
EndSection
Section "InputClass"
        Identifier "Mouse Defaults"
        Driver "vmmouse"
        MatchIsPointer "on"
EndSection
Section "InputDevice"
        Identifier "Mouse0"
        Driver "vmmouse"
        Option "Protocol" "auto"
        Option "Device" "/dev/sysmouse"
        Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Device"
        Identifier "Card0"
        Driver "vmware"
#        BusID       "PCI:0:15:0"
EndSection
---

 

こんなところで快適に使えている。

 

samba は、4.13を入れた。SMB 1.0 仕様。

 

印刷は、cupsの設定後、/usr/bin の lp* を chmod 000 してある。

 

 

結構楽に構築できた。Firewall は例によって省く。それにしても Gnome ってこんなに軽かったかしらん。