Skip to content

Raspberry Pi OS installs excessive dependencies when enabling VNC via raspi-config #276

@sergiocntr

Description

@sergiocntr

When enabling VNC using raspi-config on Raspberry Pi OS (Bookworm), it installs several dependencies, such as realvnc-vnc-server, cups, and related packages. These packages are not required for VNC functionality and significantly increase the system footprint, especially for minimal setups.

I expect that enabling VNC through raspi-config should install only the essential packages required for the VNC server to run, without pulling in a large number of unrelated dependencies.

Steps to reproduce:

Run sudo raspi-config

Select "Interfacing Options" > "VNC" > Enable

Notice the installation of several packages, including:

  • Full cups printing stack (server, drivers, filters)

  • Fonts (Droid, Noto, URW)

  • Ghostscript, Poppler, QPDF

  • lynx, mailcap, and other unrelated CLI tools

  • Certificate packages (ssl-cert) and other auxiliary libraries

These packages may be justified in a full desktop environment, but in a headless or minimal X11 system, in my honest opinion ,they are completely unnecessary and clutter the system, adding attack surface, maintenance overhead, and wasted disk space.
I believe the packaging of realvnc-vnc-server should:

  1. Avoid pulling in unrelated dependencies (like printing software or full font suites);

  2. Be more transparent in what it will install and why;

3.Possibly offer a "minimal" variant for advanced users who know what they need;

4.Document clearly the dependencies and their necessity in the official documentation.

I’ve now removed the package and replaced it with x11vnc, which works fine and integrates cleanly with my use case — no bloat, no surprises.

I hope this feedback helps improve the experience for advanced users and those working with minimal, secure setups.

PS: It’s also worth mentioning that the VNC server doesn't even work with open-source VNC clients like TigerVNC, which is another significant issue.
This makes the experience even more frustrating, especially for users who prefer open-source tools or need compatibility across different platforms.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions