Compiz and Emerald are useful tools for customizing the Linux desktop environment. Compiz provides various desktop effects and Emerald is a window decorator that enhances the appearance of application windows. CentOS 7 has a minimal desktop interface by default so installing Compiz and Emerald can greatly improve its looks and usability.
This guide will walk through installing and configuring Compiz and Emerald in CentOS 7 using the command line.
Prerequisites
CentOS 7 server with a user account that has sudo privileges
Basic command line knowledge
Step 1 – Add the ELRepo Repository
The EPEL and ELRepo repositories are needed to download Compiz and Emerald. Run these commands to enable them:
sudo yum install epel-release
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
Step 2 – Install Compiz and Emerald
Use yum to install Compiz, Emerald, and their dependencies:
sudo yum install compiz-manager compizconfig-python compiz-plugins-extra emerald libcompizconfig
Step 3 – Install Graphics Drivers
For full Compiz functionality, proprietary graphics drivers are recommended. For NVIDIA cards install:
sudo yum install kmod-nvidia
For AMD graphics install:
sudo yum install xf86-video-amdgpu
Step 4 – Create a Compiz Fusion Startup Script
To load Compiz instead of the default Mutter window manager when logging into the desktop environment, a custom session startup script is needed.
Create and open the script:
sudo nano /usr/bin/startcompiz
Paste in the following and save and close:
#!/bin/bash
# Start Compiz
compiz --replace ccp &
# Bring up Emerald theme manager
emerald --replace &
Make the script executable:
sudo chmod +x /usr/bin/startcompiz
Step 5 – Configure GUI Session
There are now two options to load the customized Compiz and Emerald session:
A) Select “Compiz” from the session menu when logging into the GUI desktop.
B) Set Compiz fusion to startup by default for GUI sessions by entering this command:
sudo nano /usr/share/xsessions/custom-compiz.desktop
Then paste this and save and close:
[Desktop Entry]
Name=Compiz
Comment=Compiz fusion session
Exec=/usr/bin/startcompiz
Type=Application
Now Compiz and Emerald will be loaded by default on GUI login instead of CentOS’s basic Mutter window manager.
Conclusion
Adding Compiz and Emerald greatly improves the look and feel of the desktop environment in CentOS 7. Customizing the extensive options in CompizConfig Settings Manager and downloading Emerald themes makes the interface much more modern and usable.
With the repositories enabled and startup scripts in place, Compiz and Emerald will seamlessly launch whenever logging into the CentOS desktop without having to manually run commands each time. The fusion of Compiz and Emerald truly enhances the basic CentOS 7 GUI to be aesthetically and functionally superior for daily use.