The GNOME X11 Compatibility Layer
In Ubuntu, the GNOME Settings Daemon (GSD) handles the configuration of your desktop session. One of its essential plugins is gsd-xsettings. The primary purpose of this specific daemon is to act as a bridge between the modern GNOME environment and older applications built for the X Window System (X11). It essentially translates your GNOME theme preferences (like GTK themes, icon sets, cursor sizes, and font anti-aliasing settings) into a format that legacy X11 applications can understand, ensuring that older software doesn’t look completely broken or out-of-place when running alongside modern Wayland or GTK3/GTK4 apps.
For standard desktop users, this daemon is critical for maintaining visual consistency across all installed software. However, if you are building a highly customized, ultra-minimalist Linux environment—perhaps a kiosk running a single fullscreen Wayland application, or a server where you only run containerized CLI tools and do not care if the occasional graphical X11 tool looks ugly—this daemon is unnecessary. Disabling it stops GNOME from continually syncing theme data to the X server root window.
How to Disable the Gsd-xsettings Service
Because gsd-xsettings is a plugin dynamically spawned by the GNOME Settings Daemon rather than a standalone systemd service, you cannot use systemctl to stop it. You must remove its execution privileges.
Warning: Disabling this will cause older X11 applications to ignore your system themes, resulting in default, often ugly, fallback styling.
- Open your Ubuntu Terminal.
- To disable the plugin, strip its execute permissions by running the following command:
sudo chmod -x /usr/libexec/gsd-xsettings
(Note: On older Ubuntu releases, the binary is located at /usr/lib/gnome-settings-daemon/gsd-xsettings).
- Restart your computer, or log out and log back into your session.
GNOME will no longer attempt to bridge its modern configuration settings with legacy X11 applications.