FreeBSD 14.3 RELEASE 公式仮想イメージをVirtualBox で動かす part 4 emacsからanthyを使う編
tag: freebsd-14.3, freebsd, virtualbox, FreeBSD-14.3-for-VirtualBox
anthyパッケージについては以下を参照。
FreeBSDのパッケージの場合、ja-anthy-unicodeをインストールすると、emacs lispもインストールされる。
anthyパッケージのインストール。
sudo pkg install -y ja-anthy-unicode
.emacsに以下を記載。
;; ;; anthy-unicode を使う ;; (set-language-environment "japanese") (setq default-input-method "japanese-anthy-unicode")
emacs起動後、Ctrl \ キーでかな漢字変換開始できる。
FreeBSD 14.3 RELEASE 公式仮想イメージをVirtualBox で動かす part 2 X11編
tag: freebsd-14.3, freebsd, virtualbox, FreeBSD-14.3-for-VirtualBox
■ VirtualBox上で起動したFreeBSDからX11を使う
virtualbox-ose-additionsをインストールしたので、X11を使ってみる。
VirtualBoxの仮想マシンのウィンドウのコンソールからログイン。
ログイン後、そこからstartxコマンドを実行。
特に設定を行っていない場合(~/.xinitrc ファイルが無い場合)は、800x600のスクリーンサイズでtwmとxtermとxclockが起動する。
loginというタイトルの付いたxtermからexitと入力すると、X11は終了する。
■ ~/.xinitrcファイルの作成
startxした時に起動するプログラムや設定などは、~/.xinitrcファイルに書く。
まだ ~/.xinitrc ファイルが存在しない場合は、以下のコマンドでシステム標準のxinitrcをコピーして作成する。
cp /usr/local/etc/X11/xinit/xinitrc ~/.xinitrc
■ xrandr (X11 Resize and Rotate) コマンドを使って、VirtualBoxのスクリーンサイズを設定する
引数なしでxrandrを実行すると、使用可能なディスプレイとスクリーンサイズが表示される。
コマンドの例。
xrandr
実行結果の例。
Screen 0: minimum 64 x 64, current 1400 x 967, maximum 32766 x 32766 VGA-0 connected primary 1400x967+0+0 0mm x 0mm 1400x967 60.00 + 2560x1600 60.00 2560x1440 60.00 2048x1536 60.00 1920x1600 60.00 1920x1080 60.00 1600x1200 60.00 1680x1050 60.00 1400x1050 60.00 1280x1024 60.00 1024x768 60.00* 800x600 60.00 640x480 60.00
VirtualBoxの仮想マシンのウィンドウのサイズを手動で変化させた場合、xrandrの結果に「+」マークが付く。
普通はプリセットのサイズ(1024x768など)を設定するのだが、VirtualBoxのウィンドウサイズに合わせてスクリーンサイズを指定する場合は「+」マークの値を指定する。
設定コマンドの例:
xrandr --output VGA-0 --mode 1400x967 --rate 60
■ setxkbmapとxkbcompコマンドを使って日本語キーボード設定を行う
デフォルトでは us キーボード設定になっているので、必要ならば日本語キーボードレイアウト設定を行う。
以下のようなコマンドを ~/.xinitrc に記載しておく。
setxkbmap -layout jp -print | xkbcomp - $DISPLAY
■ X11 日本語入力設定 (fcitx5 anthy使用)
fcitx5 (anthy使用) パッケージのインストール。
sudo pkg install ja-fcitx5-anthy-5.1.6_1
以下を ~/.xinitrc に記載しておく。
export GTK_IM_MODULE=fcitx/xim export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx" fcitx5 &
startxを入力してX11を起動し、xtermの上にマウスを置いて、Ctrl + スペース キーを押すとかな漢字変換開始になる。
再度Ctrl + スペース キーを押すとかな漢字変換終了する。
■ 変更後の ~/.xinitrc の例
(前略) if [ -d "$xinitdir"/xinitrc.d ] ; then for f in "$xinitdir/xinitrc.d"/?*.sh ; do [ -x "$f" ] && . "$f" done unset f fi # start some nice programs (ここから記述変更) # fcitx5起動 USE_FCITX5=yes if [ x"$USE_FCITX5"x = x"yes"x ] ; then export GTK_IM_MODULE=fcitx/xim export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx" fcitx5 & sleep 3 fi # 日本語キーボードをセット setxkbmap -layout jp -print | xkbcomp - ":0" 2>/dev/null "$twm" & "$xclock" -geometry 50x50-1+1 & "$xterm" -geometry 80x25+620+130 & exec "$xterm" -geometry 80x25+120+100 -name login
■ xrandr (X11 Resize and Rotate)コマンドを実行する bash関数を定義
~/.bashrc に以下の関数定義を記載して、 VirtualBoxの仮想マシンのウィンドウサイズを手動で変更した後に f-xrandr-VGA-0-resize を実行すると、ウィンドウサイズにフィットした X11 スクリーンサイズになる。
# # resize VGA-0 screen size # function f-xrandr-VGA-0-resize() { if xrandr > /dev/null 2>&1 ; then xrandr if xrandr | grep VGA-0 > /dev/null ; then WIN_SIZE=$( xrandr | awk '{print $1 " " $2 " " $3}' | grep "\+" | awk '{print $1}' ) if [ -z "$WIN_SIZE" ] ; then WIN_SIZE="1024x768" fi echo "WIN_SIZE is ::$WIN_SIZE::" if xrandr | grep "$WIN_SIZE" ; then xrandr --output VGA-0 --mode "$WIN_SIZE" --rate 60 fi fi fi }
FreeBSD 14.3 RELEASE 公式仮想イメージをVirtualBox で動かす part 5 emacsからja-yc.elを(無理矢理)使う編
tag: freebsd-14.3, freebsd, virtualbox, FreeBSD-14.3-for-VirtualBox, emacs
割と無理矢理だけどとりあえず動いたのでメモ。
ja-yc.el パッケージの特徴は以下。
他の環境だと体験できない、なんとも不思議な変換感覚になる。
yc.elの本家サイトの最終更新が2010年で、他にも色々動かない所があると思うので、あまりオススメはできない。
■ パッケージのインストール。
sudo pkg install ja-canna-server ja-canna-lib ja-cannadic sudo pkg install ja-yc.el ja-icanna
/etc/rc.confにcannaサーバ起動設定を追加。
sudo sysrc canna_enable="YES"
再起動するか、以下のコマンドでcannaサーバを起動する。
sudo service canna start
■ yc.el にパッチを適用する
george@freebsd68 /usr/local/share/emacs/30.1/site-lisp/yc $ diff -uw yc.el.orig yc.el --- yc.el.orig 2025-08-16 19:40:57.000000000 +0900 +++ yc.el 2025-09-13 23:31:35.717070000 +0900 @@ -383,7 +383,8 @@ (make-network-process :name "canna" :buffer yc-debug - :remote "/tmp/.iroha_unix/IROHA") + :remote "/tmp/.iroha_unix/IROHA" + :service 5680) (let ((process-connection-type nil)) (start-process "canna" yc-debug yc-icanna-path)))) (t (with-timeout (1 nil) @@ -3232,6 +3233,7 @@ (defun yc-input-mode-function () (setq inactivate-current-input-method-function 'yc-inactivate) + (setq deactivate-current-input-method-function 'yc-inactivate) (setq current-input-method-title "$"") (yc-open) (remove-hook 'input-method-activate-hook 'yc-input-mode-function)) @@ -3247,11 +3249,13 @@ (if yc-input-mode (progn (setq inactivate-current-input-method-function 'yc-inactivate) + (setq deactivate-current-input-method-function 'yc-inactivate) (setq current-input-method-title "$"") (add-hook 'input-method-activate-hook 'yc-input-mode-function);) (if (eq (selected-window) (minibuffer-window)) (add-hook 'minibuffer-exit-hook 'yc-exit-from-minibuffer))) (setq inactivate-current-input-method-function nil) + (setq deactivate-current-input-method-function nil) (setq current-input-method-title nil)) (force-mode-line-update t));) george@freebsd68 /usr/local/share/emacs/30.1/site-lisp/yc $
■ .emacsに以下を記載。
;; ;; Canna + ja-yc.el を使う ;; ; yc-elのロード前に設定 (setq yc-server-host nil) ;; nilの場合はlocalhost (setq yc-canna-lib-path "/usr/local/share/canna/") ;; default.canna があるディレクトリ (setq yc-canna-dic-path "/usr/local/share/canna/dic/") ;; default.cbp があるディレクトリ (setq yc-icanna-path "/usr/local/bin/icanna") ;; unix domain socket 通信支援バイナリコマンドのパス ;; yc-el のロード (load "yc") ; これでフェンスモード(Ctrl-\)は使用可能 ;;(global-yc-mode) ; 全バッファで ANK-漢字変換(Ctrl-J)を有効にする (setq yc-use-color t) ;; フェンスモードを使用 (フェンスモードは変換中の文字の前後を | で囲む表示を行う) (setq yc-use-fence t) ;; yc-mode トグルするキー設定 (ESC - SPACE にて)(yc-mode ONでは、Ctrl-Jで変換が走る) ;;(global-set-key "\M-\ " 'yc-mode) ;; 入力メソッド切替キー (ここでは C-o に割当する例)(デフォルトでは C-\ ) ;;(global-set-key "\C-o" 'toggle-input-method) ;; デフォルトの日本語入力メソッドを Canna + yc.el に (setq default-input-method 'japanese-yc)
■ emacs 上でのyc.elの使用方法
emacs -nw hoge.txt などとして新規テキストファイルを編集する emacs を起動。
上の .emacs 設定では、各bufferはyc-modeにはなっていないので、 M-x yc-mode として ycモードにする。
ローマ字で「nihonngo」とタイプした後に Ctrl-J を入力すると、「日本語」に変換される。
FreeBSD 14.3 RELEASE 公式仮想イメージをVirtualBox で動かす part 3 portsソース取得編
tag: freebsd-14.3, freebsd, virtualbox, FreeBSD-14.3-for-VirtualBox
■ ports コレクションのソースを拾う
/usr/ports/japaneseの下に日本語関係のパッケージの元ネタが展開されるので、日本語対応済みのソフトを探す時に使う。
※fcitx5-anthyはコレで探した
注意:portsからインストールは基本的には避けること。バイナリパッケージ作成時のコンパイル時オプションと異なるものをインストールした場合、他のバイナリパッケージとの動作整合性が取れなくなるので。
git コマンドを使って git clone する。
sudo bash pkg install -y git mkdir -p /usr/ports git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports
FreeBSD 14.3 RELEASE 公式仮想イメージをVirtualBox で動かす
tag: freebsd-14.3, freebsd, virtualbox, FreeBSD-14.3-for-VirtualBox
情報源の通り操作すれば動く。
以下、情報源のままなのは心苦しいが転写しておく。
■環境情報
■FreeBSD公式イメージの入手
Oracle Virtual Box でイメージを可変サイズで取り扱うため vhd イメージをダウンロードする。
xz形式の展開は7-Zipなどを使う。手元では msys2 の xz コマンドを使った。
■ディスクを仮想メディアマネージャーに追加
VirtualBox の[ファイル]→[ツール]→[仮想メディアマネージャー]で、仮想メディアマネージャーのダイアログを開き、ダウンロードした vhdファイルを[追加]ボタンで追加。
プロパティからサイズを80GBに増やす。(一度増やすと、減らせないので注意)
OS起動時に自動的にディスクサイズいっぱいまでファイルシステムを拡張するのでここでディスクサイズが決まる。
■仮想マシンの作成
VirtualBox メニューから[仮想マシン]→[新規]を選択して[仮想マシンの作成]ダイアログを表示。
を指定して、[完了]ボタンを押すと仮想マシンが作成される。
作成した仮想マシンを選択して[設定]ボタンを押下。
■起動
起動してみる。
マルチユーザーモードで起動する場合は、FreeBSDのbootメニューが表示されている10秒間の間にEnterキーを押す。(10秒待ってもいいけど)
順調ならばログインプロンプトまで進む。
ログインは root ユーザーでパスワードなしで行える。
■virtualbox-ose-additions のインストール
FreeBSD公式イメージはvirtualboxゲスト用の拡張 virtualbox-ose-additions が入っていない。
シームレスなマウス操作やウィンドウサイズに合わせたデスクトップの解像度変更、共有フォルダなどが使いたい場合はインストールする。
パッケージは以下のどちらか。
GUIをインストールしないならば -nox11 をインストールする。
virutalbox-ose-additionsのインストールはpkgコマンドを使う。以下に例を示す。
pkg install virutalbox-ose-additions
そのままだと有効にならないので、以下の操作を行い、サービスを有効化し、再起動を行う。
sysrc vboxguest_enable="YES" sysrc vboxservice_enable="YES" reboot
起動時に以下のように表示されていればサービスが開始されている。
Starting vboxservice.
■日本語キーボード設定
日本語キーボードを使用している場合は、以下の設定を行って再起動する。
sysrc keymap="jp" reboot
■ホスト名設定
必要であればホスト名を設定する。ここではfreebsd68.area54.localとした。
以下の設定を行って再起動する。
sysrc hostname="freebsd68.area54.local" reboot
■bashのインストール
pkgコマンドを使ってbashをインストールする。
pkg install bash
■rootパスワード設定
passwd コマンドで root ユーザーのパスワード変更を行う。
■一般ユーザー作成
普段使っている自分の一般ユーザー(george)とグループ(george)を追加しておく。
pwコマンドを使った作成例は以下。
# グループの作成 pw groupadd -n george -g 1001 # ユーザーの作成 pw useradd -n george -u 1001 -b /home -e 0 -p 0 -g 1001 -G operator,wheel,video -m -s /usr/local/bin/bash # コマンド実行後パスワードを聞いてくるので入力する
■一般ユーザーの秘密鍵・公開鍵作成
今は root で操作しているので、su コマンドでユーザーを切り替える。
su george cd
sshで接続するため、一般ユーザーの秘密鍵・公開鍵を生成する。 パスフレーズなし、PEM形式で生成している。
ssh-keygen -t rsa -m PEM -N "" -f ~/.ssh/id_rsa
自分の公開鍵を authorized_keys に追加しておく。
cd ~/.ssh cat id_rsa.pub >> authorized_keys cd
ユーザー george の操作は完了。exitでユーザーのシェルを終了してrootに戻る。
exit
■sshdの起動設定
FreeBSDマシンから以下のコマンドを入力して再起動。sshdが起動するようにする。
sysrc sshd_enable="YES" reboot
■一般ユーザー作成(vagrant)
vagrant用のboxイメージを前提とするセットアップスクリプトを使っている場合は、一般ユーザー(vagrant)とグループ(vagrant)を追加しておく。
pwコマンドを使った作成例は以下。
# グループの作成 pw groupadd -n vagrant -g 1002 # ユーザーの作成 pw useradd -n vagrant -u 1002 -b /home -e 0 -p 0 -g 1002 -G operator,wheel -m -s /usr/local/bin/bash # コマンド実行後パスワードを聞いてくるので入力する
■sudoインストールと設定
pkg install -y sudo
一般ユーザーからパスワード無しでrootになれる設定を入れる。
visudoコマンドで設定ファイルを編集する。以下の行を設定ファイルの最後に追加する。
george ALL=(ALL) NOPASSWD: ALL vagrant ALL=(ALL) NOPASSWD: ALL
■VirtualBox ポートフォワーディングの設定
ホストマシン:2222 から ゲストFreeBSDマシン:22 にポート転送する設定を行う。
VirtualBoxマネージャー画面の[設定]→[ネットワーク]→[ポートフォワーディング]ボタンを押下。
ポートフォワーディングルール画面にて、画面右の[+]を押下。
以下のルールを設定する。
■共有フォルダ
共有フォルダを設定するには、仮想マシン起動中のウィンドウから[デバイス]→[共有フォルダー]→[共有フォルダー設定]を選択する。
新規共有フォルダをホストのWindows側のフォルダを指定して追加。設定例を以下に示す。
ゲストの FreeBSD で以下のコマンドを入力すると、FreeBSD側では /vboxshare として Windowsのフォルダを参照することができるようになる。
mkdir -p /vboxshare mount -t vboxvfs vboxshare /vboxshare
■ゲストFreeBSDマシンの一般ユーザーの秘密鍵の持ち出し
ここでは共有フォルダ経由でゲストFreeBSDマシンのユーザーの秘密鍵を持ち出す想定とする。
持ち出し(ファイルコピー)のコマンド例を示す。
cp ~george/.ssh/id_rsa /vboxshare/freebsd68-george-privatekey.pem
■ゲストFreeBSDマシンへのssh接続
ホストマシンから以下のコマンドでssh接続ができる。
ssh -i <持ち出した秘密鍵ファイル名> george@localhost -p 2222
■VirtualBoxのコマンドラインインターフェースであるVBoxManageコマンドを使って仮想マシンの起動と電源オフ
ホストマシンの管理者権限を持つpowershellなどから以下。
${vboxmanage_vmname}には、仮想マシン作成時につけた名前を指定する。
# 仮想マシン起動 VBoxManage startvm ${vboxmanage_vmname}
# 仮想マシン電源オフ VBoxManage controlvm ${vboxmanage_vmname} acpipowerbutton
そろそろFreeBSD 14.3をインストールしたいのだがvagrantのboxがない
tag: freebsd, vagrant, freebsd-14.3, FreeBSD-14.3-for-VirtualBox
うーん。。。これは困った。。。
UbuntuとかDebianのboxも無いのでこちらも困ったな。