I'm new to both zsh and askubuntu, so please be gentle. :)

I'm going through this tutorial and have gotten stuck on the section "Changing Oh-My-ZSH Theme". I can apply the theme by editing my .zshrc and changing ZSH_THEME to my desired theme (wuffers), and some things change, like what shows up as soon as I create a new terminal (the first line, not sure what it's called). The little arrow will change to a smiley face, or some other little symbol. But the colors, background, and font never change, so when I "ls", the font and color is the same every time. I've checked via "echo $ZSH_THEME", and that gives me back what I applied (wuffers).

Here is a list of everything that I've tried:

  • Sourcing my .zshrc file
  • Setting theme to random and trying out several in a row to see if wuffers in particular is funky (which it wasn't isolated, it happened for every theme I tried)
  • Removing my extra syntax highlighting plugin at the end of the file
  • Completely wiping out my .zshrc file and starting from scratch

I found this issue on the GitHub page where it seems their issue was solved, but I'm not sure what exactly they meant by package ("apt-get remove grml-zsh-config"?). So it very well may be the answer to my problem.

I'm running up-to-date Ubuntu 18.04.2.

The only plugin I have right now is git (and I've tried removing it to see if it made any difference - it didn't).

Here is my .zshrc file:

# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH="/home/legate/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.

# Uncomment the following line to disable bi-weekly auto-update checks.

# Uncomment the following line to automatically update without prompting.

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line if pasting URLs and other text is messed up.

# Uncomment the following line to disable colors in ls.

# Uncomment the following line to disable auto-setting terminal title.

# Uncomment the following line to enable command auto-correction.

# Uncomment the following line to display red dots whilst waiting for completion.

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Any help would be greatly appreciated!

  • Did you change your default terminal from gnome to zsh?
    – Hofbr
    Dec 13, 2022 at 0:17

1 Answer 1


I think the colour and font are determined by the terminal emulator itself and not the shell.

For example, in terminal for mac, the colours are set using another set of theme files as shown here - https://apple.stackexchange.com/questions/313132/how-can-i-change-my-font-and-coloring-in-oh-my-zsh-to-match-a-theme-i-want . Assuming you are using gnome terminal you should use https://github.com/Mayccoll/Gogh to change colors and fonts etc.

As you can see here https://github.com/robbyrussell/oh-my-zsh/blob/master/themes/wuffers.zsh-theme , the theme definition just modifies the shell prompt (thats what the line is called). The terms 'green', 'blue', 'red' etc are interpreted by gnome terminal. Through the profiles you can define green as black, blue as white etc.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .