GTK theme issue - is GTK_THEME environment no longer read?

The theming on my system has stopped working for some applications. It seems like the reason being that the environment variable, located in /etc/environment is no longer being used.

“/etc/environment”:
GTK_THEME=Arc-Dark

Previously, it is this way I have been theming applications like pamac, mousepad and firefox (as described here: How to update the theme for Manjaro i3?).

Now, using cli, I can set $ export GTK_THEME=Arc-Dark manually, before opening these applications, and all is good. However, if I start the applications from outside cli, for example via dmenu, the theme is not applied.

Does anyone have any ideas what might be wrong here?

Starting pamac-manager from dmenu, the GTK_THEME value is not used:

Starting pamac-manager from cli, the GTK_THEME value is correctly used:

You kind of answered to your own question there … simply make the

to be

in

or in /etc/profile or one of the files, or new one in /etc/profile.d/

1 Like

Thanks, @bogdancovaciu. I didn’t think you had to use export in /etc/environment. As well, it worked without earlier. However, I will try this and report back later on.

No, /etc/environment doesn’t need export so the problem is somewhere else…

Please guys, don’t get bugged about doesn’t need … How many things you don’t need yet you can have them, and of course, ideally, are not deleterious? :stuck_out_tongue_closed_eyes:

Something else might be in home .profile or .bash_profile, and by mentioning to try that export on other posible places could revel something, reason why i mentioned them

and since in current state is not working, you should focus there, not on my not needed export … :rofl:

Thanks, @LordTermor and @bogdancovaciu. Appreciate the feedback. I’ve still not figured out what is happening. Below is the content from the different mentioned files and directories. Maybe something is overriding the value set in /etc/environment, but can’t see what is doing that. Since I can’t see someone else having this issue, it seems to be a system specific issue.

$ less /etc/environment

#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
SPIDEROAKONEDATADIR=/media/drive3/cache/spiderOakOne
GTK_THEME=Arc-Dark
NNN_OPENER=xdg-open
NNN_PLUG='d:dragdrop;f:finder;j:autojump;o:organize;u:dups;x:_trash-put $nnn*'
NNN_TRASH=1

$ grep -i ‘GTK_THEME’ /etc/profile.d/*
>> returns no result

$ ls -al /etc/profile.d

total 60
drwxr-xr-x   2 root root  4096 Apr 16 07:25 .
drwxr-xr-x 107 root root 12288 May 10 16:48 ..
-rw-r--r--   1 root root   545 Mar 31 22:24 freetype2.sh
-rw-r--r--   1 root root  1107 Oct 29  2021 gawk.csh
-rw-r--r--   1 root root   757 Oct 29  2021 gawk.sh
-rw-r--r--   1 root root   105 Aug 31  2021 gpm.sh
-rw-r--r--   1 root root    37 Dec 18 14:21 home-local-bin.sh
-rw-r--r--   1 root root   191 Mar 31 14:37 libreoffice-fresh.csh
-rw-r--r--   1 root root   191 Mar 31 14:37 libreoffice-fresh.sh
-rw-r--r--   1 root root   766 Dec 18 14:21 locale.sh
-rw-r--r--   1 root root   468 Mar 27 09:11 perlbin.csh
-rw-r--r--   1 root root   464 Mar 27 09:11 perlbin.sh

$ less /etc/profile

# /etc/profile

# Set our umask
umask 022

# Append "$1" to $PATH when not already in.
# This function API is accessible to scripts in /etc/profile.d
append_path () {
    case ":$PATH:" in
        *:"$1":*)
            ;;
        *)
            PATH="${PATH:+$PATH:}$1"
    esac
}

# Append our default paths
append_path '/usr/local/sbin'
append_path '/usr/local/bin'
append_path '/usr/bin'

# Force PATH to be environment
export PATH

# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
        for profile in /etc/profile.d/*.sh; do
                test -r "$profile" && . "$profile"
        done
        unset profile
fi

# Unload our profile API functions
unset -f append_path

# Source global bash config, when interactive but not posix or sh mode
if test "$BASH" &&\
   test "$PS1" &&\
   test -z "$POSIXLY_CORRECT" &&\
   test "${0#-}" != sh &&\
   test -r /etc/bash.bashrc
then
        . /etc/bash.bashrc
fi

# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP

# Man is much better than us at figuring this out
unset MANPATH

$ less ~/.profile

export QT_QPA_PLATFORMTHEME="qt5ct"
export EDITOR=/usr/bin/nano
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
# fix "xdg-open fork-bomb" export your preferred browser from here
export BROWSER=/usr/bin/firefox

less ~/.bash_profile

#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && . ~/.bashrc