銀河の歴史がまた1ページ(日記)

Last Update (2026/07/19 18:26:39)
1997.09.06から数えて counter 番目のアクセスです。

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

jdiaryの新作記事ダイジェスト

2026.07.18(土) 11:43:31 X11設定編

X11設定編

tag: freebsd-15.1, freebsd, virtualbox, FreeBSD-15.1-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のスクリーンサイズを設定する

X11上のxterm上から引数なしで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 search ja-fcitx5-anthy
sudo pkg install ja-fcitx5-anthy

以下を ~/.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

}

2026.07.18(土) 11:23:21 virtualbox-ose-additions-72 をインストールする

virtualbox-ose-additions-72 をインストールする

tag: freebsd-15.1, freebsd, virtualbox, FreeBSD-15.1-for-VirtualBox, virtualbox-ose-additions

VirtualBox OSE Additions(VirtualBox Open Source Edition Additions)は、ゲストOS向けの追加ドライバ・ユーティリティ。

FreeBSDの場合は Oracle VirtualBox 公式の guest additions が提供されていないので、OSE版を利用する。

これを使うとVirtualBoxの仮想ウィンドウのサイズなどがGuest OS(FreeBSD上のX11)上で取得可能になる。

(クリップボード共有はうまくいっていない。。。)

■仮想マシンのグラフィックス設定を行う。

仮想マシンの電源オフの状態で操作する。

Oracle VirtualBox マネージャーからfreebsdの仮想マシンを選択して設定ボタン > 画面左上の高度タブを選択 > 画面左側ペインからディスプレイを選択 > グラフィックスコントローラ:VBoxSVGAを選択。(この時警告が出るが無視する)

■現在VirtualBox 7.2系を使っているので対応しているパッケージをインストールする

仮想マシン起動後の操作。

sudo bash

# パッケージの検索。細かいバージョン番号などは変動があるので毎回探す。
pkg search virtualbox-ose-additions

pkg install -y virtualbox-ose-additions-72

# 以下のコマンドを実行して、virtualbox guest addition サービスを有効にして、再起動する。
sysrc vboxguest_enable="YES"
sysrc vboxservice_enable="YES"

# 普段使うユーザーはwheelグループに所属していない場合は以下を実行
pw groupmod wheel -m george

# 再起動
reboot

■マウスボタンイベント(8と9)の無効化

virtualbox-ose-additions-72をインストールした場合、マウスホイールの操作に伴ってボタンイベント 8 9 (back/forward) が勝手に発生する。

firefox などを使ってスクロールする場合は不便なので、マウスボタンイベント 8 9 を無効化する。

sudo bash

cat > /usr/local/etc/X11/xorg.conf.d/50-mouse.conf << "EOF"
Section "InputClass"
    Identifier "Disable Mouse Button 8 9"
    MatchIsPointer "on"
    Option "ButtonMapping" "1 2 3 4 5 6 7 0 0"
EndSection
EOF

上の設定ファイルを追加後、X11を一度終了させて再度起動すると有効になる。

■余談

pkg install時に表示されるメッセージは以下。

Message from virtualbox-ose-additions-72-7.2.12.1500068:

--
VirtualBox Guest Additions are installed.

To enable and start the required services:

# sysrc vboxguest_enable="YES"
# sysrc vboxservice_enable="YES"

To start the services, restart the system.

In some situations, a panic will occur when the kernel module loads.
Having no more than one virtual CPU might mitigate the issue.

For features such as window scaling and clipboard sharing, membership of
the wheel group is required. With username "jerry" as an example:

# pw groupmod wheel -m jerry

The settings dialogue for FreeBSD guests encourages use of the VMSVGA
graphics controller. Whilst this might suit installations of FreeBSD
without a desktop environment (a common use case), it is not appropriate
where Guest Additions are installed.

Where Guest Additions are installed:

1. prefer VBoxSVGA

2. do not enable 3D acceleration (doing so will invisibly
   lose the preference for VBoxSVGA)

You may ignore the yellow alert that encourages use of VMSVGA.

2026.07.18(土) 10:46:17 portsソース取得

portsソース取得

tag: freebsd-15.1, freebsd, FreeBSD-15.1-for-VirtualBox, ports

■ 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

2026.07.01(水) 17:47:24 emacsからja-yc.elを(無理矢理)使う

emacsからja-yc.elを(無理矢理)使う

tag: freebsd-15.1, freebsd, virtualbox, FreeBSD-15.1-for-VirtualBox, emacs

割と無理矢理だけどとりあえず動いたのでメモ。

ja-yc.el パッケージの特徴は以下。

他の環境だと体験できないなんとも不思議な変換感覚になる。

yc.elの本家サイトの最終更新が2010年で、他にも色々動かない所があると思うので、あまりオススメはできないが面白いのでインストールしている。

■ パッケージのインストール。

sudo pkg install -y ja-canna-server ja-canna-lib ja-cannadic
sudo pkg install -y ja-yc.el ja-icanna

/etc/rc.confにcannaサーバ起動設定を追加。

sudo sysrc canna_enable="YES"

再起動するか、以下のコマンドでcannaサーバを起動する。

sudo service canna start

■ yc.el にパッチを適用する

■ yc.el パッチ 内容メモ

--- yc.el.orig	2026-07-11 05:02:06.000000000 +0900
+++ yc.el	2026-07-16 18:06:33.395200000 +0900
@@ -370,6 +370,10 @@
   (if (waiting-for-user-input-p)
       (put 'yc-server 'init nil)
     (signal 'yc-trap-server-down (list yc-server-host))))
+
+
+(defun process-kill-without-query (process &optional flag)
+  (set-process-query-on-exit-flag process flag))
 
 (defun yc-server-open ()
   "cannaserver との通信を開始する関数"
@@ -383,7 +387,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 +3237,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,16 +3253,18 @@
     (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));)
 
 (defun yc-exit-from-minibuffer ()
-  (inactivate-input-method)
+  (deactivate-input-method)
   (when (<= (minibuffer-depth) 1)
     (remove-hook 'minibuffer-exit-hook 'yc-exit-from-minibuffer)))
 

■ .emacsに以下を記載。

;;
;; Canna + ja-yc.el を使う
;;

;; yc-el の設定。 ycロード前に実施。デバッグ用
;;(setq yc-debug "*yc-debug*")
;;(setq debug-on-error t)

(set-language-environment "japanese")

;; 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") ; これでフェンスモードは使用可能

;; フェンスモードを使用 (フェンスモードは変換中の文字の前後を | で囲む表示を行う)
(setq yc-use-fence t)

;; yc-mode トグルするキー設定 (Ctrl - \)(yc-mode ONでは、Ctrl-Jで変換が走る)
(global-set-key "\C-\\" 'yc-mode)

;; デフォルトの日本語入力メソッドを 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 または 上の設定では Ctrl - \ として ycモードにする。

ローマ字で「nihonngo」とタイプした後に Ctrl-J を入力すると、「日本語」に変換される。

■ 以下個人的なメモ

yc.el.patch の適用方法

# rootになる
sudo bash

# ファイル名初期設定
YC_DIFF_FILE=/home/george/yc.el.patch
for i in /usr/local/share/emacs/site-lisp/yc /usr/local/share/emacs/*.*/site-lisp/yc
do
    if [ -f "$i/yc.el" ] ; then
        YC_DIR="$i"
        break
    fi
done
echo YC_DIR is $YC_DIR

# patch を適用する場合は以下を実行
if [ -d "$YC_DIR" ] ; then
    cd "$YC_DIR"
    chmod +w "$YC_DIR/yc.el"
    patch < $YC_DIFF_FILE
    /bin/rm yc.elc
    rm -rf /home/george/.emacs.d/eln-cache
    rm -rf /root/.emacs.d/eln-cache
fi

# patchを作成する場合は以下を実行
if [ -d "$YC_DIR" ] ; then
    cd "$YC_DIR"
    diff -uw yc.el.orig yc.el > $YC_DIFF_FILE
    chown george $YC_DIFF_FILE
fi

2026.06.28(日) 00:37:12 FreeBSD 15.1-RELEASE 公式仮想イメージを Oracle VirtualBox で動かす

FreeBSD 15.1-RELEASE 公式仮想イメージを Oracle VirtualBox で動かす

tag: freebsd-15.1, freebsd, virtualbox, FreeBSD-15.1-for-VirtualBox

情報源の通り操作すれば動く。

以下、情報源のままなのは心苦しいが転写しておく。

■環境情報

■FreeBSD公式イメージの入手

Oracle Virtual Box でイメージを可変サイズで取り扱うため vhd イメージをダウンロードする。

xz形式の展開は7-Zipなどを使う。手元では msys2 の xz コマンドを使った。

展開済みのvhdファイルは後でVirtualBoxで使うので以下の場所に展開して置いておく。

# コマンド例
cd $HOME
mkdir -p 'VirtualBox VMs'
cd 'VirtualBox VMs'
mkdir -p 51-virtualbox-freebsd151
cd 51-virtualbox-freebsd151
cp ~/Downloads/FreeBSD-15.1-RELEASE-amd64-zfs.vhd.xz  .
xz -d FreeBSD-15.1-RELEASE-amd64-zfs.vhd.xz 

■ディスクを仮想メディアマネージャーに追加

VirtualBox の[ファイル]→[ツール]→[メディア]を選択、ハードディスクタブを選択、[追加]ボタンで開くダイアログに上で展開したvhdファイルを指定。

追加したハードディスクを選択し、右クリック→プロパティからサイズを80GBに増やす。(一度増やすと、減らせないので注意)

OS起動時に自動的にディスクサイズいっぱいまでファイルシステムを拡張するのでここでディスクサイズが決まる。

■仮想マシンの作成

VirtualBox メニューから[仮想マシン]→[新規]を選択して[仮想マシンの作成]ダイアログを表示。

を指定。[完了]ボタンを押すと仮想マシンが作成される。

■起動

起動してみる。

VirtualBox マネージャー画面の左ペインにて仮想マシンを選択。今回の仮想マシンを選択して起動ボタンをクリック。

マルチユーザーモードで起動する場合は、FreeBSDのbootメニューが表示されている10秒間の間にEnterキーを押す。(10秒待ってもいいけど)

順調ならばログインプロンプトまで進む。

ログインは root ユーザーでパスワードなしで行える。

■日本語キーボード設定

日本語キーボードを使用している場合は、以下の設定を行って再起動する。

余談だが、 「=」は日本語キーボードでは「^」の位置、「"」は日本語キーボードでは「Shift+:」の位置に相当する。

sysrc keymap="jp"
reboot

■ホスト名設定

必要であればホスト名を設定する。ここではfreebsd51.area54.localとした。

以下の設定を行って再起動する。

sysrc hostname="freebsd51.area54.local"
reboot

■bashのインストール

pkgコマンドを使ってbashをインストールする。

pkg install -y bash

■一般ユーザー作成

普段使っている自分の一般ユーザー(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

ユーザーgeorgeのパスワードを設定しておく。

passwd george
# georgeのパスワードを入力

■一般ユーザーの秘密鍵・公開鍵作成

今は 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

■sudoインストールと設定

FreeBSDマシンから実施。

pkg install -y sudo

一般ユーザーからパスワード無しでrootになれる設定を入れる。

visudoコマンドで設定ファイルを編集する。以下の行を設定ファイルの最後に追加する。

george ALL=(ALL) NOPASSWD: ALL
vagrant ALL=(ALL) NOPASSWD: ALL

■VirtualBox ポートフォワーディングの設定

ホストマシン:2222 から ゲストFreeBSDマシン:22 にポート転送する設定を行う。

VirtualBoxマネージャー画面の[設定]→[ネットワーク]→[ポートフォワーディング]ボタンを押下。

ポートフォワーディングルール画面にて、画面右の[+]を押下。

以下のルールを設定する。

■sshでホストマシンから接続。

接続コマンド例。

ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=yes -o UserKnownHostsFile=/dev/null george@localhost -p 2222

上で設定したユーザーgeorgeのパスワードを入力するとsshログインできる。

■一般ユーザー作成(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

■ホストマシンの/etc/hostsに追加

以下の行を C:\Windows\System32\drivers\etc\hostsに追加。

127.0.0.1    freebsd51.hyperv.local  freebsd51

■ゲストFreeBSDマシンの一般ユーザーの秘密鍵の持ち出し

ここでは共有フォルダ経由でゲストFreeBSDマシンのユーザーの秘密鍵を持ち出す想定とする。

FreeBSDマシンにて、以下のコマンドで秘密鍵を表示させテキストとしてコピーしてファイルに保存する。

保存ファイル名の例:freebsd51-george-privatekey.pem

cat /home/george/.ssh/id_rsa

■ゲストFreeBSDマシンへのssh接続

ホストマシンから以下のコマンドでssh接続ができる。

ssh -i <持ち出した秘密鍵ファイル名>  -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o UserKnownHostsFile=/dev/null george@freebsd51 -p 2222

■VirtualBoxのコマンドラインインターフェースであるVBoxManageコマンドを使って仮想マシンの起動と電源オフ

ホストマシンの管理者権限を持つpowershellなどから以下。

${vboxmanage_vmname}には、仮想マシン作成時につけた名前を指定する。

# 仮想マシン起動
VBoxManage  startvm  ${vboxmanage_vmname}
# 仮想マシン電源オフ
VBoxManage  controlvm  ${vboxmanage_vmname}   acpipowerbutton

2026.06.26(金) 22:34:56 地震多すぎでは・・?

地震多すぎでは・・?

2026年6月26日 22時29分ごろ 山梨県東部・富士五湖 5.6 6弱
2026年6月26日 12時46分ごろ 千葉県北東部 5.8 4
2026年6月25日 7時30分ごろ 岩手県沖 6.9 6強

震源はそれぞれ別のようだけども

2026.06.24(水) 08:52:17 KDDIに不正アクセス最大1422万件のメール・パスワード漏洩の可能性

KDDIに不正アクセス最大1422万件のメール・パスワード漏洩の可能性

対象のISP事業者

  1. メールサービス STNet 「ピカラ光サービス」「ピカラモバイルサービス」「お仕事ピカラサービス」に係るメールサービス
  2. KDDIウェブコミュニケーションズ レンタルサーバー「CPI」のメールサービス
  3. JCOM 「J:COM NET」とケーブルテレビ事業者向けメールサービス
  4. 中部テレコミュニケーション コミュファ光・ビジネスコミュファのメールサービス
  5. ニフティ @niftyメール
  6. ビッグローブ BIGLOBEメール

結構派手に漏洩したっぽい。

既に5/29あたりには不正アクセスが増大してたらしい。 KDDIが不正アクセスを確認したのは6月17日。 ニュース発表は6/23という流れかな?

2026.06.20(土) 15:57:23 javaはコマンドラインに指定されたワイルドカードを展開してくれる

javaはコマンドラインに指定されたワイルドカードを展開してくれる

tag: jdk26, java

環境

MSYS2 george@vermeer /d/HOME/argdump $ uname -a
MSYS_NT-10.0-26200 vermeer 3.6.9-01d6c708.x86_64 2026-05-24 10:45 UTC x86_64 Msys

MSYS2 george@vermeer /d/HOME/argdump $ java -version
openjdk version "26.0.1" 2026-04-21
OpenJDK Runtime Environment Temurin-26.0.1+8 (build 26.0.1+8)
OpenJDK 64-Bit Server VM Temurin-26.0.1+8 (build 26.0.1+8, mixed mode, sharing)

MSYS2 george@vermeer /d/HOME/argdump $ gcc --version
gcc.exe (Rev5, Built by MSYS2 project) 16.1.0
Copyright (C) 2026 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

最初にカレントディレクトリに*.txtでワイルドカード展開されそうな名前でファイルを作成する

touch hoge1.txt
touch hoge2.txt

C言語でコマンドライン引数を表示するプログラムを作成して実行

cat > argdump_c.c << "EOF"
#include <stdio.h>

int main(int argc, char **argv) {
  for ( int i = 1 ; i < argc ; i++ ) {
    printf("%d : %s\n", i, argv[i]);
  }
}
EOF

gcc argdump_c.c -o argdump_c.exe

./argdump_c.exe "*.txt"

実行結果

「*.txt」のママ出力される

bashにて "*.txt" とクォートしているのでこうなる

MSYS2 george@vermeer /d/HOME/argdump $ ./argdump_c.exe "*.txt"
1 : *.txt
MSYS2 george@vermeer /d/HOME/argdump $

続いてJavaで同じくコマンドライン引数を表示するプログラムを作成して実行

cat > ArgDump.java << "EOF"
public class ArgDump {
    static public void main(String[] args) {
        for ( int i = 0 ; i < args.length ; i++ ) {
            System.out.println("" + i + " : " + args[i]);
        }
    }
}
EOF

javac ArgDump.java

java ArgDump "*.txt"

実行結果

うわ。。。

static public void main に入ってくる前に展開済みじゃねーか。。。

MSYS2 george@vermeer /d/HOME/argdump $ java ArgDump "*.txt"
0 : hoge1.txt
1 : hoge2.txt
MSYS2 george@vermeer /d/HOME/argdump $

javaで書かれたCLIコマンドのコマンドラインパラメータとしてワイルドカードを渡す路線はダメだな。。。

javaのコマンドラインオプションでワイルドカードを受け取るコマンドを作ってみたらなぜか展開されていたので調査したという次第。

2026.06.02(火) 18:30:01 明日は台風6号

明日は台風6号

関東地方の南岸をかすめるようなコースとのこと

暴風域は 6/2 09 時点で無くなったとのこと

大雨に警戒という台風かな?(場所によっては6月の最大雨量新記録が出そうな台風とのこと)

いにしえの流儀に従い水とカロリーメイト(ハーフ)を買ってきた

今日飲んだり食べたりしないようにせねばw

p.s.

大雨台風になっていた。

一応台風が過ぎてから水とカロリーメイトを食べたのでセーフ

2026.05.27(水) 11:49:42 Firefox 151.0.2にて、ディスクキャッシュが満杯になると新規キャッシュを丸ごと停止してしまう問題が修正される

Firefox 151.0.2にて、ディスクキャッシュが満杯になると新規キャッシュを丸ごと停止してしまう問題が修正される

tag: firefox

firefoxのキャッシュが一杯になるとキャッシュ動作ぜんぶやめてしまう動作にはは地味に困っていた(ディスクキャッシュを1GBに増やしたりしていたw)ので朗報

たしか Firefox 147 あたりからディスクキャッシュがバグっていたような記憶

2026.05.04(月) 21:53:13 北斗の拳リメイク版 (FIST OF THE NORTH STAR)

北斗の拳リメイク版 (FIST OF THE NORTH STAR)

tag: anime

ワーナー・ブラザース ジャパン制作らしい

原作マンガ絵をCGで力技で動かすみたいな絵作り

ストーリー展開も漫画原作に忠実

個人的にはどうしても You は Shock の方を思い出してしまうけど エンディングでカバー曲が出てきてワロタ

2026.05.01(金) 20:22:45 Ubuntuの公式サイトがDDoS攻撃を受けてダウン中

Ubuntuの公式サイトがDDoS攻撃を受けてダウン中

ええ

こんな事もあるのか

aptもエラーになるという噂もあったが 手元で試したところ 5/1 20時 JSTにはapt update成功してた

p.s. 5/6 に緩和策実施のアナウンスが出た。

2026.04.29(水) 05:46:48 ベーマガの記事

ベーマガの記事

おおう

雑誌の裏側はこんな感じだったのか

激アツじゃねーか

2026.04.26(日) 12:27:38 オレwikiのmarkdownフォーマッターちょい変更

オレwikiのmarkdownフォーマッターちょい変更

tag: wiki

numbered list の中にインデントありで pre を入れた場合、 numbered list 継続の挙動をさせるためちょっと実装変更

手順表記ではよく使う形式だが実装するとなると面倒だw

リストの末尾の閉じタグの出方が変わってしまったので生成されたHTMLはちょっと形が違うためホームページは再アップロード

p.s.

昔のusemodwikiのフォーマッターのpre - /preの正規表現をみると行の先頭にある時しか発動しないように書かれていた

当時の発想だとpreが最優先判定順位を持つ存在だったんだな

今だと pre を ol / li ブロックよりも下位の判定順位にしないとmarkdown風の動作にはならない

2026.04.25(土) 06:16:35 「LAMY safari」×「クルトガ」

「LAMY safari」×「クルトガ」

tag: 文房具

LAMY safariボディにクルトガを搭載したシャープペンが出るらしい

お値段は凄いけどw

とはいえ最近はシャープペンはほぼ使っていない

文字が薄くて読みにくいので(老眼)

お年寄りに万年筆が人気な理由がよくわかるお年頃になってきた

(ボールペンでもいいけど)万年筆ブラックインクだと老眼でもハッキリ見えるのだ

描いた紙をスキャンした時などでも万年筆ブラックインクだとハッキリと線がでるらしいので万年筆愛好家が居るらしい

万年筆入門ならPILOTのVペン(250円くらい)とかPILOTのカクノ(980円くらい)とかPILOTのライティブ(1960円くらい)をAmazonなどで買うのが良いかな

PILOTのカクノはペンケースに他のペンと一緒に入れて持ち歩くと外周に細かい擦り傷が入るのがちと難点

Vペンは剛性不足な感じがするのがちと難点

2026.04.23(木) 09:37:38 Firefox 150にて「リンクを分割ビューで開く」が追加

Firefox 150にて「リンクを分割ビューで開く」が追加

Edgeの分割表示みたいな機能が右クリックメニューから使えるようになった

「リンクを新しいウィンドウで開く」をよく使うので結構間違えるwww


Copyright(c) 1996-2026 George(小濱 純). All rights reserved.
私の作成したページへのリンクはご自由にどうぞ。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。
メール本文に 6020-5440-3372 とか私の 本名 を漢字で書いて頂くと、ウチのSPAMフィルタを通過できます。

[ホームページ] [日記] [日記ファイル一覧] [読んでいる日記] [FreeBSD] [FreeBSD LINK] [検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>
(I am using white list SPAM filter. To avoid it, please write 6020-5440-3372 in mail body. This key word is valid since 2009-06-14 until 2025-12-31.)