Pantheon Desktop on Fedora 35
Surf City, NC
I recently wrote about how I started using ElementaryOS 6 on my work computers. While I love using elementaryOS, one thing I mentioned in that post still holds true: right now, my ideal Linux setup would be the ElementaryOS UI/UX, but on top of a Fedora base. So, this month I set out to achieve just that.
Background
The more I used ElementaryOS for work, the more my desire to have a Fedora base grew. This was especially true for my laptop, as earlier this year I choose the portable option for my laptop refresh. By itself, it is fine. However, it is annoying to partition the laptop’s limited resources for a fedora VM. Running Fedora as the host OS (instead of Elementary) would make it easier when I only have my laptop available (in the office, for example).
But… I still love the pantheon desktop environment. It’s clean, looks great, and has wonderful support for global font-scaling (which is the best option I’ve found for using a 4k monitor with ‘fractional scaling’ on Linux).
I remembered there being a pantheon desktop group in the dnf group list
options a bit back, but there isn’t a dedicated Fedora
Spin for pantheon. So, here’s how I cobbled
together my own solution.
Installing Pantheon Desktop Environment
First, I used dnf
to install the Pantheon Desktop
package group:
sudo dnf group install `Pantheon Desktop`
That simple step took care of most of what I needed. After installing the group, you should be able to reboot, and select the pantheon desktop environment at the login screen.
Swapping gdm with lightdm
Speaking of the login screen…
After installing pantheon, I wanted to take an additional step of switching the
display manager (the login screen). Specifically, I swapped gnome’s gdm
for
lightdm
, the display manager that elementaryOS uses. To do this, I first made
sure lightdm
was installed:
sudo dnf install lightdm
Then, I disabled gdm
and enabled lightdm
:
sudo systemctl disable gdm
sudo systemctl enable lightdm
After rebooting, I as greeted with a lightdm login window, with the same layout and theming I had on elementaryOS!
Building additional packages
As I started working in pantheon on Fedora, I did notice that there seemed to be a few things were still missing…
Pantheon-Tweaks
First, I wanted to install
pantheon-tweaks. Like the
‘Tweaks’ tool for Gnome, this adds a few more settings to further customize
pantheon. However, pantheon-tweaks
doesn’t appear to be in the Fedora repos,
and I could only find deb
builds of it. So, I built it from source.
First, I downloaded the source code and entered the directory:
git clone https://github.com/pantheon-tweaks/pantheon-tweaks.git
cd pantheon-tweaks
Next, I determined what the required build dependencies were (and named), when building in Fedora. After some sleuthing, I had the list figured out:
sudo dnf install cmake vala ninja-build meson switchboard-libs switchboard-devel switchboard-plug-a11y granite-devel
With all the dependencies installed, I was ready to run the build and install commands:
meson build --prefix=/usr
cd build
ninja
ninja install
After that, I had the Tweaks
page available in the system settings.
Universal Access Settings in Wingpanel
Next, I wanted to flip the switch to show the Universal Access settings in
the top panel. However, every time I clicked on the Universal Access settings
tab, my settings app crashed! By launching the settings application from the
command line (io.elementary.switchboard
), I was able to observe it was
crashing because wingpanel-idicator-a11y
wasn’t installed. So, I
found that on Github
(I love open source!), and prepared to build it:
git clone https://github.com/elementary/wingpanel-indicator-a11y.git
cd wingpanel-indicator-a11y
In addition to the build dependencies I had already installed for
pantheon-teaks
, I also needed to install the wingpanel libraries:
sudo dnf install wingpanel-devel
Then, I was able to build and install, just like before:
meson build --prefix=/usr
cd build
ninja
sudo ninja install
Once installed, I could view the Universal Access settings, and even enable the dropdown setting in the top panel! (which I use to quickly change my font scaling)
Concerns
So far, this setup has worked surprisingly well. However, I do have one main concern about the viability of using this long-term…
Will this continue to work? If so, how much of a pain will it be to maintain? I had to build some packages from source, and while I can pull the latest and rebuild, I worry that they might have version compatibility problems with the packages I’m able to pull from the repos, which would be an undesired headache.
I would love to see a team in Fedora grow to make this an official and maintained spin. I saw that there is a pantheon sig, but I’m not sure how current or active it is…
Conclusion
Thus far, pantheon on Fedora 35 has worked fine. I’m going to try to keep using it over the next few weeks, and keep an eye on it. In the best case scenario, maybe it will be an offical spin one day. At the very least… I hope my cobbled together version stays stable enough for me to continue using!
Traded in my M1 MacBook Air for the 14" MacBook Pro Bitwarden CLI