This guide details the steps to configure a GNOME environment on Raspberry Pi OS Lite, optimized for low resource usage and high efficiency. With extensive experience using Ubuntu, I've tailored this guide to implement Debian GNOME without snap packages, which helps alleviate performance issues on older hardware and Raspberry Pi. By avoiding snaps, we reduce system overhead, improving media playback capabilities—this enables smooth streaming of YouTube at 1080p 30fps and slightly stuttering at 60fps on Raspberry Pi 4, while Netflix also streams effectively. On Raspberry Pi 5, streaming performance is excellent, handling even demanding content with ease.
Image may be NSFW.
Clik here to view.
Both Ubuntu and Debian build on similar foundations, resulting in a consistent user experience despite minor differences, such as the choice of default web browser. While Ubuntu generally comes with Firefox, this setup uses Chromium for better performance and integration on the Raspberry Pi. Additionally, I suggest replacing the default video player, Totem, with Celluloid, which uses fewer resources and offers improved functionality.
For those interested in a detailed breakdown of each component being installed or prefer to perform installations manually, refer to Section 4. Installation Summary at the end of this guide.
To facilitate an efficient setup, I have included a concise list of commands at the end of this guide for quick implementation. These commands help streamline the installation process, allowing you to set up a functional Ubuntu-like GNOME environment on your Raspberry Pi with little hassle. This guide is intended for those looking to enhance their Raspberry Pi with a reliable and user-friendly GNOME desktop.
Installation Raspberry Pi OS Lite
Install Raspberry Pi OS Lite (64-bit). If you are using the Raspberry Pi Imager on Windows to install Raspberry Pi OS Lite, I recommend filling in the Customization Settings. This allows you to pre-configure settings like the hostname, enable SSH, set up a username and password, and configure your Wi-Fi details.
Use SSH
Enable SSH to make it easier to copy commands from the forum and paste them into the Raspberry Pi. For detailed instructions, see the SSH guide on the Raspberry Pi website.Enable SSH go to 3. Interface Options > SSHCode:
sudo raspi-config
Image may be NSFW.
Clik here to view.
To find your Raspberry Pi's local IP address, you can use the hostname -I command in the terminal, which will display the IP address directly. Alternatively, if you have a monitor connected, the IP address is often displayed on the screen during startup. With this IP address, typically starting with 192.168, you can establish an SSH connection to your Raspberry Pi.
To connect to your Raspberry Pi from a PC using SSH. Every time you reboot you need to connect SSH. Open a terminal and run:Code:
ssh <username>@<RaspberryPi_IP_Address>
1. Initial System Setup
In this section, I will guide you through the initial steps to configure your Raspberry Pi after installing Raspberry Pi OS Lite (64-bit). I’ll show you how to set up user preferences, adjust language configurations, and update your system to optimize performance from the start.
Image may be NSFW.
Clik here to view.
- 1/3 Set User Name
Customize the display name for your user session.Code:
sudo usermod -c "Mr. Wobbo" $USER
- 2/3 Configure Language
Adjust system language settings by adding multiple languages and selecting one as the base language for your system before proceeding with updates.Code:
sudo dpkg-reconfigure locales
- 3/3 Update System
Ensure your system is up to date and clean up unnecessary files.Code:
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo reboot
2. Debian and GNOME
Copy the 3 commands below and paste them into your terminal. If you want an explanation of what is being installed, or want to do it manually go to 4. Installation Summary .
Image may be NSFW.
Clik here to view.
- 1/3 GNOME
Here are the essentials to get started with Debian GNOME, including packages like themes, fonts, software, video decoding and streaming, LibreOffice, visual Boot, and more. Copy the entire code at once.Encountering the gdm.service is not active, cannot reload during installation is expected and does not affect the process.Code:
sudo apt install -y \ gnome-core \ yaru-theme-{gnome-shell,gtk,icon,sound,unity} \ fonts-ubuntu fonts-ubuntu-{title,console} \ ttf-mscorefonts-installer \ rpi-chromium-mods chromium-l10n \ celluloid rhythmbox \ gstreamer1.0-plugins-{base,good,bad,ugly} gstreamer1.0-{libav,tools,alsa,pulseaudio,x} \ libreoffice-{writer,calc,impress,gtk3,gnome,style-colibre} \ gnome-text-editor simple-scan hplip \ network-manager-openvpn-gnome \ gnome-tweaks gnome-calendar \ plymouth plymouth-themes \ dbus-x11 && sudo plymouth-set-default-theme bgrt -R && \ sudo cp /boot/firmware/cmdline.txt /boot/firmware/cmdline.txt.backup && \ sudo sed -i '1 s/^/splash quiet plymouth.ignore-serial-consoles /' /boot/firmware/cmdline.txt && \ sudo apt remove -y firefox-esr totem mpv htop && \ sudo sed -i '/^logo=/ s/^/#/' /etc/gdm3/greeter.dconf-defaults && \ sudo systemctl set-default graphical.target
- 2/3 Languages
For English LibreOffice, among others. Copy the entire code at once.For example, if you want it in Dutch. You can also add as many as you want.Code:
sudo apt install -y \ hyphen-en-us \ hunspell-en-us \ libreoffice-help-en-us \ libreoffice-l10n-en-us
Code:
sudo apt install -y \ hyphen-nl \ hunspell-nl \ libreoffice-help-nl \ libreoffice-l10n-nl
- 3/3 Final Cleanup and Reboot
Perform a final cleanup to remove unnecessary packages and reboot to apply all changes, ensuring a clean start with the new settings.Code:
sudo apt autoremove -y && sudo reboot
3. GNOME to Ubuntu Desktop
From now on, no more terminal commands are needed. There are some things that are not available by default or need to be adjusted to mimic Ubuntu. In Debian GNOME, you can't use the Desktop. The menu dock is very different. The theme needs to be adjusted, for example, the font.
- 3.1. GNOME Addons
I use Chromium Shell to add GNOME Extensions. Go to Chromium GNOME Shell Integration and add it to your extensions.
Next, you can add the following GNOME extensions: Desktop Icons NG (DING) and Dash to Dock.
Image may be NSFW.
Clik here to view.
- 3.2. Setup Desktop Icons and Tweaks
Configure Desktop Icons NG (DING) and Tweaks:
Image may be NSFW.
Clik here to view.
- 3.3. Improve Chromium
Extension for Netflix: Install New Netflix 1080p from Chrome Web Store. Enable Automatically select best bitrate available, disable VP9 codec, and AVChigh codec.
Extensions for YouTube: Install h264ify and set Enable h264ify. For
YouTube Auto HD + FPS, adjust as preferred.
- 3.4. Chromium Settings
Configure Chromium to integrate smoothly with the OS. Go to chrome://settings/appearance and change the Theme end select Classic. If you set it up this way, it will match the style.
Image may be NSFW.
Clik here to view.
- 3.5. Creating Standard Folders
During installation, it is possible that some folders may not be created or that the language settings are incorrect. You can manually configure these settings. With GNOME-core, not all user folders are automatically created. In Ubuntu, standard folders are assigned appropriate icons. To manually add these folders and their corresponding icons, follow these steps: create the standard folders and configure their paths.And paste in user-dirs.dirs the following (for English, or other languages: Language commands):Code:
mkdir -p ~/{Desktop,Documents,Downloads,Music,Pictures,Videos,Public,Templates}mkdir -p ~/.config/nano ~/.config/user-dirs.dirs
Save and exit press Ctrl + X.Code:
XDG_DESKTOP_DIR="$HOME/Desktop"XDG_DOCUMENTS_DIR="$HOME/Documents"XDG_DOWNLOAD_DIR="$HOME/Downloads"XDG_MUSIC_DIR="$HOME/Music"XDG_PICTURES_DIR="$HOME/Pictures"XDG_VIDEOS_DIR="$HOME/Videos"XDG_PUBLICSHARE_DIR="$HOME/Public"XDG_TEMPLATES_DIR="$HOME/Templates"
Image may be NSFW.
Clik here to view.
- 3.6. Others
Almost all appearance themes fit neatly into the general settings. For example, LibreOffice automatically uses the Ubuntu theme. If you use Gedit, you need to manually set the dark mode. There are parts of GNOME Settings where some elements should be orange, but they remain Debian's official blue. I don't know how to change that. There are some personal settings that might differ from the Ubuntu defaults. My Debian GNOME runs much faster than Ubuntu. Despite my preference, you can still install snap on this setup. I always test the game '0 A.D.' to check performance.
4. Installation Summary
Below is a detailed breakdown of the components and tools you have just installed on your system.
- Core Components
Install Core GNOME: Install basic GNOME packages along with essential tweaks for customization.Code:
sudo apt install gnome-core gnome-tweaks
- Web Browser
Install Chromium and its modules for optimized web browsing on Raspberry Pi.Code:
sudo apt install rpi-chromium-mods chromium-l10n
- Themes and Fonts
Upgrade your interface aesthetics with Yaru themes and Ubuntu fonts, offering a unified, modern Ubuntu-style appearance for the GNOME shell, applications, icons, and sounds. The ttf-mscorefonts-installer enhances document and web compatibility by adding essential Microsoft TrueType fonts like Arial and Times New Roman.Code:
sudo apt install yaru-theme-gnome-shell yaru-theme-gtk yaru-theme-icon yaru-theme-sound yaru-theme-unity fonts-ubuntu fonts-ubuntu-title fonts-ubuntu-console ttf-mscorefonts-installer
- Media Players and Codecs
Enhance media playback by using Celluloid and Rhythmbox instead of Totem, which lacks flexible channel management. Celluloid provides superior performance and broad format support, while Rhythmbox offers a robust system for managing and playing music, making it an excellent choice for GNOME users seeking intuitive and customizable media tools.Code:
sudo apt install celluloid rhythmbox gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-pulseaudio gstreamer1.0-x
- Office Suite and Scanning
Install LibreOffice and tools for document handling and scanning. Includes a complete set of office tools integrated with GNOME for seamless document, spreadsheet, and presentation management, along with essential tools for text editing and scanning.Install additional language support for example English. You can add as many languages as needed to tailor your system to various linguistic requirements.Code:
sudo apt install libreoffice-writer libreoffice-calc libreoffice-impress libreoffice-gtk3 libreoffice-gnome libreoffice-style-colibre gnome-text-editor simple-scan
Other languagesCode:
sudo apt install hyphen-en-us hunspell-en-us libreoffice-help-en-us libreoffice-l10n-en-us
For example Dutch. Here it ends with *-nlConnect to printer/scannerCode:
sudo apt install hyphen-nl hunspell-nl libreoffice-help-nl libreoffice-l10n-nl
I use HP printer/scanner.Code:
sudo apt install hplip
- Networking Tools
Add support for VPN configurations.Code:
sudo apt install network-manager-openvpn-gnome dbus-x11
- Modify Login Screen
Remove the default Debian banner from the login screen and ensure GNOME is the default graphical interface. This adjustment makes the login experience cleaner and more consistent with your customized environment.Code:
sudo sed -i '/^logo=/ s/^/#/' /etc/gdm3/greeter.dconf-defaults
- Remove Unwanted Applications
Eliminate applications not aligned with your needs. mpv is redundant as celluloid, which is based on mpv, provides a more user-friendly interface with similar functionality. htop is not necessary because the GNOME System Monitor offers a more integrated and graphical approach to managing system resources.Code:
sudo apt remove -y firefox-esr totem mpv htop
- Set Graphical Interface as Default
Ensure that GNOME is the default graphical interface, aligning the system boot directly into the GNOME environment.Code:
sudo systemctl set-default graphical.target
- Enabling Visual Boot Process
This command configures the Raspberry Pi to use a graphical splash screen during boot, hiding detailed system messages for a cleaner startup.Code:
sudo sed -i '1 s/^/splash quiet plymouth.ignore-serial-consoles /' /boot/firmware/cmdline.txt
Final Thoughts
I have guided you through configuring a GNOME environment on Raspberry Pi OS Lite, closely mimicking the Ubuntu experience but without the overhead of snap packages. This setup enhances performance and streamlines your interactions, especially on older hardware models.
If you wish to delve deeper into any aspect of the setup or need more details on the specific components used, please revisit Section 4. Installation Summary for more in-depth information.
Thank you for following this guide. I hope it helps you create a system that not only performs well but also feels familiar and easy to use, much like Ubuntu. Enjoy your enhanced Raspberry Pi environment, and don't hesitate to personalize it further to suit your needs.
Statistics: Posted by Wobbo — Mon Dec 23, 2024 2:59 pm