5

What is a command line command to toggle between the GNOME desktop dark mode and light mode?

1 Answers1

7

(Tested on Ubuntu 22.04. This works in Ubuntu's customized Gnome session and also in the vanilla Gnome session from the vanilla-gnome-desktop package.)

You can use the gsettings command in a terminal to change the value of the org.gnome.desktop.interface color-scheme setting to either prefer-dark or prefer-light:

$ gsettings set org.gnome.desktop.interface color-scheme prefer-dark
$ gsettings set org.gnome.desktop.interface color-scheme prefer-light

For legacy apps (for example: GNOME Terminal) you also need to set the org.gnome.desktop.interface gtk-theme setting to either 'Adwaita-dark' or 'Adwaita':

$ gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
$ gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'

Here's a shell script that will toggle between light mode and dark mode:

#!/usr/bin/env sh
set -euo

if test "$(gsettings get org.gnome.desktop.interface color-scheme)" = "'prefer-light'"; then gsettings set org.gnome.desktop.interface color-scheme prefer-dark gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark' else gsettings set org.gnome.desktop.interface color-scheme prefer-light gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita' fi

You can create a custom keyboard shortcut for the script in the Settings app (under KeyboardView and Customize ShortcutsCustom Shortcuts):

Creating a custom keyboard shortcut for the script

(In the screenshot I've saved the script at ~/.gsettings/toggle-light-dark-mode.sh and made it executable by running: chmod u+x ~/.gsettings/toggle-light-dark-mode.sh.)