25

I know how to set and display most themes, however I can find anything about how to turn the Global Dark Theme on and off through Terminal, I can only find the option in the gnome-tweak-tool. So is there not a way to turn it on and off through Terminal? I am running Ubuntu GNOME 15.10 with GNOME 3.18.

2 Answers2

20

For modern Gnome desktops:

  • Tested: Ubuntu 18.04, 20.04; Fedora 27, 32, 36 enter image description here

Default dark mode:

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

Fedora 36 and above, and Ubuntu 23.04

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

Default light mode:

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

Fedora 36 and above, and Ubuntu 23.04

gsettings set org.gnome.desktop.interface color-scheme 'default'

Getting a list of available base theme names:

ls -d /usr/share/themes/* |xargs -L 1 basename

Caveats:

Ideally, a technique to invoke gnome-tweak-tool through CLI would cover most scenarios holistically. Gnome-tweak-tool is written in python3, so this should be theoretically possible to someone familiar with Python.

Fedora 36 introduced a new preference, color-scheme that is required to change theme for some apps (files, settings, software, …) and gtk-theme doesn’t work anymore for these apps.

To test at Ubuntu 23.04, launch gnome-tweaks -v (-v=Print the names of settings modified), the Style setting is not at gnome-tweaks is at Settings application, switch there and gnome-tweaks will intercept and print about org.gnome.desktop.interface color-scheme.

Sam
  • 65
  • 4
tresf
  • 922
  • Nothing "modern" here, just use Gnome's gsettings tool to edit the configuration files instead of a text editor. – oemb1905 Jun 17 '21 at 17:44
  • 1
    This worked GREAT with Firefox. I used /usr/bin/gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark' to automatically set dark mode near sunset. https://askubuntu.com/questions/742870/background-not-changing-using-gsettings-from-cron – Ray Foss Aug 07 '21 at 19:07
  • 1
    This doesn't seem to work for me using i3. I can change the theme using gsettings, but it doesn't take effect unless I restart the application in question. Any idea what I can do to fix this? Any dark/light mode managers I'm running don't work/are pointless because of this, for me. – Victor Mar 08 '22 at 15:49
  • 1
    @Victor perhaps this? https://www.reddit.com/r/i3wm/comments/kiy0v0/comment/gngcb5r/?utm_source=share&utm_medium=web2x&context=3. Just a guess though. I would strongly recommend you start a new question so that users running i3 can work together to find out a solution. – tresf Mar 09 '22 at 02:42
  • @tresf Lovely! Thanks so much, this is exactly what I needed for it to work. <3 – Victor Mar 15 '22 at 07:09
  • dconf-editor says: /org/gnome/desktop/interface/color-scheme 'prefer-dark': No schema available. A schema is what describes the use of a key, and Dconf Editor can't find one associated with this key. If the application that was using this key has been uninstalled, or if this key is obsolete, you may want to erase it. I'm on Fedora 36. – Avery Freeman May 24 '22 at 07:06
  • 1
    Follow up: I noticed this message went away when I switched from flatpak to package version of dconf-editor, even though the flatpak had access to all system libraries and gsettings-desktop-schemas is installed. But anyway, package version seems to "like" 'prefer-dark' just fine, flatpak might be working despite error message but not sure (nothing changed other than changing out flatpak for package). – Avery Freeman May 24 '22 at 07:19
  • 1
    this answer is better than the accepted one. Love it. – xdavidliu Sep 03 '22 at 21:24
20

To set the global dark theme from the command line, first navigate to a Terminal of your choice and then from within the shell emulator ...

Navigate to your home directory:

 cd ~

Create a new file called settings.ini inside of the GTK 4 directory:

 nano ~/.config/gtk-4.0/settings.ini

Enter the following fields into the configuration file:

[Settings]
gtk-application-prefer-dark-theme=1

Write the changes to disk by pressing control + x, then press y, then enter.

oemb1905
  • 356
  • 2
    I did it, but didn't work... – Guilherme Feb 24 '19 at 14:51
  • Well, you need to leave way more information than that if you want help! @Guilherme – oemb1905 Feb 24 '19 at 16:33
  • What distribution? Which release? – oemb1905 Feb 24 '19 at 16:33
  • 1
    I'm using the ubuntu 16.04.5 , I did it " nano ~/.config/gtk-3.0/settings.ini" and change to 1 and my nautilus didn't change – Guilherme Feb 24 '19 at 17:36
  • just nautilus, or everything else too? what about installing caja ... @Guilherme – oemb1905 Feb 25 '19 at 14:14
  • nothing are working... @oemb1905 – Guilherme Mar 03 '19 at 00:35
  • Hmm ... maybe check the default config for that release, possible they moved it to a .d directory or something. Still works here ;(. @Guilherme – oemb1905 Mar 10 '19 at 00:43
  • 3
    Confirmed that even on Ubuntu 18.04, ~/.config/gtk-3.0/settings.ini has no effect on "dark mode" (rebooted after change as well to restart display manager). – tresf Jun 03 '19 at 16:40
  • 1
    Gnome Tweak Tool doesn't offer this checkbox in 18.04 although switching to gsettings get org.gnome.desktop.interface gtk-theme does show the Adwaita-dark when it's been selected. Firefox, Java and most other apps switch using the Tweak Tool. Has the technique changed? – tresf Jun 03 '19 at 17:12
  • If the solution is out of date (this was response to Ubuntu 15), then post an updated solution! As for Gnome Tweak Tool - this is supposed to be a thread for doing through Terminal - not through Tweaks. @tresf – oemb1905 Jun 03 '19 at 21:21
  • 2
    @tresf's comments are useful to others (hi!) since they at least mention an alternative solution to get a dark theme on Ubuntu. In contrast, this answer isn't useful to anybody anymore, assuming nobody runs the deprecated Ubuntu 15. Please update your answer to mention that this doesn't work for Ubuntu 16.04 and above (it's a conditional subjective) – Robin Métral Apr 30 '20 at 09:57
  • @RobinMétral - the instructions are identical, except for GTK 4.0, on Ubuntu 20.04, which I am running this moment. Thanks for your comment. – oemb1905 Apr 30 '20 at 20:58
  • 1
    @RobinMétral in case the GTK version was the source of confusion, it is now changed. – oemb1905 Apr 30 '20 at 20:59
  • @RobinMétral gsettings solution provided in a separate answer, which should work on Ubuntu 18.04, 20.04. – tresf May 01 '20 at 20:23
  • Still working in 2021 – oemb1905 Oct 12 '21 at 22:08
  • 1
    it works, kind of. There is "more" dark now. But I still have the very outer frame in white. – The Fool Mar 28 '23 at 06:30