Raspberry Pi OS Lite with GUI, RDP, VNC, Chromium


Updated 2025-10-02 !

I like the Raspberry Pi(RPi), with Raspberry Pi OS Lite (no Desktop is included), headless operation, and then adding the software You need. Until now I haven't had a use case where I needed a Desktop but now was time. 

Why don't use the Raspberry Pi OS with Desktop ?? In that package there is a lot of software I don't need and I really want to optimize the RPi. I think that the less software You install the happier RPi will be...
😉

So after some Googling inspired from this guide I came up with the following setup.

Prerequisites
Start up with a fresh Raspberry PI OS Lite installation, and don't forget to update with 
sudo apt update && sudo apt full-upgrade -y && sudo apt clean

Adding Desktop/GUI
Standard
Before Bookworm Pixel was the standard RPi desktop but it changed to Wayland.
Both variants are installed, depending on your RPi OS, using the same command
sudo apt install raspberrypi-ui-mods

Trixie generated some errors with the above command so "how to" can be found here.
Minimal install "sudo apt install rpd-wayland-core && sudo apt install rpd-theme && sudo apt install rpd-preferences"

Adding packages
Now when you have your Desktop installed some additional packages can be installed via "Menu  => Preferences => Recommended Software"

Other variants
"tasksel" is the easiest way to install other Desktops and some other software. List which packages are available with "tasksel --list-tasks". Then  "sudo tasksel". If it's not installed use "sudo apt install tasksel".

Synaptic Package Manager
In this post we use the "apt" command to install packages but there is a GUI available for all the "apt" commands "Synaptic Package Manager(SPM)". Install with
sudo apt install synaptic

Remote access
Wayvnc
There is a new VNC server which is installed together with Wayland. If not the command is 
sudo apt install wayvnc and then setup. The client could use RealVNC® Viewer.

The recommended RPi VNC client is TigerVNC with binaries.

VNC(Before Bookworm)
You have to install the software for the VNC server and the easiest way is to use 
sudo raspi-config
and then in the menu
3 Interface Options
    P3 VNC
2 Display Options
    D1 Resolution
        DMT Mode 16

For Bullseye 
D5 VNC Resolution
Finish and reboot
Please note that two systemd services are initiated via 
vncserver-x11-serviced.service
vncserver-virtuald.service    

Access the RPi with VNC Viewer from Your PC/Mac/Phone.

RDP(Bookworm and newer)
If You want o use RDP instead, more lightweight than VNC, install the following server software
sudo apt-get install xrdp
Please note that two systemd services are initiated via
xrdp-sesman.service

xrdp.service


Then install the RDP on your client. I prefer the Microsoft package which works well on both PC/Mac/iPad/iPhone

Issue with RDP and GUI:s(Bookworm) 
It could be that when using the below browsers or some other application, could be OpenCPN, there will be a garbled interface. I solved the problem with option 2 here.

sudo adduser xrdp ssl-cert

sudo nano /etc/X11/xrdp/xorg.conf => change to "Option "DRMDevice""

sudo reboot


Add WEB-browser ?
Chromium
Install the default browser with 
sudo apt install chromium-browser --yes
Chromium is an open source variant of Google Chrome and doesn't support sync with a Google account. But as always there is a workaround ..... 😎
Install Pi-Apps and then search for and install "better chromium". At the setup tick the box for "Enable Google Sync".

Firefox(Smaller footprint compared to Chrome)
sudo apt install firefox

SD Card Copier
Install with 

sudo apt install piclone
or use the command line one

Remote access from outside
The "native" method is using Raspberry Pi Connect.

A really nice software solution for http, ssh, vnc, rdp, SAMBA.... is remote.it  Quick installation is found here.

Another way is to create a VPN network with ZeroTier. It's very easy and free !!

System information tool
A nice light weight app, text interface, to get info about the system is Archey. Install the latest release with
wget https://github.com/HorlogeSkynet/archey4/releases/download/v4.14.3.0/archey4_4.14.3.0-2_all.deb

sudo apt install ./archey4_4.14.3.0-2_all.deb


Remark
If using Stretch delete the following package (In Buster and later it is not installed)
sudo apt-get purge xserver-xorg-legacy
Seems to be a problem with Bullseye ?

Comments

  1. unfortunatley sudo apt-get install raspberrypi-ui-mods does not work on my rpi i get the error massage unable to locate package raspberry-ui-mods. i tried sudo apt-get install raspberrypi-gui-mods but that gives the same result.
    what did I do wrong?

    ReplyDelete
  2. Thanks for this. I set up my Pi4 as a NAS and wanted to keep it completely headless but trying to move files around drives via the terminal was getting old, quick. Using samba file browsers on other systems was slow and often failed. Now I can use vnc to control my pi with the familiar interface.

    ReplyDelete
  3. Hi, I followed all the instructions, but when I try connecting from my PC using realvnc client, the mouse cursor spins for a moment and nothing happens. No error messages or anything.
    I'm running the client on Win10 Pro, and vnc server is on an rpi zero W

    ReplyDelete
    Replies
    1. Hi, since "ssh" seems to work, check the log with "cat /var/log/syslog". Another approach is to use RDP instead or just connect mouse/keyboard/screen to the Zero, and troubleshoot from there.

      Delete
  4. After logging on to the RPi, Pixel is installed with

    "sudo apt install raspberrypi-ui-mods"

    ...Do not forget that you need "sudo apt install xinit" in order to get startx command needed to start pixel

    ReplyDelete
    Replies
    1. Thanks for your feedback, but "xinit" is by default installed via "raspberrypi-ui-mods". Just tested with Bullseye.

      Delete
    2. I am on Buster (reverted to that because of possible compatibility problems with the RTL-SDR stick I was using) I reinstalled raspberrypi-ui-mods but startx would not work until I installed xinit properly.

      Delete
    3. OK, not a "standard" installation ! ;-)

      Delete
    4. Yes, I had tried everything else, but in the end it was a hardware problem. I learned a lot but had to give up.

      Delete
    5. Sorry guy but you must apt install xinit, i have a new fresh install of raspberry OS lite, and the startX is not installed with raspberrypi-ui-mods

      Delete
  5. ..and piclone needs to be started with:
    "sudo dbus-launch piclone"

    ReplyDelete
    Replies
    1. Thanks for your feedback. I start "SD card copier" from the Application menu. Just tested with Bullseye.

      Delete
    2. Yes, normally so do I now that the gui is running.. it's just that at that point in the instructions it seemed useful to have a way of kicking off a backup from the console to save everything done up to that point. :-)

      Delete
    3. OK then I understand, but it doesn't work with "ssh", using headless, so I really recommend https://pysselilivet.blogspot.com/2017/11/rpi-clone-raspberry-boot-disk.html

      Delete
  6. Yes, thanks for your great work here. I only wish I had had more luck with the hardware :-)

    ReplyDelete
  7. This article is a gem! I appreciate the detailed research you put into it. It’s refreshing to see such thoroughness!

    ReplyDelete

Post a Comment

Feel free to leave a comment ! ... but due to a lot of spam comments I have to moderate them. Will reply ASAP !

Popular posts, last 30 days

iCloud drive sync, or mount, with a Linux, Ubuntu, device

Installing Ubuntu 24.04 or 24.10/25.04 on an old MacBook Air(2011)

Home Assistant with VirtualBox or Proxmox or Linux KVM ???

NetworkManager UI and access point, hotspot

Raspberry Pi 2, 3, 4, 5 USB SSD or USB drive boot

IVT, Bosch heat pump easy integration, Home Assistant

Clone the Raspberry boot disk

Waveshare CAN hat with Signal K & OpenPlotter

Victron VE.Direct with Raspberry Pi/Signal K