同じ Trixie を、ラズパイ 5 と古い ThinkPad で並べてみた——直す必要があったのは、キーボードと VNC だけ

raspberry pi

ラズパイの OS(Raspberry Pi OS)には、ふつうの PC で動く版もあるんです。しかも今はどちらも中身が Debian 13「Trixie」で、画面もそっくり。

……とは言っても、本当に同じなんでしょうか?

気になったので、手元の Raspberry Pi 5 と、前回 PC 版を入れた2011年の ThinkPad を机に並べて、同じコマンドを打ち、同じ手順で日本語入力と VNC を試してみました。

先に結論

ほとんど同じでした。画面の仕組みも、ラズパイ用の道具も、版をそろえればソフトの版番号までピッタリ同じです。

ただ、PC のほうで2か所だけハマりました。「半角/全角」キーで日本語に切り替わらない件と、VNC でつないでも画面が灰色のまま映らない件です。どちらも直し方まで確かめたので、順番に書いていきます。

ひと目でわかる、2台の「同じ」と「違う」

✔ 同じだったもの
  • 画面の仕組み(Wayland・labwc)
  • ラズパイ用の道具(raspi-config・Imager・Connect)
  • Thonny・Geany などのソフト
  • メモリ不足の備え(zram 2GB)
  • 日本語入力の入れ方(3行)
! 違ったもの
  • キーボードが US 配列で入っていた → 直した
  • VNC が灰色で映らない → 直した
  • Firefox(ラズパイ版)・RealVNC・Scratch 3 は PC では入れられない
  • 起動の速さ(約28秒と約40秒)

並べた2台 —— まずは版をそろえるところから

ラズパイPC
機械Raspberry Pi 5(メモリ 8GB)ThinkPad Edge E520(2011年ごろ・Core i5-2450M・メモリ 4GB・SSD 500GB)
入れた OSRaspberry Pi OS(2026年6月18日のイメージ)PC 版(2026年10月にインストール)
更新したあとどちらも Debian 13.7

最初に2台で同じコマンドを打ってみたら、いきなり食い違いが出ました。デスクトップを描くソフト(labwc)の版が、ラズパイは 0.9.7、PC は 0.20.2。

なんでだろう?と思ったら、単純な話で、ラズパイのほうは6月に焼いてから一度も更新していなかったんです。これでは「機械の違い」なのか「版の違い」なのか分かりません。という訳で、2台ともいったん最新にしました。

sudo apt update
sudo apt full-upgrade

更新したら、2台とも labwc 0.20.2 になりました。これでやっと同じ土俵です。

ちょっと寄り道:更新が途中で止まったように見えたら、q を押す

ラズパイの画面で更新していたら、途中で英語の「ニュース」がずらっと出て、いちばん下に : とだけ出たまま動かなくなりました。壊れたわけではなくて、お知らせを読み終わるのを待っているだけです。q を押すと閉じて、更新の続きが進みます。画面のどこにも「q を押してね」とは書いていないので、知らないと焦ります。

同じだったところ —— 画面の仕組みも、ラズパイの道具も

見たものラズパイ 5ThinkPad
画面の仕組みWayland・labwcWayland・labwc(同じ)
デスクトップの部品(rpd-wayland-core)1.351.35(同じ)
Raspberry Pi Connect(遠隔操作)2.13.02.13.0(同じ)
raspi-config・Raspberry Pi Imager・Thonny・Geany入っている入っている(同じ版)
メモリが足りないときの備えzram 2GBzram 2GB + SSD のスワップ 8.2GB
起動して落ち着いたときのメモリ約0.6GB 使用(8GB 中)約0.6GB 使用(4GB 中)

PC 版にも、ラズパイの設定ツール raspi-config がそのまま入っています。あとで出てくる直し方でも、こいつが活躍します。

ちょっと面白かったのが、PC 版にも GPIO(ラズパイのピン)やカメラ用の部品が入っていたこと。PC にはピンもカメラの差し込み口もないので、入っているだけで出番はありません。中身をそろえるために、まとめて入れているんでしょうね(ここは私の想像で、確かめてはいません)。

起動の速さ —— 電源ボタンからデスクトップまで

電源ボタンを押してから、デスクトップ(壁紙と上のバー)が出るまでを、ストップウォッチで3回ずつ測りました。

電源ボタン → デスクトップが出るまで(3回の平均くらい)

ラズパイ 5
起動
約28秒
ThinkPad
起動GRUB
約40秒

ThinkPad はそのうち5秒が GRUB(起動メニュー)の待ち時間。バーの長さは秒数に合わせています(いちばん長いバー=40秒)。

1回目2回目3回目
ラズパイ 528.8秒28.2秒28.1秒
ThinkPad39.3秒39.5秒39.9秒

ラズパイは約28秒、ThinkPad は約40秒でした。手でボタンを押して測っているので、小数点以下は誤差だと思ってください。

ThinkPad では途中で「GNU GRUB」という、どの OS を起動するか選ぶメニューが出て、何もしないと5秒待ってから進みます。PC 版だけにある待ち時間ですね。

systemd-analyze というコマンドでも起動時間が出せます。ただこれは「OS が動き出してから」の時間で、電源ボタンから OS が動き出すまで(ThinkPad なら BIOS の画面や GRUB)は入っていません。しかも ThinkPad では Wi-Fi のつながりを待つ時間が起動のたびに 5.6秒〜21.1秒とばらついて、同じ機械なのに 18.4秒の回と 33.9秒の回がありました。前回の記事に書いた「約22秒」も、こちらの数え方です。人が待っている時間に近いのは、手で測ったほうだと思います。

日本語入力 —— 手順は同じ。でも PC は「半角/全角」が効かなかった

ラズパイで日本語を打てるようにする手順は、Trixie の記事に書いたとおりです。

sudo apt install -y fcitx5-mozc fcitx5-config-qt
im-config -n fcitx5
sudo reboot

2行目には sudo を付けないのがポイントです。ThinkPad でも、この3行がそのまま通りました。im-config は最初 ThinkPad に入っていなかったんですが、1行目で一緒に入ってくれます。

よし、打ってみよう……と思ったら、「半角/全角」キーを押しても日本語に切り替わりません。

右上のキーボードのアイコンをクリックすると切り替わって、日本語も打てるんです。キーだけが効かない。なんで?

犯人はキーボードの設定でした。

$ grep XKBLAYOUT /etc/default/keyboard
XKBLAYOUT="us,jp"        ← US 配列が先になっている

ラズパイのほうは "jp" だけ。ラズパイは焼くときに Raspberry Pi Imager でキーボードを日本語にしていたんですが、PC 版は us,jp になっていました(インストールのときにどう選んだかは、記録が残っていなくて分かりません)。

「半角/全角」キーが効かなかった理由

「半角/全角」キーを押す
▼
US 配列だと
別の記号のキー(`)として読まれる
▼
日本語入力(fcitx5)に
切り替えの合図が届かない ✕
「半角/全角」キーを押す
▼
日本語配列だと
「半角/全角」として読まれる
▼
日本語入力に切り替わる ✔

US 配列で読まれたときに何のキーになるかは、配列の決まりからの読みです。

日本語配列にするのは、この1行と再起動だけです。

sudo raspi-config nonint do_configure_keyboard jp
sudo reboot

再起動したら、「半角/全角」キーだけでちゃんと日本語に切り替わりました。

Wayland 診断のお知らせ
ThinkPad で、日本語入力を入れて再起動したあとに出たお知らせ(画面を写真で撮りました)。上の「Updates are available」は、更新のお知らせです。

起動すると「Wayland 診断」というお知らせが出ます(手元では、ほぼ毎回でした)。日本語入力のソフト(fcitx5)が出しているもので、「GTK_IM_MODULE という設定が入っているけど、外して Wayland の入力の仕組みを使うのがおすすめだよ」という内容です。この設定を入れたのは、さっきの im-config です。ラズパイでも ThinkPad でも出ましたが、どちらも日本語はふつうに打てています。設定を外すとどうなるかは、まだ試していません。

VNC —— PC だと、オンにしても画面が灰色

次は VNC です。ラズパイと同じように、raspi-config で VNC をオンにしました。

sudo raspi-config nonint do_vnc 0

ラズパイなら、これで別の PC の VNC ビューアからつなげます。ThinkPad でも接続まではできました。ところが……画面が灰色のまま、何も映りません。

VNC でつないでも灰色の画面
Windows の TigerVNC から ThinkPad につないだところ。つながってはいるのに、灰色のまま何も映りません。

VNC サーバー(wayvnc)の記録を見てみると、つなぐたびに同じエラーが出ていました。

$ journalctl -u wayvnc
ERROR: ../src/buffer.c: 206: Failed to open CMA device: No such file or directory
ERROR: ../src/main.c: 1543: Failed to capture image. The source probably went away

ざっくり訳すと「CMA という装置が開けない」「画面を取り込めない」。じゃあ VNC はどうやって起動しているんだろう、と起動用のスクリプト(/usr/sbin/wayvnc-run.sh)を開いてみたら、こんな3行がありました。

if ! raspi-config nonint is_pifive ; then
    export WAYVNC_CMA=/dev/dma_heap/linux,cma
fi

「ラズパイ 5 じゃなかったら、CMA という装置を使ってね」という意味です。CMA は、ラズパイ 4 までの機械のために用意された装置のようです(スクリプトの書き方からの読みで、確かめてはいません)。

VNC が灰色になる流れ

VNC が起動する(wayvnc-run.sh)
▼
この機械は ラズパイ 5?
▼
はい(ラズパイ 5)
そのまま起動
▼
画面が映る ✔
いいえ(ThinkPad も こっち)
CMA を使うように指示される
▼
PC には CMA が無い
→ 画面を取り込めない
▼
灰色のまま ✕

ThinkPad は「ラズパイ 5 ではない」ので、ラズパイ 4 までの機械と同じ扱いになってしまいます。

つまり、ThinkPad は「ラズパイ 5 じゃない」から古いラズパイ向けの道に入って、でも PC には CMA が無いので、画面を取り込めずに灰色になっていたわけです。ラズパイ 5 はこの3行を素通りするので、ふつうに映ります。

VNC を映す —— 写しを作って、3行を消して、そっちを使う

元のスクリプトをいじるのは怖いので、写しを作って、写しのほうから3行を消して、VNC には写しを使ってもらう作戦にしました。

いじるファイルは、この3つ

元のスクリプト(触らない)/usr/sbin/wayvnc-run.sh
① 写して ② 3行を消す/usr/local/sbin/wayvnc-run-pc.sh
③「写しのほうを使って」と書く/etc/systemd/system/wayvnc.service.d/override.conf
(systemctl edit で作られます)

元のファイルには手を付けないので、あとで元に戻すのもかんたんです。

1. スクリプトを写す

sudo cp /usr/sbin/wayvnc-run.sh /usr/local/sbin/wayvnc-run-pc.sh

2. 写しから3行を消す

写したファイルを、nano(ターミナルで使うテキストエディタ)で開きます。

sudo nano /usr/local/sbin/wayvnc-run-pc.sh

開くと、次の中身が出ます。消すのは、真ん中より少し下にある「if ! raspi-config nonint is_pifive ; then」から「fi」までの3行です(下の ← の行)。

#!/bin/sh

. /etc/default/keyboard

export XDG_RUNTIME_DIR=/tmp/wayvnc
mkdir -p "$XDG_RUNTIME_DIR"

export XKB_DEFAULT_MODEL="$XKBMODEL"
export XKB_DEFAULT_LAYOUT="$XKBLAYOUT"

SELF_PID=$$

{
    while ! wayvncctl --socket=/tmp/wayvnc/wayvncctl.sock version >/dev/null 2>&1; do
        sleep 0.1
    done
    systemd-notify --ready --pid=$SELF_PID
} &

if ! raspi-config nonint is_pifive ; then          ← 消す
    export WAYVNC_CMA=/dev/dma_heap/linux,cma        ← 消す
fi                                                 ← 消す

wayvnc --detached \
    --gpu \
    --config /etc/wayvnc/config \
    --socket /tmp/wayvnc/wayvncctl.sock

nano はマウスが使えないので、キーボードだけで操作します。慣れないとちょっと戸惑いますが、使うキーは4つだけです。

  1. ↓キーで、if ! raspi-config nonint is_pifive ; then の行までカーソルを動かします。
  2. Ctrl+K を3回押します。1回押すごとに、カーソルのある行が1行ずつ消えます。3行が消えて、すぐ下の空いた行と wayvnc --detached の行が上がってきます。
  3. Ctrl+O を押すと、いちばん下に「ファイル名」と出るので、そのまま Enter。いちばん下に「○○ 行を書き込みました」と出れば保存できています。これが出ないまま閉じると、消した3行は元に戻ってしまいます。
  4. Ctrl+X で nano を閉じます。

ターミナルの窓の × で閉じないでください。実はこれ、手元でやらかしました。3行を消したあと、保存する前に窓の × で閉じてしまって、写しは元のまま(もちろん灰色のまま)。nano は、保存していない変更があるまま閉じられると、同じ場所に wayvnc-run-pc.sh.save という控えを作ります。この控えは使われないので、手順をもう一度やり直してください。

ちゃんと消えたかは、次の1行で確かめられます。何も出なければ消えています。

grep -n "is_pifive\|WAYVNC_CMA" /usr/local/sbin/wayvnc-run-pc.sh

3. VNC が写しのほうを起動するようにする

sudo systemctl edit wayvnc

編集の画面が開きます。開いた直後は、上のほうがこうなっています(英語の説明の行は ### で始まります)。

### Editing /etc/systemd/system/wayvnc.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

                                    ← ここ(空いている行)に書く

### Edits below this comment will be discarded

### /usr/lib/systemd/system/wayvnc.service
# [Unit]
# Description=VNC Server
(このあとにも # で始まる行が続きます)

2行目の英語は「ここと下の説明のあいだに書いたものが、上書きの中身になります」、4行目の英語は「この説明より下に書いたものは捨てられます」という意味です。2行目と「Edits below this comment will be discarded」の行のあいだの空いた行にカーソルを動かして、次の3行を書きます。

[Service]
ExecStart=
ExecStart=/bin/sh /usr/local/sbin/wayvnc-run-pc.sh

書いたあとは、こうなっていれば合っています。

### Editing /etc/systemd/system/wayvnc.service.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file

[Service]
ExecStart=
ExecStart=/bin/sh /usr/local/sbin/wayvnc-run-pc.sh

### Edits below this comment will be discarded

下の # で始まる行(元の設定の中身)は、見本として出ているだけです。書き換えても使われないので、触らなくて大丈夫です。

1行目の ExecStart= は、右側が空のままで合っています。これで「元の起動のしかたを、いったん消す」という意味になります。2行目で、写しのほうを起動するように書き直しています。

書けたら、nano と同じく Ctrl+O → Enter → Ctrl+X で保存して閉じます。

systemctl edit の画面
3行を書いて保存したあとの画面(もう一度開いたところ)。2本の説明の行のあいだに3行が入っています。下の # の行は元の設定の見本です。

4. VNC を起動し直す

sudo systemctl restart wayvnc

お待たせしました。これで、別の PC の VNC ビューア(私は TigerVNC を使っています)から ThinkPad の画面が映りました。再起動したあとも、ちゃんと映ります。

VNC で ThinkPad の画面が映った
同じ TigerVNC から、ThinkPad のデスクトップが映りました。

気をつけること

VNC のソフトが更新されて、元のスクリプトのほうが直ったとしても、写しは古いまま残ります。更新のあとに映らなくなったら、手順の1と2で写しを作り直してください。

元に戻したいときは、この1行です。

sudo rm -r /etc/systemd/system/wayvnc.service.d /usr/local/sbin/wayvnc-run-pc.sh && sudo systemctl daemon-reload && sudo systemctl restart wayvnc

PC では入れられないソフト

名前は同じなのに、PC 版では入れられないソフトもありました(apt で探しても候補に出てきません)。

ソフトラズパイ 5ThinkPad
Firefox(ラズパイ向けの版)入っている候補に出ない(代わりに Debian の Firefox ESR が入っている)
RealVNC のサーバー入れられる候補に出ない
Scratch 3入れられる候補に出ない
Chromiumラズパイ向けの版Debian の版(名前は同じ)

ラズパイで RealVNC を使っていた人は、PC では上で直した wayvnc を使うことになります。

結局、どっちを使えばいい?

  • ラズパイの使い方を覚えたい・練習したいなら、引き出しの古い PC で十分です。画面も道具もほとんど同じでした。日本語にするときは、キーボードの設定だけ先にチェックしてください。
  • GPIO やカメラを使いたいなら、やっぱりラズパイ本体が要ります。PC にも部品は入るけど、つなぐ場所がありません。
  • 別の部屋から操作したいなら、PC 版は VNC に一手間かかります。でも上の手順で映りました。
黄昏の戯れ

中の人

「同じ OS です」と言われると、つい何も考えずに同じ手順をなぞりたくなる。実際ほとんど同じだったけど、ハマった2か所はどっちも「ラズパイなら最初からそうなっている」ところだった。同じに見えるものほど、違うところを先に探したほうが早い。

PC 版を入れるところから知りたい人はこちら。USB メモリから起動して、日本語にして、中の SSD に入れるまで。

引き出しの古いノートPCを、ラズパイと同じ画面に

検証した環境:Raspberry Pi 5(メモリ8GB・Raspberry Pi OS 2026-06-18 のイメージから更新・カーネル 6.18.50)と、Lenovo ThinkPad Edge E520(Core i5-2450M・メモリ4GB・SSD 500GB・PC 版の Raspberry Pi OS を2026年10月9日にインストール・カーネル 6.12.113)。どちらも Debian 13.7・labwc 0.20.2・wayvnc 0.10.2 に更新して比べました。VNC ビューアは Windows 11 の TigerVNC。いずれも2026年10月17日。

タイトルとURLをコピーしました