Raspberry Pi 5 に VNC で接続すると、ログイン画面でパスワードを入力しても進まない(または拒否される)といった問題があったので回避方法を調べてみました。
回避方法
Ubuntu系(特に24.04以降)ではWaylandが標準で使われているため、VNCが正しく動作しないことがあります。
そのため、「/etc/gdm3/custom.conf」 を開き、「WaylandEnable=false」 をアンコメントして再起動すると解消される場合があります。
$ cat /etc/gdm3/custom.conf # GDM configuration storage # # See /usr/share/gdm/gdm.schemas for a list of available options. [daemon] AutomaticLoginEnable=true AutomaticLogin=test # Uncomment the line below to force the login screen to use Xorg WaylandEnable=false # Enabling automatic login # Enabling timed login # TimedLoginEnable = true # TimedLogin = user1 # TimedLoginDelay = 10 [security] [xdmcp] [chooser] [debug] # Uncomment the line below to turn on debugging # More verbose logs # Additionally lets the X server dump core if it crashes #Enable=true
Wayland について
Ubuntu(特に22.04以降、24.04ではデフォルト)では、Wayland という新しいディスプレイサーバプロトコルが使われています。これは従来の X11(Xorg) の代替として設計されていますが、VNC などのリモートデスクトップツールとの相性がまだ悪いことがあります。
Wayland を使用していると起こるVNCの問題
症状
- VNC接続はできるが黒い画面が表示される。
- ログイン画面で止まる/マウスカーソルしか見えない。
- キーボード入力や画面更新が反映されない。
- 特定のVNCサーバ(x11vncなど)が正常に起動しない。
なぜこうなるのか?
Wayland の制限が関係している可能性があります。
- Wayland はセキュリティ強化のため、外部プログラムからの「画面キャプチャ」や「キーボード入力の取得」を制限しています。
- VNC ソフトはこれらに依存しており、X11と同じ方法での画面共有ができないようです。