Updated: September 14, 2020
Hear, hear. Today, I have a rather lengthy article for you. I want to show you all the different changes and tweaks I had to introduce to my Raspberry Pi 4 and its resident Raspberry Pi OS, in order to transform a fairly bland operating system into a stylish, eye-turning desktop. To that end, first step, I installed the MATE desktop environment.
Similar to what we did with Ubuntu MATE, we will now tweak the MATE desktop on top of Raspberry Pi OS. Please note that most of the tips and tricks outlined in the other tutorial are valid and applicable here, but we need more. Now, take a deep breath and follow me, for there's quite some work ahead of us.
Installation of the MATE desktop & additional software
The magic one-liner:
sudo apt-get install mate-desktop-environment mate-desktop-environment-extras plank
And if you feel something is missing, then try also:
sudo apt-get install mate-session-manager mate-themes mate-screensaver mate-power-manager mate-indicator-applet mate-indicator-applet-common mate-tweak dconf-editor
Extra extra software
Some more nice applications that you may need or like:
sudo apt-get install firefox-esr gimp libreoffice
Setup new visual theme
Essentially, what I did was try to make MATE in Raspberry Pi look like Ubuntu MATE as reasonably as possible. To that end, I pilfered a bunch of assets from an Ubuntu MATE installation on the Pi and copied them over into the Raspberry Pi OS. So in the commands below, the assets all come from Ubuntu MATE in the corresponding directories:
sudo cp -r sd-card-mount/.../themes/Ambiant-MATE /usr/share/themes/
sudo cp -r sd-card-mount/.../themes/mate /usr/share/themes/
sudo cp -r sd-card-mount/.../themes/mate-dark /usr/share/themes/
sudo cp -r sd-card-mount/.../icons/Ambiant-MATE /usr/share/icons/
Please note that the first Ambiant-MATE refers to THEMES and the second to ICONS!
I then created my own Ambiant-MOTE theme, which has black fonts for better visual contrast. In essence, I hacked and edited the default theme, and changed a number of hexadecimal color values in the relevant CSS files of the theme.
I then installed Ubuntu fonts (under /usr/share/fonts).
I installed La Capitaine and Papirus icons (under ~/.icons).
I configured Plank + transparency, as I've shown you in the Ubuntu MATE article linked earlier.
Configure MATE as the default desktop environment
I had to change the login session manager in Raspberry Pi OS, so that I would get a login screen, and be able to choose which session I like. This can be done by editing the /etc/lightdm/lightdm.conf file. Please make sure the following four lines are presented (and not commented out):
greeter-session=lightdm-gtk-greeter
greeter-hide-users=false
autologin-user=pi
autologin-session=mate
By default, the user will be pi and greeter-session will be set to pi-greeter.
Configure Brisk menu (and full screen)
Top panel > Add new item > Brisk. But then, Brisk doesn't look that good in its normal guise, as you cannot resize it, and often, you end up with a scrollbar in the left-side category pane. What you can do is go for a full-screen menu. To that end, you need to launch dconf-editor.
Go to com > solus-project > brisk-menu > window-type. Toggle "Use default value" to 0 in the bottom half of the window, and change the Default value 'classic' to 'dash' - and then, restart your user session - simply log out and then log back in.
And you will have something like this:
Configure global menu
We need to install another package - and then restart the session (logout, login):
sudo apt-get install mate-applet-appmenu
Finally, add the global menu applet to the panel, and Bob's your uncle!
VLC shows no video playback in full screen
This seems to be caused by the wrong output device. Tools > Preferences > Video. Change the default Video Settings Output from 'Automatic' to 'OpenGL for Embedded Systems 2 video output'. Alternatively, you can try some of the other options, but please be aware what they mean (including video acceleration), and whether they are going to cooperate well with your setup (like HDMI).
VLC video tearing
Another problem I noticed - fixed by system update. So make sure the system is indeed up to date. The full sequence will also install any firmware updates, so you may benefit from other improvements, like better drivers and more optimized power management.
sudo apt-get update
sudo apt-get -y dist-upgrade
VLC uses a wrong theme
If VLC does not look the part, it's probably because it's not using the Qt5 styles.
The solution is as follows:
sudo apt-get install qt5-style-plugins
Then, you can either "wrap" VLC with an environment variable in your launchers:
QT_QPA_PLATFORMTHEME=gtk3 vlc
Or set this as a global environment variable in your session:
echo "export QT_QPA_PLATFORMTHEME=gtk3" >> ~/.profile
And then you get:
LibreOffice uses a wrong theme
Another possible victim of your MATE-ification effort is LibreOffice. It, too, may have a 1995 look. The solution is to install additional GTK integration and optional icon themes. The packages you need are:
sudo apt-get install libreoffice-gtk3 libreoffice-style-breeze libreoffice-style-elementary libreoffice-style-sifr
You can also optionally install libreoffice-gtk2, if you like.
And then, LibreOffice goes from this:
To something like this:
Pidgin (and maybe VLC again, et al) uses a wrong theme
You may notice that some applications like Pidgin - or perhaps even VLC - may suffer from another visual artifact. They have white (or pale) font on pale background in submenus, making then invisible and/or unreadable. This is caused by a wrong theme in the ~/.gtkrc-2.0 file. By default, MATE on Raspberry Pi references the Breeze theme. We want Ambiant-MATE - or rather our modified Ambiant-MOTE.
You will need to edit the contents of the ~.gtkrc-2.0 file from this:
include "/usr/share/themes/Breeze/gtk-2.0/gtkrc"
style "user-font"
{
font_name="Noto Sans Regular"
}
widget_class "*" style "user-font"
gtk-cursor-theme-name="breeze_cursors"
gtk-font-name="Noto Sans Regular 10"
gtk-theme-name="Breeze"
gtk-icon-theme-name="breeze"
gtk-fallback-icon-theme="gnome"
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-menu-images=1
gtk-button-images=1
Replace the include line to be:
include "/usr/share/themes/Ambiant-MATE/gtk-2.0/gtkrc"
Or Ambiant-MOTE, our Ambiant with black fonts. You can also change fonts, icon themes, and other assets. For example, you can use the Papirus or La Capitaine icon themes, and whatnot. And also use Ubuntu fonts. Pidgin and other applications will now show their submenus correctly. Job done.
Firefox shows mobile pages
For some reason, I noticed that Firefox ESR renders various pages (but not all) as though my Pi was a mobile device. Not all, but some. To get around this niggle, at least until there's an official fix, you can force the user agent string - this is a text identifier that browsers provide to Web pages so they can be served optimal content. Anyway, go to Firefox about:config, and add the following entry:
general.useragent.override
And populate it with something like the user agent from a classic Linux desktop:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
Other things
A few more important details, if you please, for a complete experience.
Black bars on the screen and less-than-maximum screen resolution
This can be caused by overscan - you can disable this feature.
Hardware acceleration
This is a separate topic, but it requires mention. As I've outlined in the dedicated guide, you need to make sure your browsers (Firefox and Chromium), as well as media players like VLC) are configured to use HW acceleration.
Network Manager does not scan and show Wireless access point
This is caused by a conflict between default WPA supplicant and Network Manager.
Final result
Behold and enjoy your elegant, slick Pi desktop.
Conclusion
That was long, initially frustrating, but in the end quite satisfying. What I've done is a hefty part of the visual uplifting that some distributions do when they go about transforming the bland, stock look & feel of different desktop environments, in order to make them more presentable to the general populace. Alas, in 2020, just like 1995, having a beautiful Linux desktop is not a given in most cases. And there's really no reason why Raspberry Pi OS running MATE should be so meh when you first launch it.
But that's something I can't solve. What I can do - and I did - is a bunch of technical solutions. We covered software, changing the default theme, font installation and customization, application tweaks, system and application menu, video playback, browser behavior, and then some. Hopefully, this exercise will allow or even encourage you to set up your own Pi and try to use it as a daily driver. So far, cautiously, the experiment has turned mildly positive. We had a rough start, but this article clears it. Take care, and stay tuned for more.
Cheers.