Add GUI to Raspberry Pi OS Lite

Raspberry Pi Logo

Add GUI to Raspberry Pi OS Lite
How to install a Desktop Environment. This write up shows you how to install a graphical user interface GUI on-top of a Raspberry Pi OS Lite installation. You can install one of five different GUI environments Pixel, Mate, KDE, LXDE or XFCE.

Pi Zero W

Raspberry Pi OS is available as 3 options

  • Raspberry Pi OS with desktop and recommended software
  • Raspberry Pi OS with desktop
  • Raspberry Pi OS Lite

If you have set up & restarted your Raspberry Pi OS Lite only to relies you need a GUI.
Follow the steps below

Update & Reboot

sudo apt update && sudo apt upgrade && sudo apt dist-upgrade && sudo reboot

Install Xorg

Xorg is the Linux Systems display server.

sudo apt install xserver-xorg -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
libegl-mesa0 libegl1 libegl1-mesa libevdev2 libgbm1 libgudev-1.0-0 libinput-bin libinput10 libmtdev1 libpciaccess0 libunwind8 libwacom-bin libwacom-common libwacom2 libwayland-server0 libxcb-xfixes0
libxfont2 libxkbfile1 x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom
xserver-xorg-legacy xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-nouveau xserver-xorg-video-radeon xserver-xorg-video-vesa
Suggested packages:
xfonts-100dpi | xfonts-75dpi xfonts-scalable xinput firmware-amd-graphics xserver-xorg-video-r128 xserver-xorg-video-mach64
The following NEW packages will be installed:
libegl-mesa0 libegl1 libegl1-mesa libevdev2 libgbm1 libgudev-1.0-0 libinput-bin libinput10 libmtdev1 libpciaccess0 libunwind8 libwacom-bin libwacom-common libwacom2 libwayland-server0 libxcb-xfixes0
libxfont2 libxkbfile1 x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom
xserver-xorg-legacy xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-nouveau xserver-xorg-video-radeon xserver-xorg-video-vesa
0 upgraded, 36 newly installed, 0 to remove and 0 not upgraded.
Need to get 17.0 MB of archives.
After this operation, 24.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Do you want to continue? [Y/n] y
Get:1 http://archive.raspberrypi.org/debian buster/main armhf libgbm1 armhf 19.3.2-1~bpo10+1~rpt4 [67.2 kB]
Get:2 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libwayland-server0 armhf 1.16.0-1 [26.0 kB]
Get:3 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libxcb-xfixes0 armhf 1.13.1-2 [103 kB]                   
Get:4 http://archive.raspberrypi.org/debian buster/main armhf libegl-mesa0 armhf 19.3.2-1~bpo10+1~rpt4 [120 kB]       
Get:5 http://archive.raspberrypi.org/debian buster/main armhf libegl1 armhf 1.3.0-7~bpo10+1 [28.5 kB]                               
Get:6 http://archive.raspberrypi.org/debian buster/main armhf libegl1-mesa armhf 19.3.2-1~bpo10+1~rpt4 [49.4 kB]
Get:7 http://archive.raspberrypi.org/debian buster/main armhf xserver-common all 2:1.20.4-1+rpt3+deb10u3 [2,235 kB]
Get:8 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libevdev2 armhf 1.6.0+dfsg-1 [24.9 kB]
Get:9 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libgudev-1.0-0 armhf 232-2+rpi1 [11.8 kB]              
Get:10 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libwacom-common all 0.32-1 [39.1 kB]                          
Get:11 http://archive.raspberrypi.org/debian buster/main armhf xserver-xorg-core armhf 2:1.20.4-1+rpt3+deb10u3 [3,280 kB]                     
Get:12 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libwacom2 armhf 0.32-1 [16.1 kB]
Get:13 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libinput-bin armhf 1.12.6-2+deb10u1 [16.5 kB]               
Get:14 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libmtdev1 armhf 1.1.5-1+b2 [21.2 kB]                             
Get:15 http://archive.raspberrypi.org/debian buster/main armhf xserver-xorg-legacy armhf 2:1.20.4-1+rpt3+deb10u3 [2,240 kB]                
Get:16 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libinput10 armhf 1.12.6-2+deb10u1 [90.7 kB]                                                                                 
Get:17 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libpciaccess0 armhf 0.14-1 [51.0 kB]                                                                                        
Get:18 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libunwind8 armhf 1.2.1-10~deb10u1 [47.1 kB]                                                                                 
Get:19 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libwacom-bin armhf 0.32-1 [6,528 B]                                                                                         
Get:20 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libxfont2 armhf 1:2.0.3-1 [120 kB]                                                                                          
Get:21 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf libxkbfile1 armhf 1:1.0.9-2 [65.4 kB]                                                                                       
Get:22 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf x11-xkb-utils armhf 7.7+4 [138 kB]                                                                                          
Get:23 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xfonts-encodings all 1:1.0.4-2 [574 kB]                                                                                     
Get:24 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xfonts-utils armhf 1:7.7+6 [82.5 kB]                                                                                        
Get:25 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xfonts-base all 1:1.0.5 [5,897 kB]                                                                                          
Get:26 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-amdgpu armhf 18.1.99+git20190207-1 [122 kB]                                                              
Get:27 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-radeon armhf 1:19.0.1-1 [487 kB]                                                                         
Get:28 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-ati armhf 1:19.0.1-1 [363 kB]                                                                            
Get:29 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-fbdev armhf 1:0.5.0-1+b2 [24.4 kB]                                                                       
Get:30 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-nouveau armhf 1:1.0.16-1 [318 kB]                                                                        
Get:31 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-vesa armhf 1:2.4.0-1+b1 [30.6 kB]                                                                        
Get:32 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-video-all armhf 1:7.7+19+b8 [38.3 kB]                                                                          
Get:33 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-input-libinput armhf 0.28.2-2 [58.1 kB]                                                                        
Get:34 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-input-all armhf 1:7.7+19+b8 [38.3 kB]                                                                          
Get:35 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg-input-wacom armhf 0.34.99.1-1+b6 [83.0 kB]                                                                     
Get:36 http://mirror.internode.on.net/pub/raspbian/raspbian buster/main armhf xserver-xorg armhf 1:7.7+19+b8 [94.0 kB]                                                                                    
Fetched 17.0 MB in 21s (800 kB/s)                                                                                                                                                                         
Extracting templates from packages: 100%
Preconfiguring packages ...
Selecting previously unselected package libwayland-server0:armhf.
(Reading database ... 54163 files and directories currently installed.)
Preparing to unpack .../00-libwayland-server0_1.16.0-1_armhf.deb ...
Unpacking libwayland-server0:armhf (1.16.0-1) ...
Selecting previously unselected package libgbm1:armhf.
Preparing to unpack .../01-libgbm1_19.3.2-1~bpo10+1~rpt4_armhf.deb ...
Unpacking libgbm1:armhf (19.3.2-1~bpo10+1~rpt4) ...
Selecting previously unselected package libxcb-xfixes0:armhf.
Preparing to unpack .../02-libxcb-xfixes0_1.13.1-2_armhf.deb ...
Unpacking libxcb-xfixes0:armhf (1.13.1-2) ...
Selecting previously unselected package libegl-mesa0:armhf.
Preparing to unpack .../03-libegl-mesa0_19.3.2-1~bpo10+1~rpt4_armhf.deb ...
Unpacking libegl-mesa0:armhf (19.3.2-1~bpo10+1~rpt4) ...
Selecting previously unselected package libegl1:armhf.
Preparing to unpack .../04-libegl1_1.3.0-7~bpo10+1_armhf.deb ...
Unpacking libegl1:armhf (1.3.0-7~bpo10+1) ...
Selecting previously unselected package libegl1-mesa:armhf.
Preparing to unpack .../05-libegl1-mesa_19.3.2-1~bpo10+1~rpt4_armhf.deb ...
Unpacking libegl1-mesa:armhf (19.3.2-1~bpo10+1~rpt4) ...
Selecting previously unselected package libevdev2:armhf.
Preparing to unpack .../06-libevdev2_1.6.0+dfsg-1_armhf.deb ...
Unpacking libevdev2:armhf (1.6.0+dfsg-1) ...
Selecting previously unselected package libgudev-1.0-0:armhf.
Preparing to unpack .../07-libgudev-1.0-0_232-2+rpi1_armhf.deb ...
Unpacking libgudev-1.0-0:armhf (232-2+rpi1) ...
Selecting previously unselected package libwacom-common.
Preparing to unpack .../08-libwacom-common_0.32-1_all.deb ...
Unpacking libwacom-common (0.32-1) ...
Selecting previously unselected package libwacom2:armhf.
Preparing to unpack .../09-libwacom2_0.32-1_armhf.deb ...
Unpacking libwacom2:armhf (0.32-1) ...
Selecting previously unselected package libinput-bin.
Preparing to unpack .../10-libinput-bin_1.12.6-2+deb10u1_armhf.deb ...
Unpacking libinput-bin (1.12.6-2+deb10u1) ...
Selecting previously unselected package libmtdev1:armhf.
Preparing to unpack .../11-libmtdev1_1.1.5-1+b2_armhf.deb ...
Unpacking libmtdev1:armhf (1.1.5-1+b2) ...
Selecting previously unselected package libinput10:armhf.
Preparing to unpack .../12-libinput10_1.12.6-2+deb10u1_armhf.deb ...
Unpacking libinput10:armhf (1.12.6-2+deb10u1) ...
Selecting previously unselected package libpciaccess0:armhf.
Preparing to unpack .../13-libpciaccess0_0.14-1_armhf.deb ...
Unpacking libpciaccess0:armhf (0.14-1) ...
Selecting previously unselected package libunwind8:armhf.
Preparing to unpack .../14-libunwind8_1.2.1-10~deb10u1_armhf.deb ...
Unpacking libunwind8:armhf (1.2.1-10~deb10u1) ...
Selecting previously unselected package libwacom-bin.
Preparing to unpack .../15-libwacom-bin_0.32-1_armhf.deb ...
Unpacking libwacom-bin (0.32-1) ...
Selecting previously unselected package libxfont2:armhf.
Preparing to unpack .../16-libxfont2_1%3a2.0.3-1_armhf.deb ...
Unpacking libxfont2:armhf (1:2.0.3-1) ...
Selecting previously unselected package libxkbfile1:armhf.
Preparing to unpack .../17-libxkbfile1_1%3a1.0.9-2_armhf.deb ...
Unpacking libxkbfile1:armhf (1:1.0.9-2) ...
Selecting previously unselected package x11-xkb-utils.
Preparing to unpack .../18-x11-xkb-utils_7.7+4_armhf.deb ...
Unpacking x11-xkb-utils (7.7+4) ...
Selecting previously unselected package xfonts-encodings.
Preparing to unpack .../19-xfonts-encodings_1%3a1.0.4-2_all.deb ...
Unpacking xfonts-encodings (1:1.0.4-2) ...
Selecting previously unselected package xfonts-utils.
Preparing to unpack .../20-xfonts-utils_1%3a7.7+6_armhf.deb ...
Unpacking xfonts-utils (1:7.7+6) ...
Selecting previously unselected package xfonts-base.
Preparing to unpack .../21-xfonts-base_1%3a1.0.5_all.deb ...
Unpacking xfonts-base (1:1.0.5) ...
Selecting previously unselected package xserver-common.
Preparing to unpack .../22-xserver-common_2%3a1.20.4-1+rpt3+deb10u3_all.deb ...
Unpacking xserver-common (2:1.20.4-1+rpt3+deb10u3) ...
Selecting previously unselected package xserver-xorg-core.
Preparing to unpack .../23-xserver-xorg-core_2%3a1.20.4-1+rpt3+deb10u3_armhf.deb ...
Unpacking xserver-xorg-core (2:1.20.4-1+rpt3+deb10u3) ...
Selecting previously unselected package xserver-xorg-video-amdgpu.
Preparing to unpack .../24-xserver-xorg-video-amdgpu_18.1.99+git20190207-1_armhf.deb ...
Unpacking xserver-xorg-video-amdgpu (18.1.99+git20190207-1) ...
Selecting previously unselected package xserver-xorg-video-radeon.
Preparing to unpack .../25-xserver-xorg-video-radeon_1%3a19.0.1-1_armhf.deb ...
Unpacking xserver-xorg-video-radeon (1:19.0.1-1) ...
Selecting previously unselected package xserver-xorg-video-ati.
Preparing to unpack .../26-xserver-xorg-video-ati_1%3a19.0.1-1_armhf.deb ...
Unpacking xserver-xorg-video-ati (1:19.0.1-1) ...
Selecting previously unselected package xserver-xorg-video-fbdev.
Preparing to unpack .../27-xserver-xorg-video-fbdev_1%3a0.5.0-1+b2_armhf.deb ...
Unpacking xserver-xorg-video-fbdev (1:0.5.0-1+b2) ...
Selecting previously unselected package xserver-xorg-video-nouveau.
Preparing to unpack .../28-xserver-xorg-video-nouveau_1%3a1.0.16-1_armhf.deb ...
Unpacking xserver-xorg-video-nouveau (1:1.0.16-1) ...
Selecting previously unselected package xserver-xorg-video-vesa.
Preparing to unpack .../29-xserver-xorg-video-vesa_1%3a2.4.0-1+b1_armhf.deb ...
Unpacking xserver-xorg-video-vesa (1:2.4.0-1+b1) ...
Selecting previously unselected package xserver-xorg-video-all.
Preparing to unpack .../30-xserver-xorg-video-all_1%3a7.7+19+b8_armhf.deb ...
Unpacking xserver-xorg-video-all (1:7.7+19+b8) ...
Selecting previously unselected package xserver-xorg-input-libinput.
Preparing to unpack .../31-xserver-xorg-input-libinput_0.28.2-2_armhf.deb ...
Unpacking xserver-xorg-input-libinput (0.28.2-2) ...
Selecting previously unselected package xserver-xorg-input-all.
Preparing to unpack .../32-xserver-xorg-input-all_1%3a7.7+19+b8_armhf.deb ...
Unpacking xserver-xorg-input-all (1:7.7+19+b8) ...
Selecting previously unselected package xserver-xorg-input-wacom.
Preparing to unpack .../33-xserver-xorg-input-wacom_0.34.99.1-1+b6_armhf.deb ...
Unpacking xserver-xorg-input-wacom (0.34.99.1-1+b6) ...
Selecting previously unselected package xserver-xorg.
Preparing to unpack .../34-xserver-xorg_1%3a7.7+19+b8_armhf.deb ...
Unpacking xserver-xorg (1:7.7+19+b8) ...
Selecting previously unselected package xserver-xorg-legacy.
Preparing to unpack .../35-xserver-xorg-legacy_2%3a1.20.4-1+rpt3+deb10u3_armhf.deb ...
Unpacking xserver-xorg-legacy (2:1.20.4-1+rpt3+deb10u3) ...
Setting up libwayland-server0:armhf (1.16.0-1) ...
Setting up libpciaccess0:armhf (0.14-1) ...
Setting up libxcb-xfixes0:armhf (1.13.1-2) ...
Setting up libgbm1:armhf (19.3.2-1~bpo10+1~rpt4) ...
Setting up libunwind8:armhf (1.2.1-10~deb10u1) ...
Setting up libegl-mesa0:armhf (19.3.2-1~bpo10+1~rpt4) ...
Setting up xfonts-encodings (1:1.0.4-2) ...
Setting up libmtdev1:armhf (1.1.5-1+b2) ...
Setting up libegl1:armhf (1.3.0-7~bpo10+1) ...
Setting up libxkbfile1:armhf (1:1.0.9-2) ...
Setting up libxfont2:armhf (1:2.0.3-1) ...
Setting up libevdev2:armhf (1.6.0+dfsg-1) ...
Setting up libgudev-1.0-0:armhf (232-2+rpi1) ...
Setting up libwacom-common (0.32-1) ...
Setting up x11-xkb-utils (7.7+4) ...
Setting up xfonts-utils (1:7.7+6) ...
Setting up libegl1-mesa:armhf (19.3.2-1~bpo10+1~rpt4) ...
Setting up xfonts-base (1:1.0.5) ...
Setting up xserver-common (2:1.20.4-1+rpt3+deb10u3) ...
Setting up libwacom2:armhf (0.32-1) ...
Setting up xserver-xorg-legacy (2:1.20.4-1+rpt3+deb10u3) ...
Setting up xserver-xorg-core (2:1.20.4-1+rpt3+deb10u3) ...
Setting up xserver-xorg-video-radeon (1:19.0.1-1) ...
Setting up libinput-bin (1.12.6-2+deb10u1) ...
Setting up xserver-xorg-input-wacom (0.34.99.1-1+b6) ...
Setting up xserver-xorg-video-fbdev (1:0.5.0-1+b2) ...
Setting up libwacom-bin (0.32-1) ...
Setting up xserver-xorg-video-vesa (1:2.4.0-1+b1) ...
Setting up libinput10:armhf (1.12.6-2+deb10u1) ...
Setting up xserver-xorg-video-amdgpu (18.1.99+git20190207-1) ...
Setting up xserver-xorg (1:7.7+19+b8) ...
Setting up xserver-xorg-video-nouveau (1:1.0.16-1) ...
Setting up xserver-xorg-input-libinput (0.28.2-2) ...
Setting up xserver-xorg-video-ati (1:19.0.1-1) ...
Setting up xserver-xorg-video-all (1:7.7+19+b8) ...
Setting up xserver-xorg-input-all (1:7.7+19+b8) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for fontconfig (2.13.1-2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...

Install Desktop Environment

PIXEL (default)

sudo apt install raspberrypi-ui-mods -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  acl agnostics aspell aspell-en bc bubblewrap colord colord-data cups cups-browsed cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils
  cups-pk-helper cups-ppdc cups-server-common desktop-base desktop-file-utils dictionaries-common eject emacsen-common enchant exfat-fuse exfat-utils fio fonts-piboto fonts-quicksand gcr gdisk giblib1
  gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0 gir1.2-secret-1 gnome-accessibility-themes gnome-icon-theme gnome-keyring gnome-keyring-pkcs11 gnome-screenshot gnome-themes-extra gnome-themes-extra-data
  gnome-themes-standard gstreamer1.0-gl gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gtk2-engines-clearlookspix gtk2-engines-pixbuf
  gtk2-engines-pixflat gui-pkinst gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-fuse gvfs-libs hplip hplip-data hunspell-en-us ibverbs-providers laptop-detect libaa1 libaacs0 libaio1 libaom0
  libappstream4 libarchive13 libasound2-plugins libaspell15 libass9 libasyncns0 libatasmart4 libatkmm-1.6-1v5 libavahi-glib1 libavc1394-0 libavcodec58 libavfilter7 libavformat58 libavresample4
  libavutil56 libbdplus0 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluray2 libboost-atomic1.67.0
  libboost-iostreams1.67.0 libboost-regex1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libbrotli1 libbs2b0 libcaca0 libcairomm-1.0-1v5 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra0
  libcdio-cdda2 libcdio-paranoia2 libcdio18 libcdparanoia0 libchromaprint1 libcodec2-0.8.1 libcolorhug2 libdbus-glib-1-2 libdc1394-22 libdca0 libdv4 libdvdnav4 libdvdread4 libenchant1c2a libexif12
  libfaad2 libflac8 libflite1 libfluidsynth1 libfm-data libfm-extra4 libfm-gtk-data libfm-gtk4 libfm-modules libfm4 libfontembed1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common
  libgdata22 libgfapi0 libgfrpc0 libgfxdr0 libgif7 libglade2-0 libgles2 libglib2.0-bin libglibmm-2.4-1v5 libglusterfs0 libgme0 libgoa-1.0-0b libgoa-1.0-common libgpgme11 libgphoto2-6 libgphoto2-l10n
  libgphoto2-port12 libgraphene-1.0-0 libgsm1 libgssdp-1.0-3 libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtkmm-3.0-1v5 libgtksourceview-3.0-1
  libgtksourceview-3.0-common libgupnp-1.0-4 libgupnp-igd-1.0-4 libgusb2 libgutenprint-common libgutenprint9 libharfbuzz-icu0 libhpmud0 libhunspell-1.7-0 libhyphen0 libibverbs1 libid3tag0 libiec61883-0
  libieee1284-3 libilmbase23 libimagequant0 libimlib2 libimobiledevice6 libindicator3-7 libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjpeg-turbo-progs libkate1 libkeybinder0 libldb1
  liblightdm-gobject-1-0 liblilv-0-0 liblouis-data liblouis17 liblouisutdml-bin liblouisutdml-data liblouisutdml8 libmariadb3 libmenu-cache-bin libmenu-cache3 libmjpegutils-2.1-0 libmms0 libmodplug1
  libmp3lame0 libmpcdec6 libmpeg2encpp-2.1-0 libmpg123-0 libmplex2-2.1-0 libmysofa0 libnfs12 libnice10 libnorm1 libnotify-bin libnspr4 libnss3 libnuma1 liboauth0 libobrender32v5 libobt2v5 libofa0
  libogg0 libopenal-data libopenal1 libopenexr23 libopenmpt0 libopus0 liborc-0.4-0 libpackagekit-glib2-18 libpam-gnome-keyring libpangomm-1.4-1v5 libparted-fs-resize0 libpgm-5.2-0 libplist3
  libplymouth4 libpoppler82 libpostproc55 libpulse-mainloop-glib0 libpulse0 libpulsedsp libpython2.7 libqpdf21 librados2 libraw1394-11 librbd1 librdmacm1 librubberband2 libsane libsane-common
  libsane-hpaio libsbc1 libsecret-1-0 libsecret-common libserd-0-0 libshine3 libshout3 libsigc++-2.0-0v5 libsmbclient libsnappy1v5 libsndfile1 libsndio7.0 libsnmp-base libsnmp30 libsodium23 libsord-0-0
  libsoundtouch1 libsoxr0 libspandsp2 libspeex1 libspeexdsp1 libsratom-0-0 libsrtp2-1 libssh-gcrypt-4 libstartup-notification0 libstemmer0d libswresample3 libswscale5 libtag1v5 libtag1v5-vanilla
  libtdb1 libtevent0 libtheora0 libturbojpeg0 libtwolame0 libudisks2-0 libunique-1.0-0 libusbmuxd4 libva-drm2 libva-x11-2 libva2 libvdpau-va-gl1 libvdpau1 libvidstab1.1 libvisual-0.4-0 libvo-aacenc0
  libvo-amrwbenc0 libvolume-key1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx5 libvulkan1 libwavpack1 libwebkit2gtk-4.0-37 libwebpdemux2 libwebrtc-audio-processing1 libwildmidi2 libwnck-common
  libwnck22 libwoff1 libx264-155 libxcb-util0 libxklavier16 libxres1 libxslt1.1 libxvidcore4 libyaml-0-2 libzbar0 libzmq5 libzvbi-common libzvbi0 lightdm lightdm-gtk-greeter lsof lxde-common lxde-core
  lxde-icon-theme lxinput lxlock lxmenu-data lxpanel lxpanel-data lxplug-bluetooth lxplug-cputemp lxplug-ejecter lxplug-magnifier lxplug-network lxplug-ptbatt lxplug-volumepulse lxpolkit lxrandr
  lxsession lxsession-data lxsession-default-apps lxsession-logout lxtask mariadb-common mesa-va-drivers mesa-vdpau-drivers miscfiles mousepad mysql-common obconf obsession openbox openbox-lxde-session
  p11-kit p11-kit-modules packagekit packagekit-tools pavucontrol pcmanfm pi-greeter pi-printer-support pinentry-gnome3 pipanel pishutdown pixflat-icons plymouth plymouth-label plymouth-themes
  poppler-utils printer-driver-escpr printer-driver-gutenprint printer-driver-hpcups printer-driver-postscript-hp pulseaudio pulseaudio-module-bluetooth pulseaudio-utils python-talloc python3-cups
  python3-cupshelpers python3-olefile python3-pexpect python3-pil python3-ptyprocess python3-renderpm python3-reportlab python3-reportlab-accel python3-smbc raspberrypi-artwork rc-gui rp-bookshelf
  rpd-icons rpd-plym-splash rpd-wallpaper rtkit samba-libs sane-utils scrot sound-theme-freedesktop ssl-cert system-config-printer system-config-printer-common system-config-printer-udev udisks2
  update-inetd usbmuxd va-driver-all vdpau-driver-all xdg-dbus-proxy xinput xscreensaver xscreensaver-data xserver-xorg-video-fbturbo zenity zenity-common
Suggested packages:
  aspell-doc spellutils colord-sensor-argyll cups-bsd foomatic-db-compressed-ppds | foomatic-db cups-pdf smbclient antiword docx2txt imagemagick gnome | kde-standard | xfce4 | wmaker cdtool setcd
  gnuplot gfio python-scipy frei0r-plugins bluez-obexd samba-common hplip-doc hplip-gui python3-notify2 hunspell openoffice.org-hunspell | openoffice.org-core lrzip libbluray-bdj libcanberra-gtk0
  libcanberra-pulse libdv-bin oss-compat libdvdcss2 libenchant-voikko fluidr3mono-gm-soundfont | timgm6mb-soundfont | fluid-soundfont-gm libfm-tools nautilus-actions libgd-tools gphoto2
  libvisual-0.4-plugins gstreamer1.0-tools gutenprint-locales libusbmuxd-tools jackd2 ooo2dbk rtf2xml libportaudio2 opus-tools libparted-dev libraw1394-doc serdi sndiod snmp-mibs-downloader sordi speex
  xdg-desktop-portal-gtk gstreamer1.0-alsa libwildmidi-config accountsservice upower xserver-xephyr lxlauncher lxde menu gpicview fonts-dejavu libxml2-dev tint2 openbox-gnome-session
  openbox-kde-session appstream pinentry-doc psutils gutenprint-doc pavumeter paman paprefs python-pexpect-doc python-pil-doc python3-pil-dbg python3-renderpm-dbg pdf-viewer python3-egenix-mxtexttools
  python-reportlab-doc unpaper openssl-blacklist gnome-software btrfs-progs f2fs-tools mdadm libblockdev-mdraid2 nilfs-tools reiserfsprogs xfsprogs udftools udisks2-bcache udisks2-btrfs udisks2-lvm2
  udisks2-vdo udisks2-zram fortune gdm3 | kdm-gdmcompat qcam | streamer xdaliclock xfishtank xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
The following NEW packages will be installed:
  acl agnostics aspell aspell-en bc bubblewrap colord colord-data cups cups-browsed cups-client cups-common cups-core-drivers cups-daemon cups-filters cups-filters-core-drivers cups-ipp-utils
  cups-pk-helper cups-ppdc cups-server-common desktop-base desktop-file-utils dictionaries-common eject emacsen-common enchant exfat-fuse exfat-utils fio fonts-piboto fonts-quicksand gcr gdisk giblib1
  gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0 gir1.2-secret-1 gnome-accessibility-themes gnome-icon-theme gnome-keyring gnome-keyring-pkcs11 gnome-screenshot gnome-themes-extra gnome-themes-extra-data
  gnome-themes-standard gstreamer1.0-gl gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gtk2-engines-clearlookspix gtk2-engines-pixbuf
  gtk2-engines-pixflat gui-pkinst gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-fuse gvfs-libs hplip hplip-data hunspell-en-us ibverbs-providers laptop-detect libaa1 libaacs0 libaio1 libaom0
  libappstream4 libarchive13 libasound2-plugins libaspell15 libass9 libasyncns0 libatasmart4 libatkmm-1.6-1v5 libavahi-glib1 libavc1394-0 libavcodec58 libavfilter7 libavformat58 libavresample4
  libavutil56 libbdplus0 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluray2 libboost-atomic1.67.0
  libboost-iostreams1.67.0 libboost-regex1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libbrotli1 libbs2b0 libcaca0 libcairomm-1.0-1v5 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra0
  libcdio-cdda2 libcdio-paranoia2 libcdio18 libcdparanoia0 libchromaprint1 libcodec2-0.8.1 libcolorhug2 libdbus-glib-1-2 libdc1394-22 libdca0 libdv4 libdvdnav4 libdvdread4 libenchant1c2a libexif12
  libfaad2 libflac8 libflite1 libfluidsynth1 libfm-data libfm-extra4 libfm-gtk-data libfm-gtk4 libfm-modules libfm4 libfontembed1 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common
  libgdata22 libgfapi0 libgfrpc0 libgfxdr0 libgif7 libglade2-0 libgles2 libglib2.0-bin libglibmm-2.4-1v5 libglusterfs0 libgme0 libgoa-1.0-0b libgoa-1.0-common libgpgme11 libgphoto2-6 libgphoto2-l10n
  libgphoto2-port12 libgraphene-1.0-0 libgsm1 libgssdp-1.0-3 libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtkmm-3.0-1v5 libgtksourceview-3.0-1
  libgtksourceview-3.0-common libgupnp-1.0-4 libgupnp-igd-1.0-4 libgusb2 libgutenprint-common libgutenprint9 libharfbuzz-icu0 libhpmud0 libhunspell-1.7-0 libhyphen0 libibverbs1 libid3tag0 libiec61883-0
  libieee1284-3 libilmbase23 libimagequant0 libimlib2 libimobiledevice6 libindicator3-7 libjack-jackd2-0 libjansson4 libjavascriptcoregtk-4.0-18 libjpeg-turbo-progs libkate1 libkeybinder0 libldb1
  liblightdm-gobject-1-0 liblilv-0-0 liblouis-data liblouis17 liblouisutdml-bin liblouisutdml-data liblouisutdml8 libmariadb3 libmenu-cache-bin libmenu-cache3 libmjpegutils-2.1-0 libmms0 libmodplug1
  libmp3lame0 libmpcdec6 libmpeg2encpp-2.1-0 libmpg123-0 libmplex2-2.1-0 libmysofa0 libnfs12 libnice10 libnorm1 libnotify-bin libnspr4 libnss3 libnuma1 liboauth0 libobrender32v5 libobt2v5 libofa0
  libogg0 libopenal-data libopenal1 libopenexr23 libopenmpt0 libopus0 liborc-0.4-0 libpackagekit-glib2-18 libpam-gnome-keyring libpangomm-1.4-1v5 libparted-fs-resize0 libpgm-5.2-0 libplist3
  libplymouth4 libpoppler82 libpostproc55 libpulse-mainloop-glib0 libpulse0 libpulsedsp libpython2.7 libqpdf21 librados2 libraw1394-11 librbd1 librdmacm1 librubberband2 libsane libsane-common
  libsane-hpaio libsbc1 libsecret-1-0 libsecret-common libserd-0-0 libshine3 libshout3 libsigc++-2.0-0v5 libsmbclient libsnappy1v5 libsndfile1 libsndio7.0 libsnmp-base libsnmp30 libsodium23 libsord-0-0
  libsoundtouch1 libsoxr0 libspandsp2 libspeex1 libspeexdsp1 libsratom-0-0 libsrtp2-1 libssh-gcrypt-4 libstartup-notification0 libstemmer0d libswresample3 libswscale5 libtag1v5 libtag1v5-vanilla
  libtdb1 libtevent0 libtheora0 libturbojpeg0 libtwolame0 libudisks2-0 libunique-1.0-0 libusbmuxd4 libva-drm2 libva-x11-2 libva2 libvdpau-va-gl1 libvdpau1 libvidstab1.1 libvisual-0.4-0 libvo-aacenc0
  libvo-amrwbenc0 libvolume-key1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx5 libvulkan1 libwavpack1 libwebkit2gtk-4.0-37 libwebpdemux2 libwebrtc-audio-processing1 libwildmidi2 libwnck-common
  libwnck22 libwoff1 libx264-155 libxcb-util0 libxklavier16 libxres1 libxslt1.1 libxvidcore4 libyaml-0-2 libzbar0 libzmq5 libzvbi-common libzvbi0 lightdm lightdm-gtk-greeter lsof lxde-common lxde-core
  lxde-icon-theme lxinput lxlock lxmenu-data lxpanel lxpanel-data lxplug-bluetooth lxplug-cputemp lxplug-ejecter lxplug-magnifier lxplug-network lxplug-ptbatt lxplug-volumepulse lxpolkit lxrandr
  lxsession lxsession-data lxsession-default-apps lxsession-logout lxtask mariadb-common mesa-va-drivers mesa-vdpau-drivers miscfiles mousepad mysql-common obconf obsession openbox openbox-lxde-session
  p11-kit p11-kit-modules packagekit packagekit-tools pavucontrol pcmanfm pi-greeter pi-printer-support pinentry-gnome3 pipanel pishutdown pixflat-icons plymouth plymouth-label plymouth-themes
  poppler-utils printer-driver-escpr printer-driver-gutenprint printer-driver-hpcups printer-driver-postscript-hp pulseaudio pulseaudio-module-bluetooth pulseaudio-utils python-talloc python3-cups
  python3-cupshelpers python3-olefile python3-pexpect python3-pil python3-ptyprocess python3-renderpm python3-reportlab python3-reportlab-accel python3-smbc raspberrypi-artwork raspberrypi-ui-mods
  rc-gui rp-bookshelf rpd-icons rpd-plym-splash rpd-wallpaper rtkit samba-libs sane-utils scrot sound-theme-freedesktop ssl-cert system-config-printer system-config-printer-common
  system-config-printer-udev udisks2 update-inetd usbmuxd va-driver-all vdpau-driver-all xdg-dbus-proxy xinput xscreensaver xscreensaver-data xserver-xorg-video-fbturbo zenity zenity-common
0 upgraded, 417 newly installed, 0 to remove and 0 not upgraded.
Need to get 207 MB of archives.
After this operation, 589 MB of additional disk space will be used.

MATE

sudo apt install mate-desktop-environment-core

KDE

sudo apt install kde-plasma-desktop -y

LXDE

sudo apt install lxde-core lxappearance -y

XFCE

sudo apt install xfce4 xfce4-terminal -y

Install Display Manage

This is required to start the desktop environment on boot.

sudo apt install lightdm -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
lightdm is already the newest version (1.26.0-4).
lightdm set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Reboot

sudo reboot
  • https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
,