お知らせ

現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。

Amazonや公式サイトにある情報が本当に正しいとは限らないので実地検分。

やり方

# これでCPUの情報が取れる
cat /proc/cpuinfo

# これでメモリの情報が取れる
opkg install dmidecode
dmidecode -t 17

# これでCPU, NICの情報が取れる
opkg install hwinfo
hwinfo

# これでeMMCのベンダ情報が取れる
cat /sys/class/mmc_host/mmc0/mmc0:0001/name
cat /sys/class/mmc_host/mmc0/mmc0:0001/manfid

調査ログ

CPU

cat /proc/cpuinfoの結果から取得した情報。

model name : Intel(R) Celeron(R) N5105 @ 2.00GHz

メモリ

dmidecode -t 17の結果から取得した情報。

MicronのLPDDR4でDDR4-3200相当であるとわかる。

Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 2

Memory Device
Array Handle: 0x003A
Size: 4 GB
Form Factor: Row Of Chips
Locator: Controller0-ChannelA
Type: LPDDR4
Speed: 3200 MT/s
Manufacturer: Micron Technology

NIC(RJ45)

hwinfoの結果から取得した情報。

pci 0x125cはI226-VなのでIntel Ethernet controller I226-V

Hardware Class: network
Model: "Intel Ethernet controller"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x125c
SubVendor: pci 0x8086 "Intel Corporation"
SubDevice: pci 0x0000
Revision: 0x04
Driver: "igc"
Driver Modules: "igc"
Device File: eth2

NIC(SPF+)

以前分解したときのラベルと、hwinfoの結果から取得した以下の情報と突き合わせるとMellanox ConnectX-3 En10*2 Gigabit Ethernet CX341Aであることが分かる。

Hardware Class: network
Model: "Mellanox MT27500 Family [ConnectX-3]"
Vendor: pci 0x15b3 "Mellanox Technologies"
Device: pci 0x1003 "MT27500 Family [ConnectX-3]"
SubVendor: pci 0x15b3 "Mellanox Technologies"
SubDevice: pci 0x0113
Driver: "mlx4_core"
Driver Modules: "mlx4_core"
Device File: eth3

ストレージ(eMMC)

以下の結果から、name: SCA128, manfid: 0x0000dfであることから、メーカー不詳のSCA128という製品であることが分かる。ググってもメーカー情報は不明だった。

cat /sys/class/mmc_host/mmc0/mmc0:0001/name
cat /sys/class/mmc_host/mmc0/mmc0:0001/manfid

まとめ

公式サイト?の情報やAmazonの情報と比べると微妙に差異があり、また、書いてない情報も取れたので調べてよかったなと思った。

構成 製品 備考
CPU Intel Celeron N5105 6T6C, 2.00GHz, TDP10W
MEM Micron LPDDR4-3200 4GB * 2
Storage SCA128 128G EMMC
NIC Intel Ethernet controller I226-V RJ45 2.5GbE * 3
NIC Mellanox ConnectX-3 En10*2 Gigabit Ethernet CX341A SPF+ 10GbE * 2

Ubuntu 24.04.3 LTSのxrdpはバグがあり、セッション管理が不安定らしいのでバージョンを上げて解決する。

事象

Windowsのリモートデスクトップから接続すると、xrdpのログイン後に画面が真っ暗になっており、毎回pkill gnome-sessionを余儀なくされ面倒だった。

~/.xsession-errorsを開くと、無限にこのログが出ていた。

(tracker-extract-3:5784): GLib-GIO-WARNING **: 08:39:48.131: Error creating IO channel for /proc/self/mountinfo: 無効な引数です (g-io-error-quark, 13)
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".

確認環境

GNOMEはxrdp的にあまりよろしくないらしいので、ついでにxfceに変えてしまった方がいい可能性がある。変える場合はUbuntu 24.04.3 LTSをGNOMEからXfceに移行するを参考にする。

Env Ver
ディストリ Ubuntu 24.04.3 LTS
デスクトップ環境 xfce 4.18
更新前 xrdp 0.9.24-4
更新後 xrdp 0.10.4.1 + lightdm 1.30.0

やり方

公式マニュアルに忠実にやっていく。

xrdpの依存環境のインストール

sudo apt purge xrdp

wget https://raw.githubusercontent.com/neutrinolabs/xrdp/refs/tags/v0.10.4.1/scripts/install_xrdp_build_dependencies_with_apt.sh
chmod +x install_xrdp_build_dependencies_with_apt.sh
sudo ./install_xrdp_build_dependencies_with_apt.sh max

xrdpのビルドとインストール

wget https://github.com/neutrinolabs/xrdp/releases/download/v0.10.4.1/xrdp-0.10.4.1.tar.gz
tar xvzf xrdp-0.10.4.1.tar.gz
mv xrdp-0.10.4.1 xrdp
cd xrdp
https://raw.githubusercontent.com/neutrinolabs/xrdp/refs/tags/v0.10.3/scripts/install_xrdp_build_dependencies_with_apt.sh

./bootstrap
./configure --with-systemdsystemunitdir=/usr/lib/systemd/system \
    --enable-ibus --enable-ipv6 --enable-jpeg --enable-fuse --enable-mp3lame \
    --enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter \
    --enable-pixman --enable-utmp -with-imlib2 --with-freetype2 \
    --enable-tests --enable-x264 --enable-openh264 --enable-vsock
make

sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin

sudo adduser --system --group --no-create-home --disabled-password --disabled-login --home /run/xrdp xrdp

実行環境の整備

  1. /etc/xrdp/xrdp.iniを開き以下の行のコメントを外す
    runtime_user=xrdp
    runtime_group=xrdp
    
  2. /etc/xrdp/sesman.iniを開き以下の行のコメントを外す
    SessionSockdirGroup=xrdp
    
  3. 証明書を作成する

    sudo chmod 640 /etc/xrdp/rsakeys.ini
    sudo chown root:xrdp /etc/xrdp/rsakeys.ini
    
    sudo make-ssl-cert generate-default-snakeoil
    sudo ln -sf /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/xrdp/cert.pem
    sudo ln -sf /etc/ssl/private/ssl-cert-snakeoil.key /etc/xrdp/key.pem
    sudo usermod -a -G ssl-cert xrdp
    
  4. 以下を叩いて全部OKなのを確認
    sudo /usr/local/share/xrdp/xrdp-chkpriv
    
  5. サービスの有効化
    sudo systemctl enable --now xrdp xrdp-sesman
    

xorgxrdpのビルドとインストール

XをRDP用に差し替えるxrdpのバックエンドシステムらしい?

  1. ビルドとインストール
    # scripts/install_xorgxrdp_build_dependencies_with_apt.shがないのでビルド時にエラーになった分を入れている
    sudo apt install xserver-xorg-dev libgbm-dev libepoxy-dev
    ./bootstrap
    ./configure --enable-glamor
    make
    sudo make install
    
  2. /etc/xrdp/sesman.iniを開き以下のように書き換える
    ;param=Xorg
    param=/usr/lib/xorg/Xorg
    

ゴミ掃除と最後の設定

rm -Rf xorgxrdp xrdp xorgxrdp-0.10.4.tar.gz install_xrdp_build_dependencies_with_apt.sh xrdp-0.10.4.1.tar.gz

# GNOMEなどxfceでない場合は適宜書き換える
echo "startxfce4" > ~/.xsessionrc

トラブルシューティング

Authentication is required to create a color managed deviceというダイアログが何度も出る

Ubuntu 24からpolkitのバージョンが上がっているようで、従来の手段が通じなくなっている。

  1. /etc/polkit-1/localauthority/50-local.dにcolorが付いたファイルがあれば中身を確認し、関係ありそうな場合削除する
    • この設定ファイルは古く使われていないはずだが念のため消す
  2. /etc/polkit-1/localauthority.conf.d/02-allow-colord.confがなければ作成し、以下の内容を記述
    polkit.addRule(function(action, subject) {
    if (action.id.startsWith('org.freedesktop.color-manager')) {
        return polkit.Result.YES;
    }
    });
    
  3. sudo service polkit restartでpolkitを再起動する

この作業をしても起動直後だけは出るので、キャンセル連打で無視すると良い。二回目以降は出なくなるはずだ。

あとがき

アップデートするとxrdpのロゴが洗練されたスタイルに変わった。今までは結構古臭かったように思う。

GNOMEは重いのでXfceに変更する。

XfceはDebianに昔あった懐かしいUIで劇的に軽くなった。

環境

Ubuntu 24.04.3 LTS

やり方

XfceのインストールとGNOMEの削除

sudo apt install xubuntu-desktop
sudo apt remove ubuntu-gnome-desktop gnome-shell
sudo apt purge ubuntu-gnome-desktop gnome-shell
sudo apt autoremove

xrdpのXfce化

echo "startxfce4" > ~/.xsessionrc

トラブルシューティング

日本語入力が出来ない

右上のタスクバーにある「JA」をクリックして「mozc」に変更すると「全角/半角」キーが使えるようになり、日本語入力が可能になる。

タスクバーを上から下に移動する

タスクバーを右クリック→パネル→パネルの設定で固定解除するとハンドルが出るのでドラッグしてもっかい固定するといい。

デフォだとパネル2がドックとしてあるが、邪魔なので消す。

前回2024/01/25に更新したサーバー機(サブマシン)だったが、今回サーバーとして運用することになったのと、将来的に10GbEを導入した時の投資としてネットワークスペックを上げるなどを目的とし、更新を実施した。

更新前後の構成

POST時にメモリエラーが出るので近日中にメモリは交換予定だ。幸い相性保険に入っていたので追加費用は出ない見込み。

構成 製品 更新後
OS Ubuntu 24.04.3 LTS 変更なし
CPU AMD Ryzen 5 5600G AMD Ryzen 5 8500G
MEM CFD W4U2666CS-16G crucial CP2K16G60C36U5W
M/B ASRock A520M-ITX/ac ASRock B850I Lightning WiFi
CPU Cooler Cooler Master Hyper H412R Cooler Master Hyper 411 Nano RR-H410-25PK-R1
PSU SILVERSTONE SST-ST30SF-V2 変更なし
Primary SSD Crucial P1 CT500P1SSD8JP 変更なし
Case Thermaltake Core V1 変更なし
Front Fan Thermaltake Pure 20 変更なし

主な更新理由

  • マザボ更新によるNICの高速化
    • 1Gbpsを2.5Gbpsに上げることにより将来の高速化に備える
    • メインマシンが2.5GbpsなのでLAN内速度の向上
  • SocketAM5への移行
    • 今後新たにCPUを買うときに発生するコストの痛みを余裕のある今のうちに吸収
  • DDR5への移行
    • もうDDR4とかオワコンですしお寿司…

開封の儀

買ったもの。全部神戸市内で購入。というかメインマシン更新時と同じくソフマップで買ってきた。ここにしかITXマザーがなさそうだったのが理由だ。

メモリがやけにゲーミングだが、他が売り切れていたので仕方がなくこれにした。

この時はまだCPUクーラーが適合しないとは夢にも思っていなかった。何故ならAM4とAM5はCPUブラケットに互換性があるとされていたからだ。

マザボ

箱の中身。WiFiのアンテナや、温度センサ、M2SSDネジ、ケーブルバンド、SATAケーブル辺りがあった。写真には写っていないがASRockのデカいシールも入っていた。

表面。CPUソケットの主張が激しい。

AM5からはLGAに変わっているためマザボ側にトゲが生えている。ピン折れリスクの観点からPGAの方が好きだったので残念だ。

とはいえ、PGAは面積当たりのピン数の制約が強いのでスペックアップのためには仕方ないだろう。面積当たりのピン数はLGAの方が有利だろうし。

裏面。裏面NVMeスロットが復活していた。これはA320M-ITXにはあったけどA520M-ITX/acではなくなっていた要素だ。

恐らくNVMeスロットを2つにする上で仕方がなかったのだろう。確かASUSも裏面に実装していたと思う。

CPUバックプレートを差し込もうとしたところ、なんと入らなかった。寸法は同じだったが穴のサイズが合っていなかった。

更に言うとバックプレートが剥がせなくなっていた。マザーボードに完全に貼り付けてあった。

側面。2.5Gの文字がまぶしい。今回最大の目的はこれである。

CPU

右が今回買った方で、左が今まで使ってた方。なんか見た目がかっこよくなっていた。

PGAからLGAに変わった関係で背が低くなっている。ソケットアサイン用の窪みが出来た関係もあると思うが、接点の密度は左程増えていないようにも見える。むしろ減っていても不思議がない。

CPUクーラー

まさか手持ちのが使えないとは思ってなかったので、組み立て作業はこれが届くまで一時停止する。

こちらは入手困難であったため、Amazonで調達した。17時ごろに見たら翌朝配送と書かれており、私はこの時、映画を見るスケジュールで埋まっていて当日中に手に入れる手立てがなかったからだ。

翌日12時半に到着して、無事パーツを組むことが出来るようになった。エアフローをサイドフロー型向けに最適化しておきたいので、このパーツは外せなかった。なんか微妙な奴ならソフマップにもあったのだが、微妙なのは使いたくなかった。こういうものには納得が必要だ。

付属品はファンとヒートシンクにIntel用のバックパネルとリテンションキット、CPUグリス、マニュアルなどだった。

AMDのバックパネルがないのが気になったが、そのまま挿すことが出来た。これは賢いなぁと思ったが、メーカーごとに自由なバックプレートを作れないのは差別化要素を失わさせる要因にもなるため、Intelの方が多様性に資するなとは思った。

ファンの新旧比較。左が新しい方、右が古い方。新しい方が風量があり、やや五月蠅かった。古い方は風量がやや少ない代わりに静かだった。

ヒートシンクの新旧比較。銀色が古い方、黒色が新しい方。

違いとしては、まず色が違うほか、台座のヒートシンクが小さくなっているのと、台座の高さも減っていた。

また、若干ヒートシンクの角が削れており、これはドライバーでネジを占めるときのクリアランスとして便利だった。以前はヒートシンクが削れていたのでイマイチだった。

グリスはCoolerMasterのコーポレートカラーだったが、なんかキモいので拭き取って忘れることにした。実際にはNoctuaのグリスを塗った。

組み立て後

中身。ヒートシンク付きのごついゲーミングメモリが目立つが、以前と比べ黒くなった。大体CPUクーラーのせい。

外観。ぶっちゃけ変わる要素がないので、ほぼ変わっていない。変化としてはシールが増えているところだ。しかし今回はRADEONのシールがなかったので、Ryzenのシールのみとなり、シールの枚数が奇数になってしまった。

左から右にシールを増やしているが、Athlonのシールがあるマシンもそうそうなさそうなので、結構独特な存在だと思っている。

あとがき

今回の更新作業は予期せぬトラブルで自宅サーバーが予想外長時間止まってしまった。本来は16時開始17時終了でサーバーを再開する予定が、CPUクーラー手配の関係などで翌日15時まで、ずれ込んでしまった。まぁ、こういうのも、また自宅サーバーの醍醐味だろうという気はするので、特に気にしてはいないし、むしろ停止中にメンテ画面に切り替えるためのDNS変更スクリプトとかは作っておいた方がいいだろうなという気付きを得られたりもした。

またPOST時に長音ビープが3回鳴る事象が起きているが、色々抜き差しして確認したところ、モニタが刺さっていないと3回の長音ビープが鳴るようだ。このことはマニュアルには書かれておらず、ASRock公式でBEEPを調べても、3回はメモリエラーとあるので謎だ。

検証用に別のメモリ(CDF W5U5200CS-16G)を調達してきたが、そちらでも再現した。どうもASRockのマザボはAMDCPUとメモリの相性に問題があるようでBIOSの更新をし3.30から3.40に上げたものの、特に改善は見られなかった。どうしても気になる場合はダミーのHDMIを挿しておくと改善するかもしれない。

ひとまず本質的なスペックとしてはさして上がっていないと思われるが、拡張性で言えばマザボのスペックが最新鋭になり、ストレージスロットがやや増えているのもあり、将来的な拡張には耐えてくれるだろうし、この規模の更新は当面しなくて済むだろう。このベーススペックで5年、あるいはそれ以上持つことを期待したいところだ。

ただ、このマザーボードを使ってCPU(Ryzen 7 9800X3D)が壊れたとか、不具合系の話もまことしやかに聞くのでやや心配だが見守っていきたい。

2025/08/30 12:09 ジャンル::サイト運営

adiary組み込みのLightbox2で画像をズームできないことに不満があり、代替を探していてFancyboxという非常に素晴らしい画像スライドツールを見つけたのだが、なんと有料で頭を抱えてしまった。

そこで何とかして無料で同等の機能を実現する方法がないか調べてみた。結論としてはFancybox v3.5.7を使えばよい。

欲しいもの

  • 複数ギャラリー対応
  • ギャラリーグループの識別が要素単位で可能
    • 親タグでグループ化する方式はNG
  • ドラッグ・スワイプで前後の画像に切り替えられる
  • 違和感なく前後の画像に切り替えられる
    • Mastodonみたいに切り替えしようとして閉じない
    • UIがガタついて戻ってきたりしない
  • キーボード操作をサポート
  • 画面サイズより小さい画像は原寸表示
  • 画面サイズより大きい画像はアスペクト比を保って縮小
  • 縮小した画像をクリック・タップすると拡大・縮小
  • 拡大してはみ出た画像をドラッグ可能
  • 拡大した画像をドラッグした時に画面から逸脱しない
  • 自動でキャプションが出せる
  • 非商用利用であれば無料
  • 力業で再現させるようなコードが不要

ライブラリ別まとめ

凡例
✅:要件を完全に満たす
⚠️:要件は満たさないが、類似機能がある
❌:要件を満たさない
➖:調べていない

基本的に設定を書くだけか、簡単なスクリプトで実現できるもののみ要件を満たすものとして定義している。また明らかに機能不足で興味が余り湧かなかったものは深く調べていないので情報が間違っている可能性がある。

機能 Lightbox2 GLightbox PhotoSwipe Viewer.js Spotlight.js lightGallery Fancybox v6 Fancybox v3.5.7
クリック・タップで拡大・縮小 ⚠️
複数ギャラリー対応
ギャラリーの識別が要素単位で可能
ドラッグ・スワイプで前後の画像に切り替えられる
違和感なく前後の画像に切り替えられる
キーボード操作のサポート
画面サイズより小さい画像は原寸表示
画面サイズより大きい画像はアスペクト比を保って縮小
拡大してはみ出た画像をドラッグ可能
拡大した画像をドラッグした時に画面から逸脱しない
自動でキャプションが出せる ⚠️
非商用利用無料
複雑なコードが不要 ⚠️

各ライブラリを触ってみた雑感

Lightbox2

拡大機能がないため論外。

GLightbox

画像を開いてからウィンドウを縮小したときにズームできないのが最大の難点。またこのブログに埋め込んだ時、ドラッグで画像を左右に送ろうとしたら妙なガタツキが見られた。

また画像をドラッグすると画面外まで飛んでいくのも、あまり良くない。

理想 現実

他にもUIがカスタマイズ可能なのはいいが、逆に面倒である。

PhotoSwipe

全体的にコールバック関数にフックして自前で実装する要素が色濃く、実装の手間が甚大にかかる。

Lightbox2にあるようなdata-lightbox=<gallary-id>を使ったギャラリーのグループ化が困難で、フルスクラッチでコードを書く必要があるが、Claude Opus 4.1とGPT-5に書かせて上手く行かなかったので諦めた。

lightGallery

一見するとよさそうだが、有料なので論外。

画像切り替え時にロードが入ることや、ドキュメントが読みづらく何が出来るのかイマイチ判らなかったのもマイナス。

Viewer.js

UIが独特的過ぎてみた瞬間論外だったが一応…。

PCではクリック・ドラッグで画像送りできないのがマイナスで、スマホではタップ・スワイプで可能という新しいアプローチが採用されており、開いた画像は画面内のどこにも自在配置できる機能もあった。

要するに完全に要件外だった。

Spotlight.js

アスペクト比によって画像が見切れるほか、小さい画像が全画面表示されて見づらかった。